├── gradle-plugin ├── src │ ├── test │ │ ├── fixtures │ │ │ ├── custom-lockfile │ │ │ │ ├── base │ │ │ │ │ ├── .gitignore │ │ │ │ │ └── build.gradle │ │ │ │ ├── gradle.properties │ │ │ │ ├── settings.gradle │ │ │ │ ├── build.gradle │ │ │ │ └── feature │ │ │ │ │ └── build.gradle │ │ │ ├── missing-dex │ │ │ │ ├── base │ │ │ │ │ ├── src │ │ │ │ │ │ └── main │ │ │ │ │ │ │ └── AndroidManifest.xml │ │ │ │ │ ├── build.gradle │ │ │ │ │ └── gradle.lockfile │ │ │ │ ├── gradle.properties │ │ │ │ ├── settings.gradle │ │ │ │ ├── library │ │ │ │ │ ├── src │ │ │ │ │ │ └── main │ │ │ │ │ │ │ ├── kotlin │ │ │ │ │ │ │ └── com │ │ │ │ │ │ │ │ └── example │ │ │ │ │ │ │ │ └── KotlinClass.kt │ │ │ │ │ │ │ └── java │ │ │ │ │ │ │ └── com │ │ │ │ │ │ │ └── example │ │ │ │ │ │ │ └── JavaClass.java │ │ │ │ │ └── build.gradle │ │ │ │ ├── build.gradle │ │ │ │ └── feature │ │ │ │ │ ├── build.gradle │ │ │ │ │ └── src │ │ │ │ │ └── main │ │ │ │ │ └── AndroidManifest.xml │ │ │ ├── custom-build-type │ │ │ │ ├── base │ │ │ │ │ ├── src │ │ │ │ │ │ └── main │ │ │ │ │ │ │ └── AndroidManifest.xml │ │ │ │ │ └── build.gradle │ │ │ │ ├── gradle.properties │ │ │ │ ├── settings.gradle │ │ │ │ ├── build.gradle │ │ │ │ └── feature │ │ │ │ │ ├── src │ │ │ │ │ └── main │ │ │ │ │ │ └── AndroidManifest.xml │ │ │ │ │ └── build.gradle │ │ │ ├── project-dependency │ │ │ │ ├── library │ │ │ │ │ ├── build.gradle │ │ │ │ │ └── src │ │ │ │ │ │ └── main │ │ │ │ │ │ └── kotlin │ │ │ │ │ │ └── com │ │ │ │ │ │ └── example │ │ │ │ │ │ └── HelloWorld.kt │ │ │ │ ├── gradle.properties │ │ │ │ ├── settings.gradle │ │ │ │ ├── build.gradle │ │ │ │ ├── base │ │ │ │ │ └── build.gradle │ │ │ │ └── feature │ │ │ │ │ └── build.gradle │ │ │ ├── up-to-date │ │ │ │ ├── gradle.properties │ │ │ │ ├── settings.gradle │ │ │ │ ├── build.gradle │ │ │ │ ├── base │ │ │ │ │ └── build.gradle │ │ │ │ └── feature │ │ │ │ │ └── build.gradle │ │ │ ├── codegen-fixture │ │ │ │ ├── gradle.properties │ │ │ │ ├── settings.gradle │ │ │ │ ├── base │ │ │ │ │ ├── src │ │ │ │ │ │ └── main │ │ │ │ │ │ │ ├── kotlin │ │ │ │ │ │ │ └── com │ │ │ │ │ │ │ │ └── example │ │ │ │ │ │ │ │ └── ExampleFeature.kt │ │ │ │ │ │ │ └── AndroidManifest.xml │ │ │ │ │ └── build.gradle │ │ │ │ ├── feature │ │ │ │ │ ├── src │ │ │ │ │ │ └── main │ │ │ │ │ │ │ ├── kotlin │ │ │ │ │ │ │ └── com │ │ │ │ │ │ │ │ └── example │ │ │ │ │ │ │ │ └── ExampleImplementation.kt │ │ │ │ │ │ │ └── AndroidManifest.xml │ │ │ │ │ └── build.gradle │ │ │ │ └── build.gradle │ │ │ ├── has-constraints │ │ │ │ ├── gradle.properties │ │ │ │ ├── settings.gradle │ │ │ │ ├── build.gradle │ │ │ │ ├── base │ │ │ │ │ └── build.gradle │ │ │ │ └── feature │ │ │ │ │ └── build.gradle │ │ │ ├── out-of-date │ │ │ │ ├── gradle.properties │ │ │ │ ├── settings.gradle │ │ │ │ ├── build.gradle │ │ │ │ ├── base │ │ │ │ │ └── build.gradle │ │ │ │ └── feature │ │ │ │ │ └── build.gradle │ │ │ ├── same-versions │ │ │ │ ├── gradle.properties │ │ │ │ ├── settings.gradle │ │ │ │ ├── build.gradle │ │ │ │ ├── base │ │ │ │ │ └── build.gradle │ │ │ │ └── feature │ │ │ │ │ └── build.gradle │ │ │ ├── variant-aware │ │ │ │ ├── gradle.properties │ │ │ │ ├── settings.gradle │ │ │ │ ├── build.gradle │ │ │ │ ├── base │ │ │ │ │ └── build.gradle │ │ │ │ └── feature │ │ │ │ │ └── build.gradle │ │ │ ├── version-update │ │ │ │ ├── gradle.properties │ │ │ │ ├── settings.gradle │ │ │ │ ├── build.gradle │ │ │ │ ├── base │ │ │ │ │ └── build.gradle │ │ │ │ └── feature │ │ │ │ │ └── build.gradle │ │ │ ├── different-versions │ │ │ │ ├── gradle.properties │ │ │ │ ├── settings.gradle │ │ │ │ ├── build.gradle │ │ │ │ ├── base │ │ │ │ │ └── build.gradle │ │ │ │ └── feature │ │ │ │ │ └── build.gradle │ │ │ ├── lockfile-activation │ │ │ │ ├── gradle.properties │ │ │ │ ├── settings.gradle │ │ │ │ ├── build.gradle │ │ │ │ ├── base │ │ │ │ │ ├── gradle.lockfile │ │ │ │ │ └── build.gradle │ │ │ │ └── feature │ │ │ │ │ └── build.gradle │ │ │ ├── resources-in-base │ │ │ │ ├── gradle.properties │ │ │ │ ├── settings.gradle │ │ │ │ ├── base │ │ │ │ │ ├── src │ │ │ │ │ │ └── main │ │ │ │ │ │ │ ├── res │ │ │ │ │ │ │ └── values │ │ │ │ │ │ │ │ ├── styles.xml │ │ │ │ │ │ │ │ └── strings.xml │ │ │ │ │ │ │ └── AndroidManifest.xml │ │ │ │ │ └── build.gradle │ │ │ │ ├── feature │ │ │ │ │ ├── src │ │ │ │ │ │ └── main │ │ │ │ │ │ │ ├── kotlin │ │ │ │ │ │ │ └── com │ │ │ │ │ │ │ │ └── example │ │ │ │ │ │ │ │ └── HelloWorldActivity.kt │ │ │ │ │ │ │ └── AndroidManifest.xml │ │ │ │ │ └── build.gradle │ │ │ │ └── build.gradle │ │ │ ├── resources-normal │ │ │ │ ├── gradle.properties │ │ │ │ ├── library │ │ │ │ │ ├── src │ │ │ │ │ │ └── main │ │ │ │ │ │ │ └── res │ │ │ │ │ │ │ └── values │ │ │ │ │ │ │ └── styles.xml │ │ │ │ │ └── build.gradle │ │ │ │ ├── settings.gradle │ │ │ │ ├── feature │ │ │ │ │ ├── src │ │ │ │ │ │ └── main │ │ │ │ │ │ │ ├── kotlin │ │ │ │ │ │ │ └── com │ │ │ │ │ │ │ │ └── example │ │ │ │ │ │ │ │ └── HelloWorldActivity.kt │ │ │ │ │ │ │ └── AndroidManifest.xml │ │ │ │ │ └── build.gradle │ │ │ │ ├── base │ │ │ │ │ ├── src │ │ │ │ │ │ └── main │ │ │ │ │ │ │ ├── res │ │ │ │ │ │ │ └── values │ │ │ │ │ │ │ │ └── strings.xml │ │ │ │ │ │ │ └── AndroidManifest.xml │ │ │ │ │ └── build.gradle │ │ │ │ └── build.gradle │ │ │ ├── feature-compile-classpath │ │ │ │ ├── gradle.properties │ │ │ │ ├── settings.gradle │ │ │ │ ├── build.gradle │ │ │ │ ├── base │ │ │ │ │ └── build.gradle │ │ │ │ └── feature │ │ │ │ │ └── build.gradle │ │ │ ├── multiplatform-dependency │ │ │ │ ├── gradle.properties │ │ │ │ ├── settings.gradle │ │ │ │ ├── build.gradle │ │ │ │ ├── base │ │ │ │ │ └── build.gradle │ │ │ │ └── feature │ │ │ │ │ └── build.gradle │ │ │ ├── new-transitive-dependency │ │ │ │ ├── gradle.properties │ │ │ │ ├── settings.gradle │ │ │ │ ├── build.gradle │ │ │ │ ├── base │ │ │ │ │ └── build.gradle │ │ │ │ └── feature │ │ │ │ │ └── build.gradle │ │ │ ├── resources-overwriting │ │ │ │ ├── gradle.properties │ │ │ │ ├── library │ │ │ │ │ ├── src │ │ │ │ │ │ └── main │ │ │ │ │ │ │ └── res │ │ │ │ │ │ │ └── values │ │ │ │ │ │ │ └── styles.xml │ │ │ │ │ └── build.gradle │ │ │ │ ├── settings.gradle │ │ │ │ ├── feature │ │ │ │ │ ├── src │ │ │ │ │ │ └── main │ │ │ │ │ │ │ ├── kotlin │ │ │ │ │ │ │ └── com │ │ │ │ │ │ │ │ └── example │ │ │ │ │ │ │ │ └── HelloWorldActivity.kt │ │ │ │ │ │ │ └── AndroidManifest.xml │ │ │ │ │ └── build.gradle │ │ │ │ ├── base │ │ │ │ │ ├── src │ │ │ │ │ │ └── main │ │ │ │ │ │ │ ├── res │ │ │ │ │ │ │ └── values │ │ │ │ │ │ │ │ └── strings.xml │ │ │ │ │ │ │ └── AndroidManifest.xml │ │ │ │ │ └── build.gradle │ │ │ │ └── build.gradle │ │ │ ├── transitive-dependency │ │ │ │ ├── gradle.properties │ │ │ │ ├── settings.gradle │ │ │ │ ├── library │ │ │ │ │ ├── build.gradle │ │ │ │ │ └── src │ │ │ │ │ │ └── main │ │ │ │ │ │ └── kotlin │ │ │ │ │ │ └── com │ │ │ │ │ │ └── example │ │ │ │ │ │ └── HelloWorld.kt │ │ │ │ ├── build.gradle │ │ │ │ ├── base │ │ │ │ │ └── build.gradle │ │ │ │ └── feature │ │ │ │ │ └── build.gradle │ │ │ ├── different-versions-in-base │ │ │ │ ├── gradle.properties │ │ │ │ ├── settings.gradle │ │ │ │ ├── build.gradle │ │ │ │ ├── feature │ │ │ │ │ └── build.gradle │ │ │ │ └── base │ │ │ │ │ └── build.gradle │ │ │ ├── resources-correct-declaration │ │ │ │ ├── gradle.properties │ │ │ │ ├── settings.gradle │ │ │ │ ├── feature │ │ │ │ │ ├── src │ │ │ │ │ │ └── main │ │ │ │ │ │ │ ├── res │ │ │ │ │ │ │ └── values │ │ │ │ │ │ │ │ └── styles.xml │ │ │ │ │ │ │ ├── kotlin │ │ │ │ │ │ │ └── com │ │ │ │ │ │ │ │ └── example │ │ │ │ │ │ │ │ └── HelloWorldActivity.kt │ │ │ │ │ │ │ └── AndroidManifest.xml │ │ │ │ │ └── build.gradle │ │ │ │ ├── base │ │ │ │ │ ├── src │ │ │ │ │ │ └── main │ │ │ │ │ │ │ ├── res │ │ │ │ │ │ │ └── values │ │ │ │ │ │ │ │ └── strings.xml │ │ │ │ │ │ │ └── AndroidManifest.xml │ │ │ │ │ └── build.gradle │ │ │ │ └── build.gradle │ │ │ ├── resources-missing-declaration │ │ │ │ ├── gradle.properties │ │ │ │ ├── settings.gradle │ │ │ │ ├── feature │ │ │ │ │ ├── src │ │ │ │ │ │ └── main │ │ │ │ │ │ │ ├── res │ │ │ │ │ │ │ └── values │ │ │ │ │ │ │ │ └── styles.xml │ │ │ │ │ │ │ ├── kotlin │ │ │ │ │ │ │ └── com │ │ │ │ │ │ │ │ └── example │ │ │ │ │ │ │ │ └── HelloWorldActivity.kt │ │ │ │ │ │ │ └── AndroidManifest.xml │ │ │ │ │ └── build.gradle │ │ │ │ ├── base │ │ │ │ │ ├── src │ │ │ │ │ │ └── main │ │ │ │ │ │ │ ├── res │ │ │ │ │ │ │ └── values │ │ │ │ │ │ │ │ └── strings.xml │ │ │ │ │ │ │ └── AndroidManifest.xml │ │ │ │ │ └── build.gradle │ │ │ │ └── build.gradle │ │ │ ├── transitive-dependency-on-base │ │ │ │ ├── gradle.properties │ │ │ │ ├── settings.gradle │ │ │ │ ├── library │ │ │ │ │ ├── build.gradle │ │ │ │ │ └── src │ │ │ │ │ │ └── main │ │ │ │ │ │ └── kotlin │ │ │ │ │ │ └── com │ │ │ │ │ │ └── example │ │ │ │ │ │ └── HelloWorld.kt │ │ │ │ ├── build.gradle │ │ │ │ ├── base │ │ │ │ │ └── build.gradle │ │ │ │ └── feature │ │ │ │ │ └── build.gradle │ │ │ ├── transitive-dependency-on-base-variant-aware │ │ │ │ ├── gradle.properties │ │ │ │ ├── settings.gradle │ │ │ │ ├── library │ │ │ │ │ ├── src │ │ │ │ │ │ └── main │ │ │ │ │ │ │ └── kotlin │ │ │ │ │ │ │ └── com │ │ │ │ │ │ │ └── example │ │ │ │ │ │ │ └── HelloWorld.kt │ │ │ │ │ └── build.gradle │ │ │ │ ├── build.gradle │ │ │ │ ├── base │ │ │ │ │ └── build.gradle │ │ │ │ └── feature │ │ │ │ │ └── build.gradle │ │ │ ├── buildscript.gradle │ │ │ └── settings.gradle │ │ └── java │ │ │ └── app │ │ │ └── cash │ │ │ └── better │ │ │ └── dynamic │ │ │ └── features │ │ │ ├── utils │ │ │ └── SequenceSubject.kt │ │ │ └── TestUtils.kt │ └── main │ │ └── kotlin │ │ └── app │ │ └── cash │ │ └── better │ │ └── dynamic │ │ └── features │ │ ├── BetterDynamicFeaturesFeatureExtension.kt │ │ ├── codegen │ │ ├── AndroidVariant.kt │ │ ├── TypesafeImplementationsGeneratorTask.kt │ │ ├── TypesafeImplementationsCompilationTask.kt │ │ └── CompileTypesafeImplementations.kt │ │ ├── tasks │ │ ├── LockfileEntry.kt │ │ ├── BaseLockfileWriterTask.kt │ │ ├── DependencyGraph.kt │ │ ├── GenerateExternalResourcesTask.kt │ │ ├── DependencyGraphConsumingTask.kt │ │ ├── ResourceDumpingTask.kt │ │ ├── CheckLockfileTask.kt │ │ ├── DependencyGraphWriterTask.kt │ │ └── DependencyGraphUtils.kt │ │ └── BetterDynamicFeaturesExtension.kt ├── libs │ └── ARSCLib-1.1.5.jar ├── gradle.properties └── build.gradle ├── sample ├── docs │ └── boxapp.png ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── .gitattributes ├── .gitignore ├── app │ ├── src │ │ └── main │ │ │ ├── res │ │ │ └── values │ │ │ │ └── strings.xml │ │ │ ├── AndroidManifest.xml │ │ │ └── kotlin │ │ │ └── app │ │ │ └── cash │ │ │ └── boxapp │ │ │ ├── install │ │ │ ├── Module.kt │ │ │ └── SplitInstallHelper.kt │ │ │ ├── api │ │ │ ├── BoxAppFeature.kt │ │ │ ├── Navigator.kt │ │ │ └── ServiceRegistry.kt │ │ │ └── ui │ │ │ └── MainActivity.kt │ └── build.gradle ├── bigboxfeature │ ├── api │ │ ├── src │ │ │ └── main │ │ │ │ ├── AndroidManifest.xml │ │ │ │ └── kotlin │ │ │ │ └── app │ │ │ │ └── cash │ │ │ │ └── boxapp │ │ │ │ └── bigboxfeature │ │ │ │ └── api │ │ │ │ └── BigBoxMainScreen.kt │ │ └── build.gradle │ ├── src │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ └── kotlin │ │ │ └── app │ │ │ └── cash │ │ │ └── boxapp │ │ │ └── bigboxfeature │ │ │ ├── BigBoxFeature.kt │ │ │ └── BigBoxScreen.kt │ └── build.gradle ├── smallboxfeature │ ├── src │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ └── kotlin │ │ │ └── app │ │ │ └── cash │ │ │ └── boxapp │ │ │ └── smallboxfeature │ │ │ ├── SmallBoxWidget.kt │ │ │ └── SmallBoxFeature.kt │ └── build.gradle ├── extrabigboxfeature │ ├── src │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ └── kotlin │ │ │ └── app │ │ │ └── cash │ │ │ └── boxapp │ │ │ └── extrabigboxfeature │ │ │ └── ExtraBigBoxFeature.kt │ └── build.gradle ├── build.gradle ├── settings.gradle ├── README.md └── gradlew.bat ├── gradle ├── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── license-header.txt └── libs.versions.toml ├── agp-patch ├── gradle.properties ├── src │ └── main │ │ └── kotlin │ │ └── app │ │ └── cash │ │ └── better │ │ └── dynamic │ │ └── features │ │ ├── BetterDynamicFeaturesPatchExtension.kt │ │ └── AgpPatchPlugin.kt └── build.gradle ├── runtime ├── gradle.properties ├── jvm │ ├── gradle.properties │ ├── build.gradle │ └── src │ │ └── main │ │ └── kotlin │ │ └── app │ │ └── cash │ │ └── better │ │ └── dynamic │ │ └── features │ │ ├── ExperimentalDynamicFeaturesApi.kt │ │ ├── ImplementationsContainer.kt │ │ ├── DynamicApi.kt │ │ └── DynamicImplementation.kt ├── build.gradle └── src │ └── main │ └── kotlin │ └── app │ └── cash │ └── better │ └── dynamic │ └── features │ └── DynamicImplementations.kt ├── codegen ├── gradle.properties ├── ksp │ ├── gradle.properties │ ├── src │ │ └── main │ │ │ ├── resources │ │ │ └── META-INF │ │ │ │ └── services │ │ │ │ └── com.google.devtools.ksp.processing.SymbolProcessorProvider │ │ │ └── kotlin │ │ │ └── app │ │ │ └── cash │ │ │ └── better │ │ │ └── dynamic │ │ │ └── features │ │ │ └── codegen │ │ │ └── ksp │ │ │ └── DynamicFeaturesSymbolProcessorProvider.kt │ └── build.gradle ├── api │ ├── gradle.properties │ ├── build.gradle │ └── src │ │ └── main │ │ └── kotlin │ │ └── app │ │ └── cash │ │ └── better │ │ └── dynamic │ │ └── features │ │ └── codegen │ │ └── api │ │ ├── FeatureApi.kt │ │ ├── FeatureImplementation.kt │ │ └── Constants.kt ├── build.gradle └── src │ ├── main │ └── kotlin │ │ └── app │ │ └── cash │ │ └── better │ │ └── dynamic │ │ └── features │ │ └── codegen │ │ ├── GenerateProguardRules.kt │ │ └── GenerateImplementationsContainer.kt │ └── test │ └── kotlin │ └── app │ └── cash │ └── better │ └── dynamic │ └── features │ └── codegen │ └── GenerateImplementationsContainerTest.kt ├── .gitignore ├── renovate.json ├── RELEASING.md ├── settings.gradle ├── gradle.properties ├── .github └── workflows │ ├── publish.yml │ └── tests.yml ├── CHANGELOG.md └── gradlew.bat /gradle-plugin/src/test/fixtures/custom-lockfile/base/.gitignore: -------------------------------------------------------------------------------- 1 | custom.lockfile -------------------------------------------------------------------------------- /gradle-plugin/src/test/fixtures/missing-dex/base/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /gradle-plugin/src/test/fixtures/custom-build-type/base/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /sample/docs/boxapp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cashapp/better-dynamic-features/HEAD/sample/docs/boxapp.png -------------------------------------------------------------------------------- /sample/gradle.properties: -------------------------------------------------------------------------------- 1 | android.useAndroidX=true 2 | org.gradle.jvmargs=-Xmx2G -XX:+HeapDumpOnOutOfMemoryError -------------------------------------------------------------------------------- /gradle-plugin/src/test/fixtures/project-dependency/library/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'org.jetbrains.kotlin.jvm' 2 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cashapp/better-dynamic-features/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle-plugin/libs/ARSCLib-1.1.5.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cashapp/better-dynamic-features/HEAD/gradle-plugin/libs/ARSCLib-1.1.5.jar -------------------------------------------------------------------------------- /gradle-plugin/src/test/fixtures/up-to-date/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.jvmargs=-Xmx4g -XX:MaxMetaspaceSize=1g 2 | android.useAndroidX=true 3 | -------------------------------------------------------------------------------- /gradle-plugin/src/test/fixtures/up-to-date/settings.gradle: -------------------------------------------------------------------------------- 1 | apply from: "../settings.gradle" 2 | 3 | include ':base' 4 | include ':feature' 5 | -------------------------------------------------------------------------------- /gradle-plugin/src/test/fixtures/codegen-fixture/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.jvmargs=-Xmx4g -XX:MaxMetaspaceSize=1g 2 | android.useAndroidX=true 3 | -------------------------------------------------------------------------------- /gradle-plugin/src/test/fixtures/codegen-fixture/settings.gradle: -------------------------------------------------------------------------------- 1 | apply from: "../settings.gradle" 2 | 3 | include ':base' 4 | include ':feature' 5 | -------------------------------------------------------------------------------- /gradle-plugin/src/test/fixtures/custom-lockfile/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.jvmargs=-Xmx4g -XX:MaxMetaspaceSize=1g 2 | android.useAndroidX=true 3 | -------------------------------------------------------------------------------- /gradle-plugin/src/test/fixtures/custom-lockfile/settings.gradle: -------------------------------------------------------------------------------- 1 | apply from: "../settings.gradle" 2 | 3 | include ':base' 4 | include ':feature' 5 | -------------------------------------------------------------------------------- /gradle-plugin/src/test/fixtures/has-constraints/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.jvmargs=-Xmx4g -XX:MaxMetaspaceSize=1g 2 | android.useAndroidX=true 3 | -------------------------------------------------------------------------------- /gradle-plugin/src/test/fixtures/has-constraints/settings.gradle: -------------------------------------------------------------------------------- 1 | apply from: "../settings.gradle" 2 | 3 | include ':base' 4 | include ':feature' 5 | -------------------------------------------------------------------------------- /gradle-plugin/src/test/fixtures/missing-dex/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.jvmargs=-Xmx4g -XX:MaxMetaspaceSize=1g 2 | android.useAndroidX=true 3 | -------------------------------------------------------------------------------- /gradle-plugin/src/test/fixtures/out-of-date/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.jvmargs=-Xmx4g -XX:MaxMetaspaceSize=1g 2 | android.useAndroidX=true 3 | -------------------------------------------------------------------------------- /gradle-plugin/src/test/fixtures/out-of-date/settings.gradle: -------------------------------------------------------------------------------- 1 | apply from: "../settings.gradle" 2 | 3 | include ':base' 4 | include ':feature' 5 | -------------------------------------------------------------------------------- /gradle-plugin/src/test/fixtures/same-versions/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.jvmargs=-Xmx4g -XX:MaxMetaspaceSize=1g 2 | android.useAndroidX=true 3 | -------------------------------------------------------------------------------- /gradle-plugin/src/test/fixtures/same-versions/settings.gradle: -------------------------------------------------------------------------------- 1 | apply from: "../settings.gradle" 2 | 3 | include ':base' 4 | include ':feature' 5 | -------------------------------------------------------------------------------- /gradle-plugin/src/test/fixtures/variant-aware/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.jvmargs=-Xmx4g -XX:MaxMetaspaceSize=1g 2 | android.useAndroidX=true 3 | -------------------------------------------------------------------------------- /gradle-plugin/src/test/fixtures/variant-aware/settings.gradle: -------------------------------------------------------------------------------- 1 | apply from: "../settings.gradle" 2 | 3 | include ':base' 4 | include ':feature' 5 | -------------------------------------------------------------------------------- /gradle-plugin/src/test/fixtures/version-update/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.jvmargs=-Xmx4g -XX:MaxMetaspaceSize=1g 2 | android.useAndroidX=true 3 | -------------------------------------------------------------------------------- /gradle-plugin/src/test/fixtures/version-update/settings.gradle: -------------------------------------------------------------------------------- 1 | apply from: "../settings.gradle" 2 | 3 | include ':base' 4 | include ':feature' 5 | -------------------------------------------------------------------------------- /sample/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cashapp/better-dynamic-features/HEAD/sample/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle-plugin/src/test/fixtures/custom-build-type/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.jvmargs=-Xmx4g -XX:MaxMetaspaceSize=1g 2 | android.useAndroidX=true 3 | -------------------------------------------------------------------------------- /gradle-plugin/src/test/fixtures/custom-build-type/settings.gradle: -------------------------------------------------------------------------------- 1 | apply from: "../settings.gradle" 2 | 3 | include ':base' 4 | include ':feature' 5 | -------------------------------------------------------------------------------- /gradle-plugin/src/test/fixtures/different-versions/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.jvmargs=-Xmx4g -XX:MaxMetaspaceSize=1g 2 | android.useAndroidX=true 3 | -------------------------------------------------------------------------------- /gradle-plugin/src/test/fixtures/different-versions/settings.gradle: -------------------------------------------------------------------------------- 1 | apply from: "../settings.gradle" 2 | 3 | include ':base' 4 | include ':feature' 5 | -------------------------------------------------------------------------------- /gradle-plugin/src/test/fixtures/lockfile-activation/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.jvmargs=-Xmx4g -XX:MaxMetaspaceSize=1g 2 | android.useAndroidX=true 3 | -------------------------------------------------------------------------------- /gradle-plugin/src/test/fixtures/lockfile-activation/settings.gradle: -------------------------------------------------------------------------------- 1 | apply from: "../settings.gradle" 2 | 3 | include ':base' 4 | include ':feature' 5 | -------------------------------------------------------------------------------- /gradle-plugin/src/test/fixtures/project-dependency/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.jvmargs=-Xmx4g -XX:MaxMetaspaceSize=1g 2 | android.useAndroidX=true 3 | -------------------------------------------------------------------------------- /gradle-plugin/src/test/fixtures/resources-in-base/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.jvmargs=-Xmx4g -XX:MaxMetaspaceSize=1g 2 | android.useAndroidX=true 3 | -------------------------------------------------------------------------------- /gradle-plugin/src/test/fixtures/resources-in-base/settings.gradle: -------------------------------------------------------------------------------- 1 | apply from: "../settings.gradle" 2 | 3 | include ':base' 4 | include ':feature' 5 | -------------------------------------------------------------------------------- /gradle-plugin/src/test/fixtures/resources-normal/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.jvmargs=-Xmx4g -XX:MaxMetaspaceSize=1g 2 | android.useAndroidX=true 3 | -------------------------------------------------------------------------------- /gradle-plugin/src/test/fixtures/feature-compile-classpath/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.jvmargs=-Xmx4g -XX:MaxMetaspaceSize=1g 2 | android.useAndroidX=true 3 | -------------------------------------------------------------------------------- /gradle-plugin/src/test/fixtures/feature-compile-classpath/settings.gradle: -------------------------------------------------------------------------------- 1 | apply from: "../settings.gradle" 2 | 3 | include ':base' 4 | include ':feature' 5 | -------------------------------------------------------------------------------- /gradle-plugin/src/test/fixtures/multiplatform-dependency/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.jvmargs=-Xmx4g -XX:MaxMetaspaceSize=1g 2 | android.useAndroidX=true 3 | -------------------------------------------------------------------------------- /gradle-plugin/src/test/fixtures/multiplatform-dependency/settings.gradle: -------------------------------------------------------------------------------- 1 | apply from: "../settings.gradle" 2 | 3 | include ':base' 4 | include ':feature' 5 | -------------------------------------------------------------------------------- /gradle-plugin/src/test/fixtures/new-transitive-dependency/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.jvmargs=-Xmx4g -XX:MaxMetaspaceSize=1g 2 | android.useAndroidX=true 3 | -------------------------------------------------------------------------------- /gradle-plugin/src/test/fixtures/new-transitive-dependency/settings.gradle: -------------------------------------------------------------------------------- 1 | apply from: "../settings.gradle" 2 | 3 | include ':base' 4 | include ':feature' 5 | -------------------------------------------------------------------------------- /gradle-plugin/src/test/fixtures/resources-overwriting/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.jvmargs=-Xmx4g -XX:MaxMetaspaceSize=1g 2 | android.useAndroidX=true 3 | -------------------------------------------------------------------------------- /gradle-plugin/src/test/fixtures/transitive-dependency/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.jvmargs=-Xmx4g -XX:MaxMetaspaceSize=1g 2 | android.useAndroidX=true 3 | -------------------------------------------------------------------------------- /agp-patch/gradle.properties: -------------------------------------------------------------------------------- 1 | POM_ARTIFACT_ID=agp-patch 2 | POM_NAME=Better Dynamic Feature AGP Patch 3 | POM_DESCRIPTION=A patch of the Android Gradle Plugin 4 | -------------------------------------------------------------------------------- /gradle-plugin/src/test/fixtures/different-versions-in-base/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.jvmargs=-Xmx4g -XX:MaxMetaspaceSize=1g 2 | android.useAndroidX=true 3 | -------------------------------------------------------------------------------- /gradle-plugin/src/test/fixtures/different-versions-in-base/settings.gradle: -------------------------------------------------------------------------------- 1 | apply from: "../settings.gradle" 2 | 3 | include ':base' 4 | include ':feature' 5 | -------------------------------------------------------------------------------- /gradle-plugin/src/test/fixtures/resources-correct-declaration/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.jvmargs=-Xmx4g -XX:MaxMetaspaceSize=1g 2 | android.useAndroidX=true 3 | -------------------------------------------------------------------------------- /gradle-plugin/src/test/fixtures/resources-correct-declaration/settings.gradle: -------------------------------------------------------------------------------- 1 | apply from: "../settings.gradle" 2 | 3 | include ':base' 4 | include ':feature' 5 | -------------------------------------------------------------------------------- /gradle-plugin/src/test/fixtures/resources-missing-declaration/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.jvmargs=-Xmx4g -XX:MaxMetaspaceSize=1g 2 | android.useAndroidX=true 3 | -------------------------------------------------------------------------------- /gradle-plugin/src/test/fixtures/resources-missing-declaration/settings.gradle: -------------------------------------------------------------------------------- 1 | apply from: "../settings.gradle" 2 | 3 | include ':base' 4 | include ':feature' 5 | -------------------------------------------------------------------------------- /gradle-plugin/src/test/fixtures/transitive-dependency-on-base/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.jvmargs=-Xmx4g -XX:MaxMetaspaceSize=1g 2 | android.useAndroidX=true 3 | -------------------------------------------------------------------------------- /runtime/gradle.properties: -------------------------------------------------------------------------------- 1 | POM_ARTIFACT_ID=runtime 2 | POM_NAME=Better Dynamic Feature Runtime 3 | POM_DESCRIPTION=Runtime support for Better Dynamic Features 4 | -------------------------------------------------------------------------------- /gradle-plugin/src/test/fixtures/missing-dex/settings.gradle: -------------------------------------------------------------------------------- 1 | apply from: "../settings.gradle" 2 | 3 | include ':base' 4 | include ':feature' 5 | include ':library' 6 | -------------------------------------------------------------------------------- /gradle-plugin/src/test/fixtures/resources-in-base/base/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 |