Status Update
Comments
ra...@google.com <ra...@google.com>
om...@google.com <om...@google.com> #2
@alanv - can you share an example of this where it broke?
al...@google.com <al...@google.com> #3
I'm not sure if anything has broken, but we didn't design any of the tooling to accommodate this use case. We could either prevent it or deliberately support it by auditing all of the group-related code in our tooling.
om...@google.com <om...@google.com> #4
Don't we support it multiple atomic groups using the same maven group id? For example, the maven group androidx.camera
has multiple atomic groups in
CAMERA = { group = "androidx.camera", atomicGroupVersion = "versions.CAMERA" }
CAMERA_PIPE = { group = "androidx.camera", atomicGroupVersion = "versions.CAMERA_PIPE", overrideInclude = [ ":camera:camera-camera2-pipe", ":camera:camera-camera2-pipe-integration" ] }
CAMERA_TESTING = { group = "androidx.camera", atomicGroupVersion = "versions.CAMERA_TESTING", overrideInclude = [ ":camera:camera-testing" ] }
al...@google.com <al...@google.com> #5
We shouldn't have allowed that -- it looks like the same workaround for quarantined libraries that Ian was using, e.g. a temporary 1.0.0-alphaXX
within an atomic group until the library catches up.
ap...@google.com <ap...@google.com> #6
Project: platform/frameworks/support
Branch: androidx-main
Author: Omar Ismail <
Link:
Check for duplicate atomic group IDs
Expand for full commit details
Check for duplicate atomic group IDs
This change adds a check to ensure that multiple atomic groups are not defined with the same Maven group ID. If duplicate atomic group IDs are found, a GradleException will be thrown.
BUG: 399124813
TESTED: Ran `./gradlew tasks`
Change-Id: I19dd63dad54ea3c9c48f8c583590e7ce1e843dbe
Files:
- M
buildSrc-tests/src/test/java/androidx/build/LibraryVersionsServiceTest.kt
- M
buildSrc/private/src/main/kotlin/androidx/build/LibraryVersionsService.kt
Hash: 7918cb68ba6164b530be050cb696c646d480443c
Date: Wed Mar 05 16:53:43 2025
Description
Atomic groups must be 1:1 with Maven group IDs, otherwise behavior is undefined. We should enforce this in the build system.
Initially
P1
since we just saw a violation of this policy.