Skip to content

Add AGP 8.3-9.0 adapter modules - #493

Merged
neighbWang merged 8 commits into
didi:masterfrom
johnsonlee:feature/agp-8.3-9.0-support
Jan 29, 2026
Merged

Add AGP 8.3-9.0 adapter modules#493
neighbWang merged 8 commits into
didi:masterfrom
johnsonlee:feature/agp-8.3-9.0-support

Conversation

@johnsonlee

Copy link
Copy Markdown
Collaborator

Summary

  • Add 10 new AGP adapter modules supporting versions 8.3.0 through 9.0.0
  • Handle breaking API changes across AGP versions using reflection-based fallbacks
  • Include standalone test Android projects for each AGP version in test-projects/ directory

New Modules

Module AGP Version Gradle Version
booster-android-gradle-v8_3 8.3.0 8.4+
booster-android-gradle-v8_4 8.4.0 8.6+
booster-android-gradle-v8_5 8.5.0 8.7+
booster-android-gradle-v8_6 8.6.0 8.7+
booster-android-gradle-v8_7 8.7.0 8.9+
booster-android-gradle-v8_8 8.8.0 8.10.2+
booster-android-gradle-v8_9 8.9.0 8.11.1+
booster-android-gradle-v8_10 8.10.0 8.11.1+
booster-android-gradle-v8_12 8.12.0 8.13+
booster-android-gradle-v9_0 9.0.0 9.1.0+

Key API Changes Handled

  • RUNTIME_SYMBOL_LIST moved to SingleArtifact (AGP 8.3+)
  • computeTaskName signature change (AGP 8.3+)
  • extraGeneratedResFolders removed (AGP 8.3+)
  • PROCESSED_RES removed (AGP 8.6+) - uses reflection fallback
  • LIBRARY_ASSETS removed (AGP 8.9+) - uses reflection fallback
  • AGP 9.0 built-in Kotlin support (no separate kotlin-android plugin)

Test plan

  • All new modules compile successfully
  • All unit tests pass
  • All 10 test Android projects build successfully with their respective AGP versions

🤖 Generated with Claude Code

johnsonlee and others added 8 commits January 29, 2026 01:41
This adds support for Android Gradle Plugin versions 8.3.0 through 9.0.0:
- booster-android-gradle-v8_3 (AGP 8.3.0)
- booster-android-gradle-v8_4 (AGP 8.4.0)
- booster-android-gradle-v8_5 (AGP 8.5.0)
- booster-android-gradle-v8_6 (AGP 8.6.0)
- booster-android-gradle-v8_7 (AGP 8.7.0)
- booster-android-gradle-v8_8 (AGP 8.8.0)
- booster-android-gradle-v8_9 (AGP 8.9.0)
- booster-android-gradle-v8_10 (AGP 8.10.0)
- booster-android-gradle-v8_12 (AGP 8.12.0)
- booster-android-gradle-v9_0 (AGP 9.0.0)

Key API changes handled:
- RUNTIME_SYMBOL_LIST moved to SingleArtifact (AGP 8.3+)
- computeTaskName signature change (AGP 8.3+)
- extraGeneratedResFolders removed (AGP 8.3+)
- PROCESSED_RES removed (AGP 8.6+) - uses reflection fallback
- LIBRARY_ASSETS removed (AGP 8.9+) - uses reflection fallback
- AGP 9.0 built-in Kotlin support (no separate kotlin-android plugin)
- Various other InternalArtifactType changes

Also includes standalone test Android projects for each AGP version in
test-projects/ directory for integration testing.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Create integration tests for v8_3, v8_4, v8_5, v8_6, v8_7, v8_8, v8_9, v8_10, v8_12, v9_0 modules
- Fix Kotlin 2.0 metadata compatibility by upgrading Gradle 8.0 to 8.5 and adding -Xskip-metadata-version-check flag
- Add explicit kaptGenerateStubsKotlin to generateBuildJavaFile task dependency for Gradle 8.5
- Move test-projects to each adapter modules src/e2eTest directory
- Add integrationTestImplementation dependencies for AGP in v8_9+ modules

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Document AGP 8.0-9.0 version compatibility
- Add Kotlin 2.0 metadata compatibility solution
- Include instructions for adding new AGP version support
- Document integration test structure and running commands

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Exclude transitive booster dependencies from testkit-gradle-plugin:2.1.0
- The old booster:2.4.0 from Maven Central was conflicting with local SNAPSHOT
- Add dependency substitution in integration-test.gradle for host project
- Update buildSrc/build.gradle in all integration test resources
- Document the fix in CLAUDE.md

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Set ANDROID_HOME environment variable in integration-test.gradle
- Update Gradle version for v8_12 to 8.13 (required by AGP 8.12)
- Update Gradle version for v9_0 to 9.1 (required by AGP 9.0)
- Disable v9_0 integration test since Gradle 9.1 is not yet released

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Convert all content to English
- Add AGP to Gradle version mapping table
- Document all known integration test issues and solutions
- Add ANDROID_HOME requirement for integration tests

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Update all e2eTest build.gradle.kts to use booster plugin version
  1.0.0-SNAPSHOT from mavenLocal() instead of 5.0.0 from Maven Central
- Add e2eTest documentation to CLAUDE.md

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Enable manual workflow triggering from GitHub Actions UI.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@neighbWang
neighbWang merged commit bf61d5f into didi:master Jan 29, 2026
@TrumpDony

Copy link
Copy Markdown

Hi Team, upload to maven, please, appreciate it. 🙇

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.

3 participants