-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Dependency Updates - Main Batch - AndroidX Compose/Kotlin #17563
Comments
Generated by 🚫 dangerJS |
❗ The |
❗ The |
✅ The PS: The |
👋 @ovitrif ! Since you are closely involved with 🙇 🙏 |
Look at that, just an hour ago we got the newest "minor" version of Kotlin, the 1.8.1 version, I should have talked about that million of euros that I am unexpectedly expecting for everyone, oh come on! 😝 |
👋 @ParaskP7 Thank you for the ping 🙇! I've checked the description and confirm everything you written makes sense to me 💯 👍 I fully support the plan to rely on Compose Bill of Materials (BOM) for handling the compose library versions once the |
Coolio! 🥇
Thank you so much for the confirmation on this change @ovitrif , much appreciated! 🙇
😅 ⚔️ 😅 |
@ParaskP7 👋 Recommended configuration override for Compose// WordPress/src/main/java/org/wordpress/android/ui/sitecreation/domains/SiteCreationDomainsAdapter.kt
@Suppress("ForbiddenComment")
override fun onViewRecycled(holder: SiteCreationDomainViewHolder<*>) {
if (holder is DomainComposeItemViewHolder) {
// TODO: Remove this for Compose 1.2.0-beta02+ and RecyclerView 1.3.0-alpha02+
holder.composeView.disposeComposition()
}
super.onViewRecycled(holder)
}
// WordPress/src/main/java/org/wordpress/android/ui/sitecreation/domains/SiteCreationDomainViewHolder.kt
// TODO: Remove this for Compose 1.2.0-beta02+ and RecyclerView 1.3.0-alpha02+
setViewCompositionStrategy(DisposeOnViewTreeLifecycleDestroyed) As mentioned in the code comments, this manual configuration should be removed after we upgrade to:
The two provide out-of-the-box a better performing solution. Without removing the manual configuration, the native solution is overridden and not applied. P.S. The Footnotes |
Good news, #17790 has been merged and we are now able to progress with this VERY important update, thanks Irfan! 🎉 Bad news (kind of), I have shifted my focus on #18142 and thus stopped any progress on #17551 (at least for now). I'll (potentially) resume my work on the remaining dependency updates, but I can't be (totally) sure on that ( Suggestion (💡): I would recommend you picking-up this update yourself, sooner than later (just like WCAndroid did), and not having me block you on that unnecessarily and for longer than needed. |
Thanks @ParaskP7 🙇🏻 🏅 !! I have assigned myself and will try to add progressing on this to my near-future daily plans 👍🏻 |
❤️ x ❤️ x ❤️ = @ovitrif |
👋 @ovitrif !
I have good news for you, effectively today I am resuming work on this dependency updates project (see To my undestanding, you haven't started working on this update yet, isn't that right? Let me know in case you've actually started already so that we avoid doing any duplicate work on that. 🙏 |
@ParaskP7 Unfortunately between feature work, actively contributing to the internal discussions, delegating to enthusiastic folks the task of driving our other initiatives forward, and feeding the AI FOMO beast in me, I didn't find the time to progress on this very valuable and highly impactful work 😢 . Feel free to go forward from where you left, if you want to delegate smaller tasks to me, I can help with anything you feel I can, reviews, implementation, etc 🙇🏻 ! |
Coolio, thanks for the reply @ovitrif ! 🙏 FYI: I didn't expect too much on this as I know you were/are too busy on all other fronts, I just wanted to make sure that I am not stepping toes, and thus, thanks for the clarification here, which is that I have the 🟢 light to progress with this update! 🥇 🙇 💯
Much appreciated, will do, do expect a code review your way as soon as I am done with this update... I know how enthusiastic you are about new versions of Kotlin and Compose! 😄 😅 😄 |
Thank you @ParaskP7! Eager to see it coming 🙋🏻♂️!
Always ❤️ 🎉 ! |
FYI: As part of updating Unsupported Metadata Version
As such, |
FYI: As part of updating
In addition to the
As such, in order to update In addition to the above
Having analysed the above, it seems logical (safer) to first update all those As such, I'll now proceed with the above plan, start work and open a new |
Parent #17551
Batch Branch: deps/main-batch-androidx-compose-kotlin
🚫 Blocked By:
AndroidX Compose
to1.2.X
requirescompileSdkVersion 32
or above.AndroidX Compose
to1.3.X
requirescompileSdkVersion 33
or above.AndroidX Compose
to1.4.X
requirescompileSdkVersion 33
or above.AndroidX Compose
to any of the currently 4 availableBOM
related version requirescompileSdkVersion 33
or above.Also, note the fact that updating
AndroidX Compose Compiler
will require aKotlin
update too:AndroidX Compose Compiler
to1.2.X
requiresKotlin 1.7.0
.AndroidX Compose Compiler
to1.3.X
requiresKotlin 1.7.20
.AndroidX Compose Compiler
to1.4.X
requiresKotlin 1.8.0
.FYI: As such, both the
AndroidX Compose Compiler
andKotlin
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 ourAndroidX Compose
library versions. This will help us:AndroidX Compose
libraries, in such a way that they work well together.AndroidX Compose
library dependencies themselves as when the BOM get configured or updated all theAndroidX 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 theAndroidX Compose Compiler
needs 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 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:1.1.1
into1.3.2
, which is 2 "major" versions ofAndroidX Compose Compiler
. No need to jump even further, that is into1.4.0
and 3 "major" versions ofAndroidX Compose Compiler
.1.6.10
into1.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.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 following3
+1
dependencies:kotlinVersion = '1.6.10'
(see releases) -> [Dependency Updates] UpdateandroidxComposeCompilerVersion
andkotlinVersion
to 1.3.2 and 1.7.20 #18303 -> [Dependency Updates] UpdateandroidxComposeCompilerVersion
andkotlinVersion
to 1.4.6 and 1.8.20 #18338 -> [Dependency Updates] AndroidX Compose/Kotlin (Final Tweaks) #18379 -> commitandroidxComposeCompilerVersion
=1.1.1
(see releases) -> [Dependency Updates] UpdateandroidxComposeCompilerVersion
andkotlinVersion
to 1.3.2 and 1.7.20 #18303 -> [Dependency Updates] UpdateandroidxComposeCompilerVersion
andkotlinVersion
to 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 UpdateandroidxComposeBomVersion
to 2023.01.00 #18319 > [Dependency Updates] UpdateandroidxComposeBomVersion
to 2023.05.00 #18378androidxComposeLifecycleVersion = '2.4.1'
(see releases) -> CommentcoilComposeVersion = '1.4.0'
(see releases) -> [Dependency Updates] UpdatecoilComposeVersion
to 2.2.2 #18326 -> [Dependency Updates] AndroidX Compose/Kotlin (Final Tweaks) #18379 -> commitPLUS:
androidxRecyclerviewVersion = '1.2.1'
-> (see releases) -> Related Comment -> [Dependency Updates] UpdateandroidxRecyclerviewVersion
to 1.3.0 #18330daggerVersion = '2.42'
-> (see releases) -> Related Comment -> [Dependency Updates] UpdatedaggerVersion
to 2.45 #18336 -> [Dependency Updates] AndroidX Compose/Kotlin (Final Tweaks) #18379 -> commitAndroidX Core
libraries -> Related Comment -> [Dependency Updates] Main Batch - AndroidX Core (V2) #18366The text was updated successfully, but these errors were encountered: