update tv ux, fix configuration-cache issues

This commit is contained in:
2026-07-21 14:38:02 +03:00
parent a264db284d
commit a062427d0d
11 changed files with 50 additions and 79 deletions
@@ -7,26 +7,32 @@ import org.gradle.kotlin.dsl.configure
import ru.shadowsparky.applyCoroutines
import ru.shadowsparky.findLibs
import ru.shadowsparky.setupAndroid
import java.io.File
import java.io.FileInputStream
import java.util.Properties
class AndroidApplication : Plugin<Project> {
override fun apply(target: Project) = with(target) {
val libs = findLibs()
pluginManager.apply(libs.findPlugin("android.application").get().get().pluginId)
val keystoreFileProvider = rootProject.layout.projectDirectory.file("keystore.properties")
val keystorePropertiesProvider =
providers.fileContents(keystoreFileProvider).asText.map { content ->
Properties().apply { content.reader().use { load(it) } }
}
extensions.configure<ApplicationExtension> {
val keystorePropertiesFile = File(rootDir, "keystore.properties")
signingConfigs {
if (keystorePropertiesFile.exists()) {
val keystoreProperties = Properties()
keystoreProperties.load(FileInputStream(keystorePropertiesFile))
create("release") {
storeFile = File(rootDir, "release.keystore")
check(storeFile?.exists() == true) { "Unable to load keystore file!" }
storePassword = keystoreProperties["RELEASE_STORE_PASSWORD"].toString()
keyAlias = keystoreProperties["RELEASE_KEY_ALIAS"].toString()
keyPassword = keystoreProperties["RELEASE_KEY_PASSWORD"].toString()
register("release") {
val propertiesFile = keystoreFileProvider.asFile
if (propertiesFile.exists()) {
val properties = keystorePropertiesProvider.get()
val keystoreFile = rootProject.layout.projectDirectory.file("release.keystore").asFile
check(keystoreFile.exists()) { "Unable to load keystore file!" }
storeFile = keystoreFile
storePassword = properties.getProperty("RELEASE_STORE_PASSWORD")
keyAlias = properties.getProperty("RELEASE_KEY_ALIAS")
keyPassword = properties.getProperty("RELEASE_KEY_PASSWORD")
}
}
}
@@ -38,15 +44,15 @@ class AndroidApplication : Plugin<Project> {
getByName("release") {
isMinifyEnabled = true
isShrinkResources = true
if (keystorePropertiesFile.exists()) {
if (signingConfigs.findByName("release")?.storeFile?.exists() == true) {
signingConfig = signingConfigs.getByName("release")
}
proguardFiles(file("proguard-rules.pro"))
proguardFiles(layout.projectDirectory.file("proguard-rules.pro"))
}
getByName("debug") {
isMinifyEnabled = false
applicationIdSuffix = ".debug"
if (keystorePropertiesFile.exists()) {
if (signingConfigs.findByName("release")?.storeFile?.exists() == true) {
signingConfig = signingConfigs.getByName("release")
}
}