Remove TOML catagog file & clean warning.

Expect that fucking rootProject.exec in gradle.
This commit is contained in:
Thomas Andres Gomez 2025-10-08 22:55:55 +02:00
parent 1a73795615
commit 4944f06e91
16 changed files with 78 additions and 253 deletions

View file

@ -1,12 +1,15 @@
import com.android.build.api.dsl.SigningConfig
import org.apache.commons.io.output.ByteArrayOutputStream
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
import java.nio.charset.Charset
plugins {
alias(libs.plugins.android.application)
alias(libs.plugins.kotlin.android)
alias(libs.plugins.kotlin.compose)
alias(libs.plugins.jetbrains.kotlin.serialization)
alias(libs.plugins.hilt)
alias(libs.plugins.ksp)
id("com.android.application")
id("org.jetbrains.kotlin.android")
id("org.jetbrains.kotlin.plugin.compose")
id("org.jetbrains.kotlin.plugin.serialization")
id("com.google.dagger.hilt.android")
id("com.google.devtools.ksp")
}
android {
@ -14,13 +17,7 @@ android {
compileSdk = 36
signingConfigs {
create("pixelized") {
storeFile =
(project.properties["PIXELIZED_RELEASE_STORE_FILE"] as? String)?.let { file(it) }
storePassword = project.properties["PIXELIZED_RELEASE_STORE_PASSWORD"] as? String
keyAlias = project.properties["PIXELIZED_RELEASE_KEY_ALIAS"] as? String
keyPassword = project.properties["PIXELIZED_RELEASE_KEY_PASSWORD"] as? String
}
create("pixelized") { populatePixelizedSigningConfig() }
}
defaultConfig {
@ -59,14 +56,18 @@ android {
)
}
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
}
kotlinOptions {
jvmTarget = "11"
freeCompilerArgs = listOf("-XXLanguage:+PropertyParamAnnotationDefaultTargetMode")
kotlin {
compileOptions {
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
}
compilerOptions {
jvmTarget = JvmTarget.JVM_11
freeCompilerArgs = listOf("-XXLanguage:+PropertyParamAnnotationDefaultTargetMode")
}
}
buildFeatures {
compose = true
}
@ -74,50 +75,56 @@ android {
dependencies {
implementation(libs.androidx.core.ktx)
implementation(libs.androidx.lifecycle.runtime.ktx)
implementation(libs.androidx.activity.compose)
implementation(platform(libs.androidx.compose.bom))
implementation(libs.androidx.ui)
implementation(libs.androidx.ui.graphics)
implementation(libs.androidx.ui.tooling.preview)
implementation(libs.androidx.material3)
implementation(libs.androidx.material3.windowsizeclass)
implementation(libs.androidx.adaptive.layout)
implementation(libs.androidx.material3.navigation3)
// Android
implementation("androidx.core:core-ktx:1.17.0")
implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.9.4")
implementation("androidx.activity:activity-compose:1.11.0")
implementation("androidx.compose.ui:ui:1.9.3")
implementation("androidx.compose.ui:ui-graphics:1.9.3")
implementation("androidx.compose.ui:ui-tooling:1.9.3")
implementation("androidx.compose.ui:ui-tooling-preview:1.9.3")
implementation(libs.androidx.datastore)
implementation(libs.kotlinx.serialization.core)
implementation(libs.kotlinx.serialization.json)
implementation(libs.androidx.navigation3.runtime)
implementation(libs.androidx.navigation3.ui)
implementation(libs.androidx.hilt.navigation.compose)
implementation(libs.androidx.lifecycle.viewmodel.navigation3)
implementation(libs.androidx.material.icons.extended)
// Material
implementation("androidx.compose.material3:material3:1.4.0")
implementation("androidx.compose.material:material-icons-extended:1.7.8")
implementation("androidx.compose.material3:material3-window-size-class:1.4.0")
implementation("androidx.compose.material3.adaptive:adaptive-layout:1.1.0")
implementation(libs.hilt.android)
ksp(libs.hilt.compiler)
// Navigation
implementation("androidx.navigation3:navigation3-runtime:1.0.0-alpha11")
implementation("androidx.navigation3:navigation3-ui:1.0.0-alpha11")
implementation("androidx.compose.material3.adaptive:adaptive-navigation3:1.0.0-SNAPSHOT")
implementation("androidx.lifecycle:lifecycle-viewmodel-navigation3:1.0.0-SNAPSHOT")
testImplementation(libs.junit)
androidTestImplementation(libs.androidx.junit)
androidTestImplementation(libs.androidx.espresso.core)
androidTestImplementation(platform(libs.androidx.compose.bom))
androidTestImplementation(libs.androidx.ui.test.junit4)
debugImplementation(libs.androidx.ui.tooling)
debugImplementation(libs.androidx.ui.test.manifest)
// Preferences
implementation("androidx.datastore:datastore-preferences:1.1.7")
// Json
implementation("org.jetbrains.kotlinx:kotlinx-serialization-core:1.9.0")
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.9.0")
// Injection
implementation("androidx.hilt:hilt-navigation-compose:1.3.0")
implementation("com.google.dagger:hilt-android:2.57.2")
ksp("com.google.dagger:hilt-compiler:2.57.2")
}
@Suppress("DEPRECATION")
private fun getGitBuildNumber(
charset: Charset = Charset.defaultCharset(),
): Int {
return try {
val stdout = org.apache.commons.io.output.ByteArrayOutputStream()
return ByteArrayOutputStream().use { stream ->
rootProject.exec {
commandLine("git", "rev-list", "--count", "HEAD")
standardOutput = stdout
standardOutput = stream
}
stdout.toString(charset).trim().toInt()
} catch (_: Exception) {
1
stream.toString(charset).trim().toIntOrNull() ?: 1
}
}
fun SigningConfig.populatePixelizedSigningConfig() {
storeFile = (project.properties["PIXELIZED_RELEASE_STORE_FILE"] as? String)?.let { file(it) }
storePassword = project.properties["PIXELIZED_RELEASE_STORE_PASSWORD"] as? String
keyAlias = project.properties["PIXELIZED_RELEASE_KEY_ALIAS"] as? String
keyPassword = project.properties["PIXELIZED_RELEASE_KEY_PASSWORD"] as? String
}