-
Notifications
You must be signed in to change notification settings - Fork 3.2k
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 AGP to 8.3.0 #1140
Update AGP to 8.3.0 #1140
Conversation
@alexvanyo AGP 8.3 is stable now. |
It will throw this error:
This may relate to google/guava#6618 |
b80c4a9
to
36c7b30
Compare
Change-Id: I6ea5aeaf357dafbae7be0e7f5f0443fbb1a8e68b
Thanks for the reminder @lihenggui , updating PR with |
Change-Id: Icf98a4acc9963656530a1a9fc8b156a553a070af
Change-Id: I3c2c201eb0669165e3594bedfea83bff29c28ce2
Change-Id: Ic5abbd36436a7d8c6382cb02b4ebd7538f8ae1f6
Thanks for doing this @alexvanyo. Do you have any more info you can share on "AGP 8.3.0 being a bit stricter with how dependencies are resolved"? I'm guessing that it's stricter about detecting duplicate classes (e.g. |
AGP For application modules, the separate loading of the main APK and test APK classpaths means that However, for libraries, where there is only one test APK, this is a behavior change, as any dependency that is higher in the instrumentation test classpath will be forced to downgrade to the version in the main classpath. As a result, updating to |
The behavior change for library modules is reverting to |
This is a followup cleanup of android#1163 that was partially addressed by android#1140. - Remove unused `projects.core.testing` dependencies (or replace with direct dependencies). - Introduce `androidx.compose.ui.test` bundle. - Remove `NiaTestRunner` from the default config, forcing consumers to depend on it, even when not used.
This is a followup cleanup of android#1163 that was partially addressed by android#1140. - Remove unused `projects.core.testing` dependencies (or replace with direct dependencies). - Introduce `androidx.compose.ui.test` bundle. - Remove `NiaTestRunner` from the default config, forcing consumers to depend on it, even when not used.
This is a followup cleanup of android#1163 that was partially addressed by android#1140. - Remove unused `projects.core.testing` dependencies (or replace with direct dependencies). - Introduce `androidx.compose.ui.test` bundle. - Remove `NiaTestRunner` from the default config, forcing consumers to depend on it, even when not used.
Updates to AGP 8.3.0.
This required a couple of changes due to AGP 8.3.0 being a bit stricter with how dependencies are resolved.
f46e506:
Previously, the Roborazzi
ScreenshotHelper
utilities were in:core:testing
. However, this module is brought in for adding utilities to both unit tests and instrumentation tests.This change was needed due to the following:
ScreenshotHelper
calls into Robolectric utilities:core:testing
had a dependency on Robolectric, which meant that Robolectric was being added into instrumentation testsjre
guava was being brought into instrumentation tests, which shouldn't be there0610407:
kotlinx-coroutines-guava
depends onjre
guava, which meant that:sync:work
depended onjre
guava in the instrumentation tests. Bumping this to a laterandroid
guava avoids ajre
guava in instrumentation tests again. I had to add this as a main implementation, otherwise the error from AGP 8.3.0 returned.1d91231:
A follow-up from investigating more -
:sync:work
doesn't use thekotlinx-coroutines-guava
dependency in tests anyway, so it is cleanest to just remove it.