import io.github.reactivecircus.appversioning.SemVer plugins { id("io.github.reactivecircus.app-versioning") version "1.3.1" } apply plugin: 'com.android.application' //return a BuildConfigField from a properties file. def static getBuildConfigField(String property){ def propFile = new File("keystore.properties") def value if(propFile.exists()) { Properties properties = new Properties() properties.load(new FileInputStream(propFile)) value = "\"" + properties.getProperty(property) + "\"" } else { value = "\"" + System.getenv(property) + "\"" } return value } appVersioning { overrideVersionCode { gitTag, providers, variantInfo -> //SemVer-based version code def semVer = SemVer.fromGitTag(gitTag) semVer.major * 1000000 + semVer.minor * 1000 + semVer.patch //Timestamp-based version code //Instant.now().epochSecond.toInt() } } android { namespace 'es.ugr.swad.swadroid' compileSdk 34 lint { abortOnError false } compileOptions { sourceCompatibility JavaVersion.VERSION_17 targetCompatibility JavaVersion.VERSION_17 } defaultConfig { applicationId "es.ugr.swad.swadroid" minSdkVersion 24 targetSdkVersion 34 testApplicationId "es.ugr.swad.swadroid.test" testInstrumentationRunner "android.test.InstrumentationTestRunner" buildConfigField "String", "SWAD_APP_KEY", getBuildConfigField("SWAD_APP_KEY") } def RELEASE_STORE_FILE = System.getenv("RELEASE_STORE_FILE") buildFeatures { buildConfig true } if (RELEASE_STORE_FILE) { signingConfigs { release { storeFile file(RELEASE_STORE_FILE) storePassword System.getenv("RELEASE_STORE_PASSWORD") keyAlias System.getenv("RELEASE_KEY_ALIAS") keyPassword System.getenv("RELEASE_KEY_PASSWORD") v1SigningEnabled true v2SigningEnabled true enableV3Signing = true enableV4Signing = true } } } if (RELEASE_STORE_FILE) { buildTypes { release { signingConfig signingConfigs.release } } } else { project.logger.warn("RELEASE_STORE_FILE is not defined. Skipping signing step") } } dependencies { implementation 'androidx.legacy:legacy-support-v4:1.0.0' implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'com.google.code.ksoap2-android:ksoap2-android:3.6.4' implementation 'commons-io:commons-io:2.11.0' implementation 'com.nostra13.universalimageloader:universal-image-loader:1.9.5' implementation 'com.journeyapps:zxing-android-embedded:4.3.0@aar' implementation 'com.google.zxing:core:3.5.2' implementation 'com.google.code.gson:gson:2.10.1' implementation 'com.google.android.material:material:1.10.0' }