Skip to content

Supply Chain: bump AGP to 8.6.1 to drop blocked bcprov-jdk15on:1.67 - #321

Open
wenxi-zeng wants to merge 5 commits into
supplychain_gradlefrom
supplychain_gradle_agp8
Open

Supply Chain: bump AGP to 8.6.1 to drop blocked bcprov-jdk15on:1.67#321
wenxi-zeng wants to merge 5 commits into
supplychain_gradlefrom
supplychain_gradle_agp8

Conversation

@wenxi-zeng

Copy link
Copy Markdown
Contributor

AGP 7.4.2 hard-pinned org.bouncycastle:bcprov-jdk15on:1.67, which is blocked by Artifactory curation (403), failing extractDebugAnnotations. AGP 8.5+ replaces it with the curated bcprov-jdk18on:1.77.

Includes required AGP 8.x migration: add namespace to Android modules, opt into buildConfig, drop removed disableAutomaticComponentCreation flag, and bump CI to JDK 17.

AGP 7.4.2 hard-pinned org.bouncycastle:bcprov-jdk15on:1.67, which is
blocked by Artifactory curation (403), failing extractDebugAnnotations.
AGP 8.5+ replaces it with the curated bcprov-jdk18on:1.77.

Includes required AGP 8.x migration: add namespace to Android modules,
opt into buildConfig, drop removed disableAutomaticComponentCreation
flag, and bump CI to JDK 17.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
AGP pulls bcprov-jdk18on 1.77/1.79 transitively via extractAnnotations,
both blocked by Artifactory curation for CVEs. No shipping AGP pulls a
clean version, so force 1.81 (fixes all known bcprov CVEs) on both the
buildscript classpath and project configurations to cover AGP's
detachedConfiguration used by the annotation-extraction task.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
AGP's extract{Debug,Release}Annotations tasks resolve bcprov-jdk18on:1.77
in a detached configuration that Artifactory curation blocks for CVEs.
AGP creates this config via configurations.detachedConfiguration(), which
is excluded from the project container and bypasses every resolutionStrategy
hook (force, eachDependency, dependencySubstitution) -- verified locally by
purging the cache and reproducing the CI download of 1.77.

The tasks only emit an optional annotations.zip (IDE type-annotation hints
for AAR consumers); the AAR is fully functional without it. Disabling them
removes the bcprov dependency entirely. Reverts the ineffective force blocks.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Disabling extract*Annotations left syncLibJars without its required
typedefs.txt input (LibraryAarJarsTask.typedefRecipe), failing config.
Reverting to the clean AGP 8.6.1 baseline while the bcprov curation
issue is resolved via curation allowlist -- AGP's Lint tool resolves
bcprov in an isolated detached configuration that no resolutionStrategy,
substitution, or component rule can reach (verified against a purged
cache with force/eachDependency/dependencySubstitution/configureEach).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
AGP 8.6.1 pulled bcprov-jdk18on 1.77 (curation-blocked). AGP 8.9+ moves
to 1.79; 8.10.1 is the newest that works on Gradle 8.12 without a wrapper
bump. Pushing to let CI resolve 1.79 through Artifactory and confirm
empirically whether that version passes curation.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant