-
Notifications
You must be signed in to change notification settings - Fork 64
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
RUM-7005: updating dependencies, adjusting detekt rules, fix tests #2463
RUM-7005: updating dependencies, adjusting detekt rules, fix tests #2463
Conversation
.../main/kotlin/com/datadog/android/rum/internal/tracking/AndroidXFragmentLifecycleCallbacks.kt
Show resolved
Hide resolved
ab4b2bc
to
474a55b
Compare
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.
Note
Nice work, one question I have is, do we need to upgrade other AndroidX dependencies?
As a rule of thumb, I'd suggest upgrading our dependencies to the other AndroidX dependencies to versions released around the same time as 2.7.7
(i.e.: February 2024).
.../main/kotlin/com/datadog/android/rum/internal/tracking/AndroidXFragmentLifecycleCallbacks.kt
Show resolved
Hide resolved
97e5164
to
c308ec1
Compare
I've updated rest of the android libs to be aligned to the navigation. navigation lib upgraded to 2.8.0 as it contains few leaks fixes |
org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.1 : 20 Kb | ||
org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.7.1 : 1512 Kb |
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.
what brings this to the list? lifecycle
libs 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.
Answered above, many of androidx libs depends on that
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.
looks like it is coming from work-runtime
update originally in the core
module?
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.
not only work-runtime
, but also some of the androidx libs as well. As described below, seems like I found combination of libs that not brings coroutines as a dependency. But in a future updates they will be added anyway
features/dd-sdk-android-session-replay-compose/transitiveDependencies
Outdated
Show resolved
Hide resolved
25d5cab
to
8ef274c
Compare
androidx.lifecycle:lifecycle-livedata-core:2.5.1 : 9 Kb | ||
androidx.lifecycle:lifecycle-livedata:2.5.1 : 11 Kb | ||
androidx.startup:startup-runtime:1.1.1 : 18 Kb | ||
androidx.work:work-runtime:2.9.1 : 1795 Kb |
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.
So maybe we should stay with 2.8.1
to avoid bringing coroutines? or maybe we can exclude them if they are not used in our code paths?
This is just an idea, I'm curious to see more opinions.
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 dont want to exclude any of dependencies, because we could create unstable build this way. Rolled back all androidX libs that could add coroutines as a transitive dependency. But we will face this problem in a future anyway
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.
yes, staying with work-runtime:2.8.1
seems safest, I don't see any fixes/changes that would impact our usage flows in 2.9.1
.
org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.1 : 20 Kb | ||
org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.7.1 : 1512 Kb |
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.
looks like it is coming from work-runtime
update originally in the core
module?
...ations/dd-sdk-android-compose/src/main/kotlin/com/datadog/android/compose/InteractionType.kt
Outdated
Show resolved
Hide resolved
...ations/dd-sdk-android-compose/src/main/kotlin/com/datadog/android/compose/InteractionType.kt
Outdated
Show resolved
Hide resolved
...ations/dd-sdk-android-compose/src/main/kotlin/com/datadog/android/compose/InteractionType.kt
Outdated
Show resolved
Hide resolved
8ef274c
to
75a7c60
Compare
75a7c60
to
a5709c3
Compare
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## develop #2463 +/- ##
===========================================
+ Coverage 69.91% 69.92% +0.01%
===========================================
Files 787 787
Lines 29347 29349 +2
Branches 4895 4898 +3
===========================================
+ Hits 20516 20520 +4
Misses 7470 7470
+ Partials 1361 1359 -2
|
androidXAnnotations = "1.9.1" | ||
androidXAppCompat = "1.4.2" # Next version will bring coroutines | ||
androidXCollection = "1.4.5" | ||
androidXComposeBom = "2023.10.01" # Next version will bring coroutines |
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.
having coroutines as a part of Compose is fine I think, it is an essential part of the apps using Compose in most cases, so we can go higher here. The total size of transitive dependencies for dd-sdk-android-compose
is big already anyway.
What does this PR do?
We’re updating androidx.navigation to 2.8.0. Our goal is to maintain a balance between using stable library versions and minimizing disruptive changes to our customers’ codebases.
Motivation
This update motivated by contributor request
Additional Notes
Anything else we should know when reviewing?
Review checklist (to be filled by reviewers)