From d8a76cf1e7cd62da7881cd0ab48bc8d18b0b7205 Mon Sep 17 00:00:00 2001 From: Harsh Shandilya Date: Wed, 28 Jun 2023 10:38:37 +0530 Subject: [PATCH] Revert "fix(build): temporarily revert to AGP 8.0.x" This reverts commit 1e888494eeffb37c02356774382553cdbb29d4fb. --- .github/workflows/baseline-profile.yml | 2 +- .../claw/gradle/AndroidCommonPlugin.kt | 5 +-- common/build.gradle.kts | 4 ++- gradle.properties | 33 +++++-------------- gradle/libs.versions.toml | 2 +- 5 files changed, 17 insertions(+), 29 deletions(-) diff --git a/.github/workflows/baseline-profile.yml b/.github/workflows/baseline-profile.yml index 0b7e195c..3fbdf7ae 100644 --- a/.github/workflows/baseline-profile.yml +++ b/.github/workflows/baseline-profile.yml @@ -86,7 +86,7 @@ jobs: # Pull down any changes which may have been committed while this workflow has been running git pull # Sort the baseline profile, output to android/ - sort -o android/src/main/baseline-prof.txt benchmark/build/outputs/managed_device_android_test_additional_output/api31/BaselineProfileGenerator_generateBaselineProfile-baseline-prof.txt + sort -o android/src/main/baseline-prof.txt benchmark/build/outputs/managed_device_android_test_additional_output/benchmark/api31/BaselineProfileGenerator_generateBaselineProfile-baseline-prof.txt # If the baseline profile has changed, commit it if [[ $(git diff --stat android/src/main/baseline-prof.txt) != '' ]]; then git add android/src/main/baseline-prof.txt diff --git a/build-logic/src/main/kotlin/dev/msfjarvis/claw/gradle/AndroidCommonPlugin.kt b/build-logic/src/main/kotlin/dev/msfjarvis/claw/gradle/AndroidCommonPlugin.kt index 2957cea2..b024a73c 100644 --- a/build-logic/src/main/kotlin/dev/msfjarvis/claw/gradle/AndroidCommonPlugin.kt +++ b/build-logic/src/main/kotlin/dev/msfjarvis/claw/gradle/AndroidCommonPlugin.kt @@ -11,6 +11,7 @@ package dev.msfjarvis.claw.gradle import com.android.build.api.dsl.ApplicationExtension import com.android.build.api.dsl.LibraryExtension import com.android.build.api.variant.ApplicationAndroidComponentsExtension +import com.android.build.api.variant.HasUnitTestBuilder import com.android.build.api.variant.LibraryAndroidComponentsExtension import com.android.build.gradle.BaseExtension import dev.msfjarvis.claw.gradle.LintConfig.configureLint @@ -73,7 +74,7 @@ private fun Project.configureSlimTests() { // Disable unit test tasks on the release build type for Android Library projects extensions.findByType()?.run { beforeVariants(selector().withBuildType("release")) { - it.enableUnitTest = false + (it as HasUnitTestBuilder).enableUnitTest = false it.enableAndroidTest = false } } @@ -81,7 +82,7 @@ private fun Project.configureSlimTests() { // Disable unit test tasks on the release build type for Android Application projects. extensions.findByType()?.run { beforeVariants(selector().withBuildType("release")) { - it.enableUnitTest = false + (it as HasUnitTestBuilder).enableUnitTest = false it.enableAndroidTest = false } } diff --git a/common/build.gradle.kts b/common/build.gradle.kts index 3542d2be..2fdf4a07 100644 --- a/common/build.gradle.kts +++ b/common/build.gradle.kts @@ -6,6 +6,8 @@ */ @file:Suppress("UnstableApiUsage") +import com.android.build.api.variant.HasUnitTestBuilder + plugins { id("dev.msfjarvis.claw.android-library") id("dev.msfjarvis.claw.kotlin-android") @@ -25,7 +27,7 @@ android { namespace = "dev.msfjarvis.claw.common" } -androidComponents { beforeVariants { it.enableUnitTest = false } } +androidComponents { beforeVariants { (it as HasUnitTestBuilder).enableUnitTest = false } } anvil { generateDaggerFactories.set(true) } diff --git a/gradle.properties b/gradle.properties index e073d9ba..d494225a 100644 --- a/gradle.properties +++ b/gradle.properties @@ -25,9 +25,6 @@ kapt.incremental.apt=true # Turn off AP discovery in compile path to enable compile avoidance kapt.include.compile.classpath=false -# Force disable testOnly flag in manifest -android.injected.testOnly=false - # New incremental compilation for Kotlin kotlin.incremental.useClasspathSnapshot=true kotlin.build.report.output=file @@ -35,35 +32,23 @@ kotlin.build.report.output=file # Enable AndroidX android.useAndroidX=true -# Enable non-transitive R class namespacing where each library only contains -# references to the resources it declares instead of declarations plus all -# transitive dependency references. -android.nonTransitiveRClass=true - -# Only keep the single relevant constructor for types mentioned in XML files -# instead of using a parameter wildcard which keeps them all. -android.useMinimalKeepRules=true - -# Default Android build features -android.defaults.buildfeatures.buildconfig=false -android.defaults.buildfeatures.aidl=false -android.defaults.buildfeatures.renderscript=false +# Disable mostly unused default Android build features android.defaults.buildfeatures.resvalues=false android.defaults.buildfeatures.shaders=false +android.library.defaults.buildfeatures.androidresources=false -# Experimental features +# Disallow resolution of dependencies at configuration time +android.dependencyResolutionAtConfigurationTime.disallow=true + +# Disallow parsing the manifest too early in the build process android.disableEarlyManifestParsing=true -android.enablePartialRIncrementalBuilds=true -android.experimental.testOptions.uninstallIncompatibleApks=true -android.enableBuildConfigAsBytecode=true -android.experimental.enableNewResourceShrinker.preciseShrinking=true -# Disable warnings about unsupported features, we know what we're doing -android.suppressUnsupportedOptionWarnings=android.disableEarlyManifestParsing,android.enablePartialRIncrementalBuilds,android.experimental.testOptions.uninstallIncompatibleApks,android.enableBuildConfigAsBytecode,android.experimental.enableNewResourceShrinker.preciseShrinking,android.suppressUnsupportedOptionWarnings +# Disable warnings about unsupported features +android.suppressUnsupportedOptionWarnings=android.dependencyResolutionAtConfigurationTime.disallow,android.disableEarlyManifestParsing,android.suppressUnsupportedOptionWarnings # Add opens for KAPT # https://youtrack.jetbrains.com/issue/KT-45545#focus=Comments-27-4862682.0-0 -org.gradle.jvmargs=-Xmx2048m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 \ +org.gradle.jvmargs=-Dfile.encoding=UTF-8 \ --add-opens=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED \ --add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED \ --add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED \ diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 0d9a616c..f38a015d 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,6 +1,6 @@ [versions] accompanist = "0.31.4-beta" -agp = "8.0.2" +agp = "8.2.0-alpha10" coil = "2.4.0" # @keep used for kotlinCompilerExtensionVersion composeCompiler = "1.4.4"