diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 0c2b510..319e2d1 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -7,6 +7,10 @@ plugins { android { namespace = Config.android.nameSpace + + defaultConfig { + signingConfig = signingConfigs.getByName("config") + } } dependencies { diff --git a/build-logic/convention/src/main/kotlin/store/newsbriefing/app/buildlogic/extension/SigningConfig.kt b/build-logic/convention/src/main/kotlin/store/newsbriefing/app/buildlogic/extension/SigningConfig.kt new file mode 100644 index 0000000..ccf6f73 --- /dev/null +++ b/build-logic/convention/src/main/kotlin/store/newsbriefing/app/buildlogic/extension/SigningConfig.kt @@ -0,0 +1,24 @@ +package store.newsbriefing.app.buildlogic.extension + +import com.android.build.api.dsl.CommonExtension +import org.gradle.api.Project +import java.util.Properties + +internal fun Project.configureSigningConfig( + commonExtension: CommonExtension<*, *, *, *, *>, +) { + val keyStoreProperties = Properties().apply { + load(rootProject.file("keystore.properties").inputStream()) + } + + commonExtension.apply { + signingConfigs { + create("config") { + storeFile = file(keyStoreProperties["STORE_FILE"] as String) + storePassword = keyStoreProperties["STORE_PASSWORD"] as String + keyAlias = keyStoreProperties["KEY_ALIAS"] as String + keyPassword = keyStoreProperties["KEY_PASSWORD"] as String + } + } + } +} \ No newline at end of file diff --git a/build-logic/convention/src/main/kotlin/store/newsbriefing/app/buildlogic/plugin/AndroidApplicationConventionPlugin.kt b/build-logic/convention/src/main/kotlin/store/newsbriefing/app/buildlogic/plugin/AndroidApplicationConventionPlugin.kt index dc34510..3dc56db 100644 --- a/build-logic/convention/src/main/kotlin/store/newsbriefing/app/buildlogic/plugin/AndroidApplicationConventionPlugin.kt +++ b/build-logic/convention/src/main/kotlin/store/newsbriefing/app/buildlogic/plugin/AndroidApplicationConventionPlugin.kt @@ -1,13 +1,13 @@ package store.newsbriefing.app.buildlogic.plugin import com.android.build.api.dsl.ApplicationExtension -import com.google.android.libraries.mapsplatform.secrets_gradle_plugin.SecretsPluginExtension import org.gradle.api.Plugin import org.gradle.api.Project import org.gradle.kotlin.dsl.configure import store.newsbriefing.app.buildlogic.config.Config import store.newsbriefing.app.buildlogic.extension.configureKotlinAndroid import store.newsbriefing.app.buildlogic.extension.configureSecret +import store.newsbriefing.app.buildlogic.extension.configureSigningConfig class AndroidApplicationConventionPlugin : Plugin { override fun apply(target: Project) { @@ -27,6 +27,7 @@ class AndroidApplicationConventionPlugin : Plugin { versionName = Config.android.versionName } configureKotlinAndroid(this) + configureSigningConfig(this) packaging { resources {