-
Notifications
You must be signed in to change notification settings - Fork 103
switch to custom compose compiler due to CMP-7505 #2290
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
switch to custom compose compiler due to CMP-7505 #2290
Conversation
|
|
apidump update
| ModalWideNavigationRailProperties() | ||
|
|
||
| @OptIn(ExperimentalComposeUiApi::class) | ||
| @ExperimentalMaterial3ExpressiveApi |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why is it required? It's just about fixing a warning? Can we just ignore it and revert unrelated changes?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
seems like it leaks via expect/actuals to all those functions on other platforms. that results in inability to use those functions because they all "poisoned" with @ExperimentalMaterial3ExpressiveApi and that marker is internal
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why did it work before?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it was marked with @ExperimentalMaterial3ExpressiveApi on all targets so it required OptIn to work. now markers are gone everywhere except for skiko. but their presence here seems to be leaking to expect declarations so it is effectively marked ExperimentalMaterial3ExpressiveApi everywhere and that annotation is internal now
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm aware of the changes in material3 and this annotation, I don't get why it break things only with updated compiler plugin?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
with old compiler plugin it is not possible to use this api either
buildSrc/private/src/main/kotlin/androidx/build/AndroidXComposeImplPlugin.kt
Show resolved
Hide resolved
|
|
||
| // Create configuration that we'll use to load Compose compiler plugin | ||
| val configuration = project.configurations.create(COMPILER_PLUGIN_CONFIGURATION) | ||
| // Add Compose compiler plugin to kotlinPlugin configuration, making sure it works |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
release/ 1.9
Why we don't merge to jb-main first? Seems we have issues there as well? If so, better to merge to jb-main first and then cherry-pick, to avoid deviations (including the API changes). It shouldn't interfere with our future proper Kotlin update.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
created new mr to jb-main: #2293
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I thought that in jb-main we should just switch to Kotlin 2.2 where it's fixed
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
there is a gap between that. better to not have deviations in this gap
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
and k2.2.20 (where that gonna be fixed) is not published yet (RC expected soon)
buildSrc/private/src/main/kotlin/androidx/build/AndroidXComposeImplPlugin.kt
Show resolved
Hide resolved
|
closed in favor of #2293 |
Fixes CMP-7505
Testing
manual testing + test in compose compiler tests
This should be tested by QA
Release Notes
N/A