Skip to content

feat: modernize plugin for Gradle 8/9 and AGP 8/9 with TestKit suite - #108

Draft
dkhawk wants to merge 1 commit into
mainfrom
feat/modernize-plugin
Draft

dkhawk wants to merge 1 commit into
mainfrom
feat/modernize-plugin

Conversation

@dkhawk

@dkhawk dkhawk commented Oct 23, 2026

Copy link
Copy Markdown
Contributor

Summary

Modernizes secrets-gradle-plugin for Gradle 8.x/9.x and Android Gradle Plugin (AGP) 8.x/9.x while preserving backwards compatibility, and adds a 3-tier automated test suite (including real-AGP Gradle TestKit functional tests).

Key Changes

Fixes #28
Fixes #41
Fixes #59
Fixes #62
Fixes #81
Fixes #87
Fixes #89
Fixes #91
Fixes #96
Fixes #104

- Use pluginManager.withPlugin across com.android.application, com.android.library, com.android.test, and com.android.dynamic-feature (#62, #91)
- Support unitTest and androidTest manifest placeholder injection across AGP 8.0-8.2 (HasUnitTest/HasAndroidTest) and AGP 8.3+/9.x (nestedComponents) (#41, #89, #96, #104)
- Guard variant.buildConfigFields behind isBuildConfigEnabled so projects with buildFeatures.buildConfig=false emit zero warnings (#87)
- Fix empty string ("") and backslash escaping in addParenthesisIfNeeded (#72, #81, #99)
- Add 5-level property precedence with combined <variantName>.properties and module-local file fallback (#59)
- Use Gradle Provider API (providers.fileContents) for Configuration Cache and Isolated Projects compatibility
- Set kotlin.stdlib.default.dependency=false and compileOnly(libs.kotlin.stdlib) for zero runtime dependency leakage
- Configure MavenPublication POM metadata (#28)
- Add 3-tier automated test suite: 12 unit tests (SecretsPluginTest), 6 real-AGP Gradle TestKit functional tests (SecretsPluginFunctionalTest), and sample-app integration test (SecretsInjectionTest)
@dkhawk
dkhawk force-pushed the feat/modernize-plugin branch from a9c18c4 to 9e30bdd Compare October 23, 2026 15:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment