buildSrc/src/main/kotlin/AndroidSigning.kt
changeset 19 91a3ad3b1b9c
parent 10 9aad34f43f71
child 20 5d8a0555733d
--- a/buildSrc/src/main/kotlin/AndroidSigning.kt	Wed Oct 06 16:05:47 2021 -0400
+++ b/buildSrc/src/main/kotlin/AndroidSigning.kt	Tue Nov 29 14:05:44 2022 -0400
@@ -21,16 +21,22 @@
  */
 package com.geekorum.build
 
-import com.android.build.gradle.BaseExtension
+import com.android.build.api.dsl.*
 import org.gradle.api.Project
 
+private typealias AppExtensionWithSigning = CommonExtension<*, ApplicationBuildType, *, *>
+private typealias LibExtensionWithSigning = CommonExtension<*, LibraryBuildType, *, *>
+private typealias TestExtensionWithSigning = CommonExtension<*, TestBuildType, *, *>
+
+// TODO  This implicitly supports only the AppPlugin
+//  should we support other android plugins: LibraryPlugin TestPlugin ?
 internal fun Project.configureReleaseSigningConfig() {
     val releaseStoreFile = findProperty("RELEASE_STORE_FILE") as? String ?: ""
     val releaseStorePassword = findProperty("RELEASE_STORE_PASSWORD") as? String ?: ""
     val releaseKeyAlias= findProperty("RELEASE_KEY_ALIAS") as? String ?: ""
     val releaseKeyPassword= findProperty("RELEASE_KEY_PASSWORD") as? String ?: ""
 
-    extensions.configure<BaseExtension>("android") {
+    extensions.configure<AppExtensionWithSigning>("android") {
         signingConfigs {
             register("release") {
                 storeFile =  file(releaseStoreFile)