11@file:Suppress(" UnstableApiUsage" )
22
3+ import org.gradle.internal.extensions.core.extra
4+
35plugins {
46 alias(libs.plugins.android)
5- alias(libs.plugins.kotlin.android)
67 alias(libs.plugins.kotlin.ksp)
78 alias(libs.plugins.kotlin.serialization.plugin)
89 alias(libs.plugins.compose.compiler)
@@ -15,14 +16,17 @@ plugins {
1516 id(" com.google.android.gms.oss-licenses-plugin" )
1617}
1718
19+ val gitVersionName: String by rootProject.extra
20+ val gitVersionCode: String by rootProject.extra
1821android {
22+ namespace = " com.pnuema.bible.android"
1923 compileSdk = libs.versions.targetSdk.get().toInt()
2024 defaultConfig {
2125 applicationId = " com.pnuema.bible.android"
2226 minSdk = libs.versions.minSdk.get().toInt()
2327 targetSdk = libs.versions.targetSdk.get().toInt()
24- versionCode = 1
25- versionName = " 1.0 "
28+ versionCode = gitVersionCode.toInt()
29+ versionName = gitVersionName
2630 testInstrumentationRunner = " androidx.test.runner.AndroidJUnitRunner"
2731 vectorDrawables {
2832 useSupportLibrary = true
@@ -36,34 +40,85 @@ android {
3640 }
3741 }
3842 }
43+
44+ signingConfigs {
45+ val bibleCertLocation: String? by rootProject.extra
46+ val certLocation: String = if (System .getenv(" bibleCertLocation" ) == null ) bibleCertLocation!! else System .getenv(" bibleCertLocation" )
47+
48+ val bibleKeystorePassword: String? by rootProject.extra
49+ val certPass: String = if (System .getenv(" bibleKeystorePassword" ) == null ) bibleKeystorePassword!! else System .getenv(" bibleKeystorePassword" )
50+
51+ register(" release" ) {
52+ storeFile = file(certLocation)
53+ storePassword = certPass
54+ keyAlias = " bible"
55+ keyPassword = certPass
56+ }
57+ named(" debug" ) {
58+ storeFile = file(" debug.keystore" )
59+ storePassword = " android"
60+ keyAlias = " androiddebugkey"
61+ keyPassword = " android"
62+ }
63+ }
64+
3965 buildTypes {
40- named(" release" ) {
66+ release {
67+ proguardFiles(
68+ getDefaultProguardFile(" proguard-android-optimize.txt" ),
69+ " proguard-rules.pro"
70+ )
71+ isDebuggable = false
72+ isMinifyEnabled = false
73+ isShrinkResources = false
74+ enableUnitTestCoverage = false
75+ signingConfig = signingConfigs.getByName(" release" )
76+ }
77+ debug {
78+ versionNameSuffix = " -debug"
79+ applicationIdSuffix = " .debug"
80+ isDebuggable = true
4181 isMinifyEnabled = false
42- setProguardFiles(listOf (getDefaultProguardFile(" proguard-android.txt" ), " proguard-rules.pro" ))
82+ isShrinkResources = false
83+ proguardFiles(
84+ getDefaultProguardFile(" proguard-android-optimize.txt" ),
85+ " proguard-rules.pro"
86+ )
87+ enableUnitTestCoverage = true
88+ signingConfig = signingConfigs.getByName(" debug" )
4389 }
4490 }
4591
4692 compileOptions {
47- sourceCompatibility = JavaVersion .VERSION_17
48- targetCompatibility = JavaVersion .VERSION_17
49- }
50-
51- kotlin {
52- jvmToolchain(JavaVersion .VERSION_17 .toString().toInt())
93+ sourceCompatibility = JavaVersion .VERSION_21
94+ targetCompatibility = JavaVersion .VERSION_21
5395 }
5496
5597 buildFeatures {
56- buildConfig = true
5798 compose = true
99+ buildConfig = true
58100 }
59101
60- namespace = " com.pnuema.bible.android"
102+ testOptions {
103+ unitTests.isReturnDefaultValues = true
104+ }
61105
62106 sourceSets {
63- getByName(" main" ).java.srcDirs(" src/main/kotlin" )
107+ getByName(" test" ) {
108+ kotlin.directories + = " src/test/java"
109+ kotlin.directories + = " src/test/kotlin"
110+ }
111+ getByName(" androidTest" ) {
112+ kotlin.directories + = " src/androidTest/java"
113+ kotlin.directories + = " src/androidTest/kotlin"
114+ }
64115 }
65116}
66117
118+ kotlin {
119+ jvmToolchain(JavaVersion .VERSION_21 .toString().toInt())
120+ }
121+
67122tasks.named< com.github.benmanes.gradle.versions.updates.DependencyUpdatesTask > (" dependencyUpdates" ).configure {
68123 // optional parameters
69124 checkForGradleUpdate = true
0 commit comments