mirror of
https://github.com/d4rken-org/capod.git
synced 2026-09-14 18:26:11 -04:00
chore: Upgrade to AGP 9.0.0 and Gradle 9.3.1
This commit is contained in:
+37
-13
@@ -94,21 +94,9 @@ android {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
buildOutputs.all {
|
|
||||||
val variantOutputImpl = this as com.android.build.gradle.internal.api.BaseVariantOutputImpl
|
|
||||||
val variantName: String = variantOutputImpl.name
|
|
||||||
|
|
||||||
if (listOf("release", "beta").any { variantName.lowercase().contains(it) }) {
|
|
||||||
val outputFileName = projectConfig.packageName +
|
|
||||||
"-v${defaultConfig.versionName}-${defaultConfig.versionCode}" +
|
|
||||||
"-${variantName.uppercase()}.apk"
|
|
||||||
|
|
||||||
variantOutputImpl.outputFileName = outputFileName
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
buildFeatures {
|
buildFeatures {
|
||||||
viewBinding = true
|
viewBinding = true
|
||||||
|
buildConfig = true
|
||||||
}
|
}
|
||||||
|
|
||||||
compileOptions {
|
compileOptions {
|
||||||
@@ -141,6 +129,42 @@ android {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
androidComponents {
|
||||||
|
onVariants { variant ->
|
||||||
|
val buildType = variant.buildType ?: return@onVariants
|
||||||
|
if (buildType != "release" && buildType != "beta") return@onVariants
|
||||||
|
|
||||||
|
val formattedVariantName = variant.name
|
||||||
|
.replace(Regex("([a-z])([A-Z])"), "$1-$2")
|
||||||
|
.uppercase()
|
||||||
|
|
||||||
|
val apkFolder = variant.artifacts.get(com.android.build.api.artifact.SingleArtifact.APK)
|
||||||
|
val loader = variant.artifacts.getBuiltArtifactsLoader()
|
||||||
|
val packageName = projectConfig.packageName
|
||||||
|
|
||||||
|
val renameTask = tasks.register("rename${variant.name.replaceFirstChar { it.uppercase() }}Apk") {
|
||||||
|
inputs.files(apkFolder)
|
||||||
|
outputs.upToDateWhen { false }
|
||||||
|
|
||||||
|
doLast {
|
||||||
|
val builtArtifacts = loader.load(apkFolder.get()) ?: return@doLast
|
||||||
|
|
||||||
|
builtArtifacts.elements.forEach { element ->
|
||||||
|
val apkFile = File(element.outputFile)
|
||||||
|
val outputFileName = "$packageName-v${element.versionName}-${element.versionCode}-$formattedVariantName.apk"
|
||||||
|
if (apkFile.exists() && apkFile.name != outputFileName) {
|
||||||
|
apkFile.copyTo(File(apkFile.parentFile, outputFileName), overwrite = true)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
tasks.matching { it.name == "assemble${variant.name.replaceFirstChar { it.uppercase() }}" }.configureEach {
|
||||||
|
finalizedBy(renameTask)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:2.1.5")
|
coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:2.1.5")
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -1,5 +1,5 @@
|
|||||||
plugins {
|
plugins {
|
||||||
id("com.google.devtools.ksp") version "2.2.10-2.0.2" apply false
|
id("com.google.devtools.ksp") version "2.3.2" apply false
|
||||||
}
|
}
|
||||||
|
|
||||||
buildscript {
|
buildscript {
|
||||||
@@ -8,7 +8,7 @@ buildscript {
|
|||||||
mavenCentral()
|
mavenCentral()
|
||||||
}
|
}
|
||||||
dependencies {
|
dependencies {
|
||||||
classpath("com.android.tools.build:gradle:8.13.0")
|
classpath("com.android.tools.build:gradle:9.0.0")
|
||||||
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:${Versions.Kotlin.core}")
|
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:${Versions.Kotlin.core}")
|
||||||
classpath("com.google.dagger:hilt-android-gradle-plugin:${Versions.Dagger.core}")
|
classpath("com.google.dagger:hilt-android-gradle-plugin:${Versions.Dagger.core}")
|
||||||
classpath("androidx.navigation:navigation-safe-args-gradle-plugin:${Versions.AndroidX.Navigation.core}")
|
classpath("androidx.navigation:navigation-safe-args-gradle-plugin:${Versions.AndroidX.Navigation.core}")
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ repositories {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation("com.android.tools.build:gradle:8.13.0")
|
implementation("com.android.tools.build:gradle:9.0.0")
|
||||||
implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:2.2.10")
|
implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:2.2.10")
|
||||||
implementation("com.squareup:javapoet:1.13.0")
|
implementation("com.squareup:javapoet:1.13.0")
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,7 +7,6 @@ import org.gradle.api.tasks.testing.TestResult
|
|||||||
import org.gradle.api.tasks.testing.logging.TestExceptionFormat
|
import org.gradle.api.tasks.testing.logging.TestExceptionFormat
|
||||||
import org.gradle.api.tasks.testing.logging.TestLogEvent
|
import org.gradle.api.tasks.testing.logging.TestLogEvent
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import java.io.FileInputStream
|
|
||||||
import java.util.Properties
|
import java.util.Properties
|
||||||
|
|
||||||
val Project.projectConfig: ProjectConfig
|
val Project.projectConfig: ProjectConfig
|
||||||
@@ -21,23 +20,35 @@ fun SigningConfig.setupCredentials(
|
|||||||
|
|
||||||
if (keyStoreFromEnv?.exists() == true) {
|
if (keyStoreFromEnv?.exists() == true) {
|
||||||
println("Using signing data from environment variables.")
|
println("Using signing data from environment variables.")
|
||||||
|
|
||||||
|
val missingVars = listOf("STORE_PASSWORD", "KEY_ALIAS", "KEY_PASSWORD")
|
||||||
|
.filter { System.getenv(it).isNullOrBlank() }
|
||||||
|
if (missingVars.isNotEmpty()) {
|
||||||
|
println("WARNING: STORE_PATH is set but missing env vars: ${missingVars.joinToString()}")
|
||||||
|
}
|
||||||
|
|
||||||
storeFile = keyStoreFromEnv
|
storeFile = keyStoreFromEnv
|
||||||
storePassword = System.getenv("STORE_PASSWORD")
|
storePassword = System.getenv("STORE_PASSWORD")
|
||||||
keyAlias = System.getenv("KEY_ALIAS")
|
keyAlias = System.getenv("KEY_ALIAS")
|
||||||
keyPassword = System.getenv("KEY_PASSWORD")
|
keyPassword = System.getenv("KEY_PASSWORD")
|
||||||
} else {
|
} else {
|
||||||
println("Using signing data from properties file.")
|
println("Trying signing data from properties file: $signingPropsPath")
|
||||||
val props = Properties().apply {
|
val props = Properties().apply {
|
||||||
signingPropsPath?.takeIf { it.canRead() }?.let { load(FileInputStream(it)) }
|
signingPropsPath?.takeIf { it.canRead() }?.let { file ->
|
||||||
|
file.inputStream().use { stream -> load(stream) }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
val keyStorePath = props.getProperty("release.storePath")?.let { File(it) }
|
val keyStorePath = props.getProperty("release.storePath")?.let { File(it) }
|
||||||
|
|
||||||
if (keyStorePath?.exists() == true) {
|
if (keyStorePath?.exists() == true) {
|
||||||
|
println("Using signing data from properties file: $signingPropsPath")
|
||||||
storeFile = keyStorePath
|
storeFile = keyStorePath
|
||||||
storePassword = props.getProperty("release.storePassword")
|
storePassword = props.getProperty("release.storePassword")
|
||||||
keyAlias = props.getProperty("release.keyAlias")
|
keyAlias = props.getProperty("release.keyAlias")
|
||||||
keyPassword = props.getProperty("release.keyPassword")
|
keyPassword = props.getProperty("release.keyPassword")
|
||||||
|
} else {
|
||||||
|
println("WARNING: No valid signing configuration found (no env vars or properties file)")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+11
-2
@@ -17,7 +17,16 @@ org.gradle.jvmargs=-Xmx4g -Dfile.encoding=UTF-8
|
|||||||
android.useAndroidX=true
|
android.useAndroidX=true
|
||||||
# Kotlin code style for this project: "official" or "obsolete":
|
# Kotlin code style for this project: "official" or "obsolete":
|
||||||
kotlin.code.style=official
|
kotlin.code.style=official
|
||||||
android.defaults.buildfeatures.buildconfig=true
|
|
||||||
android.nonTransitiveRClass=true
|
android.nonTransitiveRClass=true
|
||||||
android.nonFinalResIds=true
|
android.nonFinalResIds=true
|
||||||
org.gradle.unsafe.configuration-cache=false
|
org.gradle.unsafe.configuration-cache=false
|
||||||
|
android.defaults.buildfeatures.resvalues=true
|
||||||
|
android.sdk.defaultTargetSdkToCompileSdkIfUnset=false
|
||||||
|
android.enableAppCompileTimeRClass=false
|
||||||
|
android.usesSdkInManifest.disallowed=false
|
||||||
|
android.uniquePackageNames=false
|
||||||
|
android.dependency.useConstraints=true
|
||||||
|
android.r8.strictFullModeForKeepRules=false
|
||||||
|
android.r8.optimizedResourceShrinking=false
|
||||||
|
android.builtInKotlin=false
|
||||||
|
android.newDsl=false
|
||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
#Tue May 16 07:17:06 CEST 2023
|
#Tue May 16 07:17:06 CEST 2023
|
||||||
distributionBase=GRADLE_USER_HOME
|
distributionBase=GRADLE_USER_HOME
|
||||||
distributionPath=wrapper/dists
|
distributionPath=wrapper/dists
|
||||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14-bin.zip
|
distributionUrl=https\://services.gradle.org/distributions/gradle-9.3.1-bin.zip
|
||||||
zipStoreBase=GRADLE_USER_HOME
|
zipStoreBase=GRADLE_USER_HOME
|
||||||
zipStorePath=wrapper/dists
|
zipStorePath=wrapper/dists
|
||||||
|
|||||||
Reference in New Issue
Block a user