Status Update
Comments
il...@google.com <il...@google.com>
ap...@google.com <ap...@google.com> #2
co...@protonmail.com <co...@protonmail.com> #3
This will not make it to Alpha. The CL itself is done but the issues it uncovered will not be fixed in time.
jb...@google.com <jb...@google.com> #4
co...@protonmail.com <co...@protonmail.com> #5
Branch: androidx-master-dev
commit 2d11462d2cfa01b28cc4d93fce12c244c774e51c
Author: Chuck Jazdzewski <chuckj@google.com>
Date: Tue Aug 18 14:33:35 2020
Fix placing source information into groups
When removing $key surfaced an issue where inserting source
information might incorrectly insert groups.
BUG: 158123185
Test: ControlFlowTransformTests, ./gradlew :c:c-c-h:i:tDUT
Change-Id: I11c0f01596352e8fa9c64aee4178886122d26cb5
M compose/compose-compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/ComposerParamTransformTests.kt
M compose/compose-compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/ControlFlowTransformTests.kt
M compose/compose-compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/ComposableFunctionBodyTransformer.kt
M ui/ui-tooling/src/androidTest/java/androidx/ui/tooling/ComposeViewAdapterTest.kt
M ui/ui-tooling/src/main/java/androidx/ui/tooling/preview/ComposeViewAdapter.kt
co...@protonmail.com <co...@protonmail.com> #6
Branch: androidx-master-dev
commit 1d8872cf4f7aad93ede3277bb1627bfab188c113
Author: Chuck Jazdzewski <chuckj@google.com>
Date: Thu Jul 30 13:37:18 2020
Remove the `$key` parameter from the compose ABI
This change removes the `$key` parameter as the `$key`
parameter is no longer necessary due to a change in how
source information is collected.
Also this change makes the compiler tests less noisy and
modified the restart alloaiton tracking to account for the
allocation of a source information string.
Fixes:
Test: updated tests to pass with compiler changes
Relnote: """The calling convention for composable functions has
changed. This is a binary breaking change. All libraries must be
recompiled to work with this version of the compose compiler plugin.
This change does not create a source level breaking change as the
only APIs that have changed are compiler APIs that have an explicit
opt in.
"""
Change-Id: I7afd2d7b19652ec92b8d6d1d1e92f0745968aa66
M compose/compose-compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/AbstractCodegenSignatureTest.kt
M compose/compose-compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/AbstractIrTransformTest.kt
M compose/compose-compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/AbstractLoweringTests.kt
M compose/compose-compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/ComposeMultiPlatformTests.kt
M compose/compose-compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/ComposerParamSignatureTests.kt
M compose/compose-compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/ComposerParamTransformTests.kt
M compose/compose-compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/ControlFlowTransformTests.kt
M compose/compose-compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/ControlFlowTransformTestsNoSource.kt
M compose/compose-compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/DefaultParamTransformTests.kt
M compose/compose-compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/FunctionBodySkippingTransformTests.kt
M compose/compose-compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/KtxCrossModuleTests.kt
M compose/compose-compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/LambdaMemoizationTests.kt
M compose/compose-compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/LambdaMemoizationTransformTests.kt
M compose/compose-compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/LiveLiteralCodegenTests.kt
M compose/compose-compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/RememberIntrinsicTransformTests.kt
M compose/compose-compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/RobolectricComposeTester.kt
M compose/compose-compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/KtxNameConventions.kt
M compose/compose-compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/ComposableFunctionBodyTransformer.kt
M compose/compose-compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/ComposableTypeRemapper.kt
M compose/compose-compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/ComposerIntrinsicTransformer.kt
M compose/compose-compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/ComposerLambdaMemoization.kt
M compose/compose-compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/ComposerParamTransformer.kt
M compose/runtime/runtime/api/current.txt
M compose/runtime/runtime/api/public_plus_experimental_current.txt
M compose/runtime/runtime/api/restricted_current.txt
M compose/runtime/runtime/src/androidAndroidTest/kotlin/androidx/compose/runtime/RestartTests.kt
M compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/Composer.kt
M compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/internal/ComposableLambda.kt
M compose/runtime/runtime/src/jvmMain/kotlin/androidx/compose/runtime/internal/ComposableLambdaN.kt
M compose/runtime/runtime/src/test/kotlin/androidx/compose/runtime/mock/ViewApplier.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/ComposedModifier.kt
M compose/ui/ui/src/test/kotlin/androidx/compose/ui/ComposedModifierTest.kt
M ui/ui-tooling/src/androidTest/java/androidx/ui/tooling/BoundsTest.kt
M ui/ui-tooling/src/androidTest/java/androidx/ui/tooling/InspectableTests.kt
M ui/ui-tooling/src/androidTest/java/androidx/ui/tooling/inspector/InlineClassConverterTest.kt
M ui/ui-tooling/src/main/java/androidx/ui/tooling/preview/PreviewUtils.kt
jb...@google.com <jb...@google.com> #7
Generally, if possible, you should keep your safe args and other nav dependencies in sync just in case there are dependent changes in either module.
But for that particular build ID, this is the only difference between 2.4.0-rc01
and 2.5.0
so if you wanted to keep it as is, there should not be any issues.
jb...@google.com <jb...@google.com>
ma...@deutschebahn.com <ma...@deutschebahn.com> #9
Really? Releasing AGP without being sure home-made libraries are working? ... next this seems to break androidx.core dependency Compiler stops with
public class MyActivity extends AppCompatActivity {
^
class file for androidx.core.content.OnConfigurationChangedProvider not found
because of other changes in androidx.navigation:2.5.0-alpha01 ?!
#madeMyDay ;(
jb...@google.com <jb...@google.com> #11
Please file an issue with a minimal sample project against the
ma...@deutschebahn.com <ma...@deutschebahn.com> #12
might you have unintentionally updated your navigation dependencies
yes, typically I update the nav_version field as proposed documented
I updated AGP from 7.0(.3) to 7.1.0 which forced me to then update navigation stack including safeargs (to 2.5.0alpha01) - you know why, and anyhow I updated updated kotlin from 1.5.30 to 1.6.10 - because this changed too in new AGP databinding deps - before or after, I ran into this compiler mess someone (and I doubt it is the new safeargs) somehow looks for the OnConfigurationChangeProvider which is not released with 2.4.0
It would be more helpful to me if s.o. can validate (or INvalidate) if safeArgs has it's finger in fire or somehow it's transitive dependencies.. yes, perhaps safeargs is not the guilty one in this case just the one I can blame on to be in the front row today. Sorry for that
Feedback you might take with to your next teams of teams: main purpose of this rant is to document the pain your uncoordinated releases in the androidx universe causes in the real world aside some unrealistic, "minimal sample projects" noone has the time to provide. Why don't you provide - "Eat your own dogfood" - US some sample projects that integrate all androidx components without dep problems on an active stable AGP and IntelliJ/Studio on a regular schedule when some androidx team releases a new version. Sounds unrealistic? - so it is to us! The more components your teams release with each transitive-cross dependencies, it's unlikely up to impossible to do regular project maintenance without spending nightmare hours in dependency management!
do...@gmail.com <do...@gmail.com> #13
^
class file for androidx.core.content.OnConfigurationChangedProvider not found
got the same error as you, i tried upgrading agp to 7.1 but it doesn't seem to work
jb...@google.com <jb...@google.com> #14
Navigation 2.5.0
depends on the newest Activity, which depends on the newest core version were those APIs exist.
If you don't wish to upgrade your core version, you can use the Navigation 2.4.1
release which fixes this bug directly without any other included changes.
Description
Component used: Navigation/SafeArgs Kotlin Version used:
2.4.0-rc01
AGP:7.1.0-rc01
Kotlin:1.6.10
When calling
gw :app:assembleDebug
I see the following error (plus stacktrace):Here's my plugins block in
app/b.g.kts
:Obviously the error message is incorrect -- KGP is invoked right there at the top 🤔
Happy to provide more info (Gradle Scan, other repo info) privately; just ping me!