mirror of
https://github.com/msfjarvis/compose-lobsters
synced 2025-08-14 19:57:04 +05:30
feat: move up to AGP 8.2.x
This commit is contained in:
parent
e92929910d
commit
37e6c87046
7 changed files with 48 additions and 34 deletions
|
@ -78,6 +78,7 @@ dependencies {
|
||||||
implementation(libs.build.agp)
|
implementation(libs.build.agp)
|
||||||
implementation(libs.build.cachefix)
|
implementation(libs.build.cachefix)
|
||||||
implementation(libs.build.kotlin.gradle)
|
implementation(libs.build.kotlin.gradle)
|
||||||
|
implementation(libs.build.r8)
|
||||||
implementation(libs.build.semver)
|
implementation(libs.build.semver)
|
||||||
implementation(libs.build.sentry)
|
implementation(libs.build.sentry)
|
||||||
implementation(libs.build.spotless)
|
implementation(libs.build.spotless)
|
||||||
|
|
|
@ -15,7 +15,6 @@ dependencyResolutionManagement {
|
||||||
filter {
|
filter {
|
||||||
includeGroup("androidx.databinding")
|
includeGroup("androidx.databinding")
|
||||||
includeGroup("com.android")
|
includeGroup("com.android")
|
||||||
includeGroup("com.android.tools")
|
|
||||||
includeGroup("com.android.tools.analytics-library")
|
includeGroup("com.android.tools.analytics-library")
|
||||||
includeGroup("com.android.tools.build")
|
includeGroup("com.android.tools.build")
|
||||||
includeGroup("com.android.tools.build.jetifier")
|
includeGroup("com.android.tools.build.jetifier")
|
||||||
|
@ -25,6 +24,15 @@ dependencyResolutionManagement {
|
||||||
includeGroup("com.android.tools.lint")
|
includeGroup("com.android.tools.lint")
|
||||||
includeGroup("com.android.tools.utp")
|
includeGroup("com.android.tools.utp")
|
||||||
includeGroup("com.google.testing.platform")
|
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 {
|
exclusiveContent {
|
||||||
|
@ -35,6 +43,10 @@ dependencyResolutionManagement {
|
||||||
includeModule("gradle.plugin.org.gradle.android", "android-cache-fix-gradle-plugin")
|
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()
|
mavenCentral()
|
||||||
}
|
}
|
||||||
versionCatalogs { create("libs") { from(files("../gradle/libs.versions.toml")) } }
|
versionCatalogs { create("libs") { from(files("../gradle/libs.versions.toml")) } }
|
||||||
|
|
|
@ -11,6 +11,7 @@ package dev.msfjarvis.claw.gradle
|
||||||
import com.android.build.api.dsl.ApplicationExtension
|
import com.android.build.api.dsl.ApplicationExtension
|
||||||
import com.android.build.api.dsl.LibraryExtension
|
import com.android.build.api.dsl.LibraryExtension
|
||||||
import com.android.build.api.variant.ApplicationAndroidComponentsExtension
|
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.api.variant.LibraryAndroidComponentsExtension
|
||||||
import com.android.build.gradle.BaseExtension
|
import com.android.build.gradle.BaseExtension
|
||||||
import dev.msfjarvis.claw.gradle.LintConfig.configureLint
|
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
|
// Disable unit test tasks on the release build type for Android Library projects
|
||||||
extensions.findByType<LibraryAndroidComponentsExtension>()?.run {
|
extensions.findByType<LibraryAndroidComponentsExtension>()?.run {
|
||||||
beforeVariants(selector().withBuildType("release")) {
|
beforeVariants(selector().withBuildType("release")) {
|
||||||
it.enableUnitTest = false
|
(it as HasUnitTestBuilder).enableUnitTest = false
|
||||||
it.enableAndroidTest = 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.
|
// Disable unit test tasks on the release build type for Android Application projects.
|
||||||
extensions.findByType<ApplicationAndroidComponentsExtension>()?.run {
|
extensions.findByType<ApplicationAndroidComponentsExtension>()?.run {
|
||||||
beforeVariants(selector().withBuildType("release")) {
|
beforeVariants(selector().withBuildType("release")) {
|
||||||
it.enableUnitTest = false
|
(it as HasUnitTestBuilder).enableUnitTest = false
|
||||||
it.enableAndroidTest = false
|
it.enableAndroidTest = false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,6 +6,8 @@
|
||||||
*/
|
*/
|
||||||
@file:Suppress("UnstableApiUsage")
|
@file:Suppress("UnstableApiUsage")
|
||||||
|
|
||||||
|
import com.android.build.api.variant.HasUnitTestBuilder
|
||||||
|
|
||||||
plugins {
|
plugins {
|
||||||
id("dev.msfjarvis.claw.android-library")
|
id("dev.msfjarvis.claw.android-library")
|
||||||
id("dev.msfjarvis.claw.kotlin-android")
|
id("dev.msfjarvis.claw.kotlin-android")
|
||||||
|
@ -25,7 +27,7 @@ android {
|
||||||
namespace = "dev.msfjarvis.claw.common"
|
namespace = "dev.msfjarvis.claw.common"
|
||||||
}
|
}
|
||||||
|
|
||||||
androidComponents { beforeVariants { it.enableUnitTest = false } }
|
androidComponents { beforeVariants { (it as HasUnitTestBuilder).enableUnitTest = false } }
|
||||||
|
|
||||||
anvil { generateDaggerFactories.set(true) }
|
anvil { generateDaggerFactories.set(true) }
|
||||||
|
|
||||||
|
|
|
@ -12,6 +12,9 @@ systemProp.org.gradle.android.cache-fix.ignoreVersionCheck=true
|
||||||
org.gradle.configuration-cache=true
|
org.gradle.configuration-cache=true
|
||||||
org.gradle.configuration-cache-problems=warn
|
org.gradle.configuration-cache-problems=warn
|
||||||
|
|
||||||
|
# Enable kotlin-assignment plugin
|
||||||
|
systemProp.org.gradle.unsafe.kotlin.assignment=true
|
||||||
|
|
||||||
# Enable Kotlin incremental compilation
|
# Enable Kotlin incremental compilation
|
||||||
kotlin.incremental=true
|
kotlin.incremental=true
|
||||||
|
|
||||||
|
@ -24,48 +27,30 @@ kapt.incremental.apt=true
|
||||||
# Turn off AP discovery in compile path to enable compile avoidance
|
# Turn off AP discovery in compile path to enable compile avoidance
|
||||||
kapt.include.compile.classpath=false
|
kapt.include.compile.classpath=false
|
||||||
|
|
||||||
# Force disable testOnly flag in manifest
|
|
||||||
android.injected.testOnly=false
|
|
||||||
|
|
||||||
# New incremental compilation for Kotlin
|
# New incremental compilation for Kotlin
|
||||||
kotlin.incremental.useClasspathSnapshot=true
|
kotlin.incremental.useClasspathSnapshot=true
|
||||||
kotlin.build.report.output=file
|
kotlin.build.report.output=file
|
||||||
|
|
||||||
# Use R8 instead of ProGuard for code shrinking.
|
|
||||||
android.enableR8.fullMode=false
|
|
||||||
|
|
||||||
# Enable AndroidX
|
# Enable AndroidX
|
||||||
android.useAndroidX=true
|
android.useAndroidX=true
|
||||||
|
|
||||||
# Enable non-transitive R class namespacing where each library only contains
|
# Disable mostly unused default Android build features
|
||||||
# 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
|
|
||||||
android.defaults.buildfeatures.resvalues=false
|
android.defaults.buildfeatures.resvalues=false
|
||||||
android.defaults.buildfeatures.shaders=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.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
|
# Disable warnings about unsupported features
|
||||||
android.suppressUnsupportedOptionWarnings=android.disableEarlyManifestParsing,android.enablePartialRIncrementalBuilds,android.experimental.testOptions.uninstallIncompatibleApks,android.enableBuildConfigAsBytecode,android.experimental.enableNewResourceShrinker.preciseShrinking,android.suppressUnsupportedOptionWarnings
|
android.suppressUnsupportedOptionWarnings=android.dependencyResolutionAtConfigurationTime.disallow,android.disableEarlyManifestParsing,android.suppressUnsupportedOptionWarnings
|
||||||
|
|
||||||
# Add opens for KAPT
|
# Add opens for KAPT
|
||||||
# https://youtrack.jetbrains.com/issue/KT-45545#focus=Comments-27-4862682.0-0
|
# 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.api=ALL-UNNAMED \
|
||||||
--add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED \
|
--add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED \
|
||||||
--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED \
|
--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED \
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
[versions]
|
[versions]
|
||||||
accompanist = "0.30.1"
|
accompanist = "0.30.1"
|
||||||
agp = "8.0.2"
|
agp = "8.2.0-alpha04"
|
||||||
coil = "2.4.0"
|
coil = "2.4.0"
|
||||||
# @keep used for kotlinCompilerExtensionVersion
|
# @keep used for kotlinCompilerExtensionVersion
|
||||||
composeCompiler = "1.4.4"
|
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-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-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-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-semver = "com.vdurmont:semver4j:3.1.0"
|
||||||
build-sentry = "io.sentry.android.gradle:io.sentry.android.gradle.gradle.plugin:3.7.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"
|
build-spotless = "com.diffplug.spotless:spotless-plugin-gradle:6.19.0"
|
||||||
|
|
|
@ -13,7 +13,7 @@ pluginManagement {
|
||||||
filter {
|
filter {
|
||||||
includeGroup("androidx.databinding")
|
includeGroup("androidx.databinding")
|
||||||
includeGroup("com.android")
|
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.analytics-library")
|
||||||
includeGroup("com.android.tools.build")
|
includeGroup("com.android.tools.build")
|
||||||
includeGroup("com.android.tools.build.jetifier")
|
includeGroup("com.android.tools.build.jetifier")
|
||||||
|
@ -23,7 +23,15 @@ pluginManagement {
|
||||||
includeGroup("com.android.tools.lint")
|
includeGroup("com.android.tools.lint")
|
||||||
includeGroup("com.android.tools.utp")
|
includeGroup("com.android.tools.utp")
|
||||||
includeGroup("com.google.testing.platform")
|
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 {
|
exclusiveContent {
|
||||||
|
@ -40,6 +48,10 @@ pluginManagement {
|
||||||
forRepository { maven("https://oss.sonatype.org/content/repositories/snapshots/") }
|
forRepository { maven("https://oss.sonatype.org/content/repositories/snapshots/") }
|
||||||
filter { includeGroup("dev.msfjarvis.whetstone") }
|
filter { includeGroup("dev.msfjarvis.whetstone") }
|
||||||
}
|
}
|
||||||
|
exclusiveContent {
|
||||||
|
forRepository { maven("https://storage.googleapis.com/r8-releases/raw") }
|
||||||
|
filter { includeModule("com.android.tools", "r8") }
|
||||||
|
}
|
||||||
includeBuild("build-logic")
|
includeBuild("build-logic")
|
||||||
mavenCentral()
|
mavenCentral()
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue