|
| 1 | +// root build.gradle.kts |
| 2 | +import java.util.Properties |
| 3 | +import java.io.FileInputStream |
| 4 | + |
| 5 | +plugins { |
| 6 | + alias(libs.plugins.android.application) apply false |
| 7 | + alias(libs.plugins.android.library) apply false |
| 8 | + alias(libs.plugins.androidx.navigation.safeargs) apply false |
| 9 | +} |
| 10 | + |
| 11 | +/* JitPack: use tag as versionName. */ |
| 12 | +if (System.getenv("JITPACK") != null) { |
| 13 | + project.ext.set("version_name", System.getenv("VERSION")) |
| 14 | +} |
| 15 | + |
| 16 | +/** Build Configurations */ |
| 17 | +project.ext.set("archiveBuildTypes", arrayOf("debug", "release")) |
| 18 | + |
| 19 | +/** Modules */ |
| 20 | +allprojects { |
| 21 | + |
| 22 | + // Keystore Settings, loaded from keystore.properties |
| 23 | + val keystoreConfig: File = rootProject.file("keystore.properties") |
| 24 | + if (keystoreConfig.exists()) { |
| 25 | + val keystore = Properties() |
| 26 | + val fis = FileInputStream(keystoreConfig) |
| 27 | + keystore.load(fis) |
| 28 | + project.ext.set("debugStoreFile", System.getProperty("user.home") + "/.android/debug.keystore") |
| 29 | + project.ext.set("debugKeystorePass", keystore["debugKeystorePass"]) |
| 30 | + project.ext.set("debugKeyAlias", keystore["debugKeyAlias"]) |
| 31 | + project.ext.set("debugKeyPass", keystore["debugKeyPass"]) |
| 32 | + project.ext.set("releaseStoreFile", System.getProperty("user.home") + "/.android/release.keystore") |
| 33 | + project.ext.set("releaseKeystorePass", keystore["releaseKeystorePass"]) |
| 34 | + project.ext.set("releaseKeyAlias", keystore["releaseKeyAlias"]) |
| 35 | + project.ext.set("releaseKeyPass", keystore["releaseKeyPass"]) |
| 36 | + fis.close() |
| 37 | + } else { |
| 38 | + println("file missing: $keystoreConfig") |
| 39 | + } |
| 40 | + |
| 41 | + /** Runtime JAR files in the classpath should have the same version. */ |
| 42 | + configurations.configureEach { |
| 43 | + val list: List<String> = listOf("kotlin-stdlib", "kotlin-stdlib-jdk8", "kotlin-stdlib-common") |
| 44 | + resolutionStrategy.eachDependency { |
| 45 | + if (requested.group == "org.jetbrains.kotlin") { |
| 46 | + if (list.contains(requested.name)) { |
| 47 | + useVersion(libs.versions.kotlin.get()) |
| 48 | + } |
| 49 | + } |
| 50 | + } |
| 51 | + } |
| 52 | + |
| 53 | + /** When projects were evaluated */ |
| 54 | + gradle.projectsEvaluated { |
| 55 | + tasks.withType<JavaCompile>().configureEach { |
| 56 | + options.compilerArgs.addAll( |
| 57 | + listOf("-Xlint:unchecked", "-Xlint:deprecation") |
| 58 | + ) |
| 59 | + } |
| 60 | + } |
| 61 | +} |
| 62 | + |
| 63 | +// rootProject > clean |
| 64 | +tasks.withType<Delete>().configureEach { |
| 65 | + delete(rootProject.fileTree("build")) |
| 66 | + delete(project.fileTree("build")) |
| 67 | +} |
0 commit comments