Parent #17551
Batch Branch: deps/main-batch-androidx-compose-kotlin
🚫 Blocked By:
Also, note the fact that updating AndroidX Compose Compiler will require a Kotlin update too:
- Updating
AndroidX Compose Compiler to 1.2.X requires Kotlin 1.7.0.
- Updating
AndroidX Compose Compiler to 1.3.X requires Kotlin 1.7.20.
- Updating
AndroidX Compose Compiler to 1.4.X requires Kotlin 1.8.0.
FYI: As such, both the AndroidX Compose Compiler and Kotlin update will be done in one go.
In addition to the above, with this AndroidX Compose update we will be switching to using BOM (Bill of Materials) to manage all of our AndroidX Compose library versions. This will help us:
- Avoid potential incompatibility issues as the BOM itself has links to the stable versions of the different
AndroidX Compose libraries, in such a way that they work well together.
- Stop explicitly adding any version to the
AndroidX Compose library dependencies themselves as when the BOM get configured or updated all the AndroidX Compose libraries will automatically be updated to their corresponding fully compatible versions.
FYI: As such, most probably, this AndroidX Compose update will be targeting the below change:
gradle.ext.kotlinVersion = '1.7.20' // Requires androidxComposeCompilerVersion 1.3.2
androidxComposeBomVersion = "2023.01.00" // Requires compileSdkVersion 33
androidxComposeCompilerVersion = '1.3.2' // Requires kotlinVersion 1.7.20
You will also notice that the AndroidX Compose Compiler is not included in the BOM. This is done due to that fact that the AndroidX Compose Compiler needs to be updated alongside a compatible version of Kotlin and thus it is release in a separate cadence from the rest of AndroidX Compose.
PS: WCAndroid already did a similar update via this Upgrade Kotlin version to 1.7.20 #8091 PR of theirs.
Finally, the above AndroidX Compose targeting changes are not targeting neither the latest AndroidX Compose Compiler version, the 1.4.0 version (Jan 17, 2023), nor the latest kotlin version, the 1.8.0 version (Dec 28, 2022). This is done on purpose because:
- We will be already jumping from
1.1.1 into 1.3.2, which is 2 "major" versions of AndroidX Compose Compiler. No need to jump even further, that is into 1.4.0 and 3 "major" versions of AndroidX Compose Compiler.
- We should avoid jumping from Kotlin
1.6.10 into 1.8.0, which is 2 "major" versions away. Also, there is no need in using such a recent version of Kotlin and "probably" better to wait for another minor version of Kotlin first, or just, wait a couple of month to verify 1.8.0 version's stability.
This issue is about updating all Main - AndroidX Compose related dependencies for the whole project.
This AndroidX Compose batch contains the following 3 + 1 dependencies:
PLUS:
Parent #17551
Batch Branch: deps/main-batch-androidx-compose-kotlin
🚫 Blocked By:
AndroidX Composeto1.2.XrequirescompileSdkVersion 32or above.AndroidX Composeto1.3.XrequirescompileSdkVersion 33or above.AndroidX Composeto1.4.XrequirescompileSdkVersion 33or above.AndroidX Composeto any of the currently 4 availableBOMrelated version requirescompileSdkVersion 33or above.Also, note the fact that updating
AndroidX Compose Compilerwill require aKotlinupdate too:AndroidX Compose Compilerto1.2.XrequiresKotlin 1.7.0.AndroidX Compose Compilerto1.3.XrequiresKotlin 1.7.20.AndroidX Compose Compilerto1.4.XrequiresKotlin 1.8.0.FYI: As such, both the
AndroidX Compose CompilerandKotlinupdate will be done in one go.In addition to the above, with this
AndroidX Composeupdate we will be switching to using BOM (Bill of Materials) to manage all of ourAndroidX Composelibrary versions. This will help us:AndroidX Composelibraries, in such a way that they work well together.AndroidX Composelibrary dependencies themselves as when the BOM get configured or updated all theAndroidX Composelibraries will automatically be updated to their corresponding fully compatible versions.FYI: As such, most probably, this
AndroidX Composeupdate will be targeting the below change:gradle.ext.kotlinVersion = '1.7.20' // Requires androidxComposeCompilerVersion 1.3.2androidxComposeBomVersion = "2023.01.00" // Requires compileSdkVersion 33androidxComposeCompilerVersion = '1.3.2' // Requires kotlinVersion 1.7.20You will also notice that the
AndroidX Compose Compileris not included in the BOM. This is done due to that fact that theAndroidX Compose Compilerneeds to be updated alongside a compatible version of Kotlin and thus it is release in a separate cadence from the rest ofAndroidX Compose.PS: WCAndroid already did a similar update via this Upgrade Kotlin version to 1.7.20 #8091 PR of theirs.
Finally, the above
AndroidX Composetargeting changes are not targeting neither the latest AndroidX Compose Compiler version, the 1.4.0 version (Jan 17, 2023), nor the latest kotlin version, the 1.8.0 version (Dec 28, 2022). This is done on purpose because:1.1.1into1.3.2, which is 2 "major" versions ofAndroidX Compose Compiler. No need to jump even further, that is into1.4.0and 3 "major" versions ofAndroidX Compose Compiler.1.6.10into1.8.0, which is 2 "major" versions away. Also, there is no need in using such a recent version of Kotlin and "probably" better to wait for another minor version of Kotlin first, or just, wait a couple of month to verify1.8.0version's stability.This issue is about updating all
Main - AndroidX Composerelated dependencies for the whole project.This
AndroidX Composebatch contains the following3+1dependencies:kotlinVersion = '1.6.10'(see releases) -> [Dependency Updates] UpdateandroidxComposeCompilerVersionandkotlinVersionto 1.3.2 and 1.7.20 #18303 -> [Dependency Updates] UpdateandroidxComposeCompilerVersionandkotlinVersionto 1.4.6 and 1.8.20 #18338 -> [Dependency Updates] AndroidX Compose/Kotlin (Final Tweaks) #18379 -> commitandroidxComposeCompilerVersion=1.1.1(see releases) -> [Dependency Updates] UpdateandroidxComposeCompilerVersionandkotlinVersionto 1.3.2 and 1.7.20 #18303 -> [Dependency Updates] UpdateandroidxComposeCompilerVersionandkotlinVersionto 1.4.6 and 1.8.20 #18338 -> [Dependency Updates] AndroidX Compose/Kotlin (Final Tweaks) #18379 -> commitandroidxComposeVersion = '1.1.1'(see releases + comment) -> [Dependency Updates] Add and UpdateandroidxComposeBomVersionto 2023.01.00 #18319 > [Dependency Updates] UpdateandroidxComposeBomVersionto 2023.05.00 #18378androidxComposeLifecycleVersion = '2.4.1'(see releases) -> CommentcoilComposeVersion = '1.4.0'(see releases) -> [Dependency Updates] UpdatecoilComposeVersionto 2.2.2 #18326 -> [Dependency Updates] AndroidX Compose/Kotlin (Final Tweaks) #18379 -> commitPLUS:
androidxRecyclerviewVersion = '1.2.1'-> (see releases) -> Related Comment -> [Dependency Updates] UpdateandroidxRecyclerviewVersionto 1.3.0 #18330daggerVersion = '2.42'-> (see releases) -> Related Comment -> [Dependency Updates] UpdatedaggerVersionto 2.45 #18336 -> [Dependency Updates] AndroidX Compose/Kotlin (Final Tweaks) #18379 -> commitAndroidX Corelibraries -> Related Comment -> [Dependency Updates] Main Batch - AndroidX Core (V2) #18366