plugins { id 'com.android.application' id 'org.jetbrains.kotlin.android' } def getVersionCode = { -> try { def stdout = new ByteArrayOutputStream() exec { commandLine 'git', 'rev-list', '--first-parent', '--count', 'master' standardOutput = stdout } return Integer.parseInt(stdout.toString().trim()) } catch (ignored) { return -1; } } def getVersionName = { -> try { def stdout = new ByteArrayOutputStream() exec { commandLine 'git', 'describe', '--always', '--tags', '--dirty' standardOutput = stdout } return stdout.toString().trim() } catch (ignored) { return null; } } // Signing config, mainly intended for debug builds def keystorePropertiesFile = rootProject.file("keystore.properties"); def keystoreProperties = new Properties() keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) android { compileSdk 34 defaultConfig { applicationId "im.angry.openeuicc" minSdk 30 targetSdk 31 versionCode getVersionCode() versionName getVersionName() testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } signingConfigs { config { storeFile file(keystoreProperties['storeFile']) storePassword keystoreProperties['storePassword'] keyAlias keystoreProperties['keyAlias'] keyPassword keystoreProperties['keyPassword'] } } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' signingConfig signingConfigs.config } debug { signingConfig signingConfigs.config } } applicationVariants.all { variant -> if (variant.name == "debug") { variant.outputs.each { o -> o.versionCodeOverride = System.currentTimeSeconds() } } } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } kotlinOptions { jvmTarget = '1.8' } namespace 'im.angry.openeuicc' } dependencies { compileOnly project(':libs:hidden-apis-stub') implementation project(':libs:hidden-apis-shim') implementation project(':libs:lpac-jni') implementation project(":app-common") implementation 'androidx.appcompat:appcompat:1.6.1' testImplementation 'junit:junit:4.13.2' androidTestImplementation 'androidx.test.ext:junit:1.1.3' androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0' }