feat: move up to AGP 8.2.x

This commit is contained in:
Harsh Shandilya 2023-05-25 22:19:58 +05:30
parent e92929910d
commit 37e6c87046
No known key found for this signature in database
7 changed files with 48 additions and 34 deletions

View File

@ -78,6 +78,7 @@ dependencies {
implementation(libs.build.agp)
implementation(libs.build.cachefix)
implementation(libs.build.kotlin.gradle)
implementation(libs.build.r8)
implementation(libs.build.semver)
implementation(libs.build.sentry)
implementation(libs.build.spotless)

View File

@ -15,7 +15,6 @@ dependencyResolutionManagement {
filter {
includeGroup("androidx.databinding")
includeGroup("com.android")
includeGroup("com.android.tools")
includeGroup("com.android.tools.analytics-library")
includeGroup("com.android.tools.build")
includeGroup("com.android.tools.build.jetifier")
@ -25,6 +24,15 @@ dependencyResolutionManagement {
includeGroup("com.android.tools.lint")
includeGroup("com.android.tools.utp")
includeGroup("com.google.testing.platform")
includeModule("com.android.tools", "annotations")
includeModule("com.android.tools", "common")
includeModule("com.android.tools", "desugar_jdk_libs")
includeModule("com.android.tools", "desugar_jdk_libs_configuration")
includeModule("com.android.tools", "dvlib")
includeModule("com.android.tools", "play-sdk-proto")
includeModule("com.android.tools", "repository")
includeModule("com.android.tools", "sdklib")
includeModule("com.android.tools", "sdk-common")
}
}
exclusiveContent {
@ -35,6 +43,10 @@ dependencyResolutionManagement {
includeModule("gradle.plugin.org.gradle.android", "android-cache-fix-gradle-plugin")
}
}
exclusiveContent {
forRepository { maven("https://storage.googleapis.com/r8-releases/raw") }
filter { includeModule("com.android.tools", "r8") }
}
mavenCentral()
}
versionCatalogs { create("libs") { from(files("../gradle/libs.versions.toml")) } }

View File

@ -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<LibraryAndroidComponentsExtension>()?.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<ApplicationAndroidComponentsExtension>()?.run {
beforeVariants(selector().withBuildType("release")) {
it.enableUnitTest = false
(it as HasUnitTestBuilder).enableUnitTest = false
it.enableAndroidTest = false
}
}

View File

@ -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) }

View File

@ -12,6 +12,9 @@ systemProp.org.gradle.android.cache-fix.ignoreVersionCheck=true
org.gradle.configuration-cache=true
org.gradle.configuration-cache-problems=warn
# Enable kotlin-assignment plugin
systemProp.org.gradle.unsafe.kotlin.assignment=true
# Enable Kotlin incremental compilation
kotlin.incremental=true
@ -24,48 +27,30 @@ 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
# Use R8 instead of ProGuard for code shrinking.
android.enableR8.fullMode=false
# 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 \

View File

@ -1,6 +1,6 @@
[versions]
accompanist = "0.30.1"
agp = "8.0.2"
agp = "8.2.0-alpha04"
coil = "2.4.0"
# @keep used for kotlinCompilerExtensionVersion
composeCompiler = "1.4.4"
@ -48,6 +48,7 @@ androidx-work-runtime-ktx = { module = "androidx.work:work-runtime-ktx", version
build-agp = { module = "com.android.tools.build:gradle", version.ref = "agp" }
build-cachefix = "org.gradle.android.cache-fix:org.gradle.android.cache-fix.gradle.plugin:2.7.1"
build-kotlin-gradle = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlin" }
build-r8 = "com.android.tools:r8:8.2.8-dev"
build-semver = "com.vdurmont:semver4j:3.1.0"
build-sentry = "io.sentry.android.gradle:io.sentry.android.gradle.gradle.plugin:3.7.0"
build-spotless = "com.diffplug.spotless:spotless-plugin-gradle:6.19.0"

View File

@ -13,7 +13,7 @@ pluginManagement {
filter {
includeGroup("androidx.databinding")
includeGroup("com.android")
includeGroup("com.android.tools")
includeModule("com.android.test", "com.android.test.gradle.plugin")
includeGroup("com.android.tools.analytics-library")
includeGroup("com.android.tools.build")
includeGroup("com.android.tools.build.jetifier")
@ -23,7 +23,15 @@ pluginManagement {
includeGroup("com.android.tools.lint")
includeGroup("com.android.tools.utp")
includeGroup("com.google.testing.platform")
includeModule("com.android.test", "com.android.test.gradle.plugin")
includeModule("com.android.tools", "annotations")
includeModule("com.android.tools", "common")
includeModule("com.android.tools", "desugar_jdk_libs")
includeModule("com.android.tools", "desugar_jdk_libs_configuration")
includeModule("com.android.tools", "dvlib")
includeModule("com.android.tools", "play-sdk-proto")
includeModule("com.android.tools", "repository")
includeModule("com.android.tools", "sdklib")
includeModule("com.android.tools", "sdk-common")
}
}
exclusiveContent {
@ -40,6 +48,10 @@ pluginManagement {
forRepository { maven("https://oss.sonatype.org/content/repositories/snapshots/") }
filter { includeGroup("dev.msfjarvis.whetstone") }
}
exclusiveContent {
forRepository { maven("https://storage.googleapis.com/r8-releases/raw") }
filter { includeModule("com.android.tools", "r8") }
}
includeBuild("build-logic")
mavenCentral()
}