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.
|
|
|
||
| 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.
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?
| src { | ||
| switch (DefaultPlatform.RESOURCE_PREFIX) { | ||
| case 'darwin': | ||
| case 'darwin-x86-64': |
There was a problem hiding this comment.
The name of the platform has changed in the latest release of JNA, for reasons to do with the M1 arm64 silicon stuff.
| 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.
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.
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.
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.
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? |
| 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.
This was the magic sauce necessary to avoid a recursion error in Kotlin's type resolution.
8e92c6c to
a4bd5bf
Compare
travis79
left a comment
There was a problem hiding this comment.
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...