--- 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)