-
Notifications
You must be signed in to change notification settings - Fork 226
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
Update android dependencies [ci full] #4345
Conversation
Codecov Report
@@ Coverage Diff @@
## main #4345 +/- ##
=======================================
Coverage 75.67% 75.67%
=======================================
Files 46 46
Lines 4140 4140
=======================================
Hits 3133 3133
Misses 1007 1007 Continue to review full report at Codecov.
|
@@ -49,20 +54,21 @@ buildscript { | |||
|
|||
dependencies { | |||
classpath "com.android.tools.build:gradle:$android_gradle_plugin_version" | |||
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" |
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.
TBH I'm not sure why things were working without this on our classpath, maybe we were just always using the "system" version of kotlin?
@@ -138,6 +144,7 @@ if (useDownloadedLibs) { | |||
src { | |||
switch (DefaultPlatform.RESOURCE_PREFIX) { | |||
case 'darwin': | |||
case 'darwin-x86-64': |
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.
The name of the platform has changed in the latest release of JNA, for reasons to do with the M1 arm64 silicon stuff.
megazords/full/android/build.gradle
Outdated
@@ -1,7 +1,6 @@ | |||
apply plugin: 'com.android.library' | |||
apply plugin: 'org.mozilla.rust-android-gradle.rust-android' | |||
apply plugin: 'kotlin-android' | |||
apply plugin: 'kotlin-android-extensions' |
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.
This plugin reports being deprecated, and removing it didn't seem to break anything, so...
Well, at least I got a different set of errors in TaskCluster...
|
da37f43
to
6fbd35c
Compare
This is now failing on some Nimbus error from the updated Kotlin version:
The line in question is:
Which I don't understand enough to know how to add type declarations to it. @jhugman any chance you can help with that one? |
android_components_version = '75.0.0' | ||
kotlin_version = '1.5.20' | ||
kotlin_coroutines_version = '1.5.0' | ||
jna_version = '5.8.0' |
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.
By the way, this version of JNA seems to fix the struct-padding bug from mozilla/uniffi-rs#334 \o/
71b334d
to
2716f2b
Compare
I figured it out, and also made some adjustments for deprecated Glean APIs. |
RethrowCaughtException: | ||
active: false | ||
SwallowedException: | ||
active: false |
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.
These were newly triggering some detekt
failures. I've disabled the ones that are disabled in a-c, and fixed the others.
NimbusEvents.enrollmentKeys.experiment to event.experimentSlug, | ||
NimbusEvents.enrollmentKeys.branch to event.branchSlug, | ||
NimbusEvents.enrollmentKeys.enrollmentId to event.enrollmentId | ||
NimbusEvents.enrollment.record(NimbusEvents.EnrollmentExtra( |
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.
The previous Glean recording API is deprecated, and there's a new more strongly-typed one documented here.
2716f2b
to
8e92c6c
Compare
OK, fingers crossed for CI, but I think this is ready to go! I've tested out the local development flow and confirmed that a Fenix build using these updates still builds and runs and syncs stuff successfully. @travis79, could you please r? this for the Nimbus/Glean deprecation changes? |
@@ -126,7 +126,7 @@ interface VariablesWithContext : Variables { | |||
// defaults from manifest information. | |||
fun asText(res: Int) = context.getString(res) | |||
fun asDrawable(res: Int) = context.getDrawable(res) | |||
fun asText(string: String) = asStringResource(string)?.let(this::asText) ?: string | |||
fun asText(string: String): String? = asStringResource(string)?.let(this::asText) ?: string |
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.
This was the magic sauce necessary to avoid a recursion error in Kotlin's type resolution.
8e92c6c
to
a4bd5bf
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.
This is great! Hopefully migrating to the new Glean event API wasn't too bad.
This uses the new, cleaner factoring of our Android config from #4194 as an excuse to update some of our Android dependencies to bring them inline with what's used in current android-components. It was much easier than it has been in the past!
a4bd5bf
to
36693c6
Compare
I'm going to go ahead and merge this once CI goes green, since I want to Glean updates for completeness over in #4356 |
This uses the new, cleaner factoring of our Android config from #4194 as an excuse to update some of our Android dependencies to bring them inline with what's used in current android-components. It was much easier than it has been in the past!
This uses the new, cleaner factoring of our Android config from #4194
as an excuse to update some of our Android dependencies to bring them
inline with what's used in current android-components. It was much
easier than it has been in the past!
I'm getting some weird test failures locally that look transient, let's
see what CI has to say about them...