diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 279db4a63b7e9465661e10bd91c45c8f9a9802b3..24484e8e9ed74091d2f0d5348c210485d99d2f75 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -37,13 +37,12 @@ android { compileSdkVersion(28) signingConfigs { - val signing = project.rootProject.properties("signing.properties") - if (signing != null) { + SigningData.of(project.rootProject.properties("signing.properties"))?.let { create("default") { - storeFile = file(signing.getProperty("storeFile")) - storePassword = signing.getProperty("storePassword") - keyAlias = signing.getProperty("keyAlias") - keyPassword = signing.getProperty("keyPassword") + storeFile = file(it.storeFile) + storePassword = it.storePassword + keyAlias = it.keyAlias + keyPassword = it.keyPassword } } } diff --git a/buildSrc/src/main/kotlin/ProjectHelper.kt b/buildSrc/src/main/kotlin/ProjectHelper.kt index d7517e04eb67b5253c9917a0074b8165745bb6bb..1a9f2c31863975137fd0be0fd18a06a8287d0ae4 100644 --- a/buildSrc/src/main/kotlin/ProjectHelper.kt +++ b/buildSrc/src/main/kotlin/ProjectHelper.kt @@ -41,3 +41,23 @@ fun Project.properties(fileName: String): Properties? { props.load(file.inputStream()) return props } + +data class SigningData( + val storeFile: String, + val storePassword: String, + val keyAlias: String, + val keyPassword: String +) { + companion object { + fun of(properties: Properties?): SigningData? { + if (properties == null) return null + + val storeFile = properties.getProperty("storeFile") ?: return null + val storePassword = properties.getProperty("storePassword") ?: return null + val keyAlias = properties.getProperty("keyAlias") ?: return null + val keyPassword = properties.getProperty("keyPassword") ?: return null + + return SigningData(storeFile, storePassword, keyAlias, keyPassword) + } + } +}