// Top-level build file where you can add configuration options common to all sub-projects/modules. def props = new Properties() def configPath = project.hasProperty('configPath') ? new File(project.configPath) : rootProject.file('config.prop') if (configPath.exists()) configPath.withInputStream { is -> props.load(is) } buildscript { ext.vKotlin = '1.3.60' repositories { google() jcenter() maven { url 'http://storage.googleapis.com/r8-releases/raw' } maven { url 'https://kotlin.bintray.com/kotlinx' } } dependencies { classpath 'com.android.tools.build:gradle:3.5.1' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:${vKotlin}" // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } task clean(type: Delete) { delete rootProject.buildDir } ext.props = props subprojects { repositories { google() jcenter() maven { url "https://jitpack.io" } maven { url "http://oss.sonatype.org/content/repositories/snapshots" } } afterEvaluate { module -> if (getPlugins().hasPlugin('com.android.library') || getPlugins().hasPlugin('com.android.application')) { android { compileSdkVersion 29 buildToolsVersion '29.0.2' defaultConfig { if (minSdkVersion == null) minSdkVersion 17 targetSdkVersion 28 } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } } } if (module.name == 'app' || module.name == 'stub') { android { signingConfigs { config { storeFile new File(props['keyStore']) storePassword props['keyStorePass'] keyAlias props['keyAlias'] keyPassword props['keyPass'] } } buildTypes { debug { // If keystore exists, sign the APK with custom signature if (signingConfigs.config.storeFile.exists()) signingConfig signingConfigs.config } release { signingConfig signingConfigs.config } } lintOptions { disable 'MissingTranslation' } aaptOptions { // Handle resource IDs File resId = project.file('res-ids.txt') if (resId.exists()) additionalParameters "--stable-ids", "${resId.absolutePath}" else additionalParameters "--emit-ids", "${resId.absolutePath}" } } } } }