//noinspection GradleCompatible apply plugin: 'com.android.application' ext.versionMajor = 0 ext.versionMinor = 65 ext.versionPatch = new Date().format("yyyyMMdd") ext.versionClassifier = null ext.isSnapshot = false ext.minimumSdkVersion = defaultMinSdkVersion ext.git_version= ("git rev-parse --short HEAD".execute().text.trim()) // Try reading secrets from file def secretsPropertiesFile = rootProject.file("secrets.properties") def secretProperties = new Properties() if (secretsPropertiesFile.exists()) { secretProperties.load(new FileInputStream(secretsPropertiesFile)) } // Otherwise read from environment variables, this happens in CI else { secretProperties.setProperty("signing_keystore_password", "${System.getenv('signing_keystore_password')}") secretProperties.setProperty("signing_key_password", "${System.getenv('signing_key_password')}") secretProperties.setProperty("signing_key_alias", "${System.getenv('signing_key_alias')}") } android { signingConfigs { release { } prerelease { storeFile file("../android-signing-keystore.jks") storePassword secretProperties['signing_keystore_password'] keyAlias secretProperties['signing_key_alias'] keyPassword secretProperties['signing_key_password'] } } compileSdkVersion 29 defaultConfig { applicationId "net.foucry.pilldroid" minSdkVersion defaultMinSdkVersion targetSdkVersion defaultTargetSdkVersion versionCode generateVersionCode() // 190010203 versionName generateVersionName() // 1.2.3-SNAPSHOT multiDexEnabled true } buildTypes { debug { minifyEnabled false debuggable true applicationIdSuffix ".debug" } release { minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' debuggable false } prerelease { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' debuggable false signingConfig signingConfigs.prerelease } } flavorDimensions "version" productFlavors { dev { resValue "string", "app_name", "PillDroid dev" dimension ="version" } product { resValue "string", "app_name", "PillDroid" dimension ="version" } preproduct { resValue "string", "app_name", "PillDroid Pre-Release" dimension ="version" } } compileOptions { coreLibraryDesugaringEnabled true sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } dexOptions { incremental false javaMaxHeapSize "4g" } allprojects { tasks.withType(JavaCompile) { options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation" } } } repositories { mavenCentral() } sourceSets { main { java { exclude 'net/foucry/pilldroid/scanActivity.java' } } } dependencies { implementation fileTree(include: ['*.jar'], dir: 'libs') testImplementation 'junit:junit:4.13.2' implementation 'androidx.appcompat:appcompat:1.2.0' implementation 'androidx.recyclerview:recyclerview:1.2.1' implementation 'com.google.android.material:material:1.4.0' implementation 'androidx.legacy:legacy-support-v4:1.0.0' implementation 'com.journeyapps:zxing-android-embedded:4.3.0' implementation 'androidx.core:core:1.6.0' // debugImplementation 'com.amitshekhar.android:debug-db:1.0.6' implementation 'io.sentry:sentry-android:5.4.0' coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.1.5' } private Integer generateVersionCode() { Integer versionCode = ext.minimumSdkVersion * 1000 + ext.versionMajor * 100 + ext.versionMinor print "versionCode = " + versionCode +"\n" return versionCode } private String generateVersionName() { String versionName = "${ext.versionMajor}.${ext.versionMinor}.${ext.versionPatch}" if (ext.versionClassifier == null && ext.isSnapshot) { ext.versionClassifier = "SNAPSHOT" } if (ext.versionClassifier != null) { versionName += "-" + ext.versionClassifier } if (ext.git_version != null) { versionName += "-" + ext.git_version } print "versionName = " + versionName return versionName }