update tv ux, fix configuration-cache issues
This commit is contained in:
+21
-15
@@ -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")
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user