-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Description
Parent #17551
Batch Branch: deps/main-batch-androidx-compose-kotlin
🚫 Blocked By:
- Update "compileSdk" to 33 #17790 (for more info see below): Cc @irfano
- Updating
AndroidX Composeto1.2.XrequirescompileSdkVersion 32or above. - Updating
AndroidX Composeto1.3.XrequirescompileSdkVersion 33or above. - Updating
AndroidX Composeto1.4.XrequirescompileSdkVersion 33or above. - Updating
AndroidX Composeto any of the currently 4 availableBOMrelated version requirescompileSdkVersion 33or above.
- Updating
Also, note the fact that updating AndroidX Compose Compiler will require a Kotlin update too:
- Updating
AndroidX Compose Compilerto1.2.XrequiresKotlin 1.7.0. - Updating
AndroidX Compose Compilerto1.3.XrequiresKotlin 1.7.20. - Updating
AndroidX Compose Compilerto1.4.XrequiresKotlin 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 Composelibraries, in such a way that they work well together. - Stop explicitly adding any version to the
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 Compose update 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.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.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. - We should avoid jumping from Kotlin
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 Compose related dependencies for the whole project.
This AndroidX Compose batch contains the following 3 + 1 dependencies:
-
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 -> commit -
androidxComposeCompilerVersion=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 -> commit -
androidxComposeVersion = '1.1.1'(see releases + comment) -> [Dependency Updates] Add and UpdateandroidxComposeBomVersionto 2023.01.00 #18319 > [Dependency Updates] UpdateandroidxComposeBomVersionto 2023.05.00 #18378 -
androidxComposeLifecycleVersion = '2.4.1'(see releases) -> Comment -
coilComposeVersion = '1.4.0'(see releases) -> [Dependency Updates] UpdatecoilComposeVersionto 2.2.2 #18326 -> [Dependency Updates] AndroidX Compose/Kotlin (Final Tweaks) #18379 -> commit
PLUS:
-
androidxRecyclerviewVersion = '1.2.1'-> (see releases) -> Related Comment -> [Dependency Updates] UpdateandroidxRecyclerviewVersionto 1.3.0 #18330 -
daggerVersion = '2.42'-> (see releases) -> Related Comment -> [Dependency Updates] UpdatedaggerVersionto 2.45 #18336 -> [Dependency Updates] AndroidX Compose/Kotlin (Final Tweaks) #18379 -> commit - All
AndroidX Corelibraries -> Related Comment -> [Dependency Updates] Main Batch - AndroidX Core (V2) #18366