forked from upstream-mirrors/OpenTracks
145 lines
4.1 KiB
Groovy
145 lines
4.1 KiB
Groovy
apply plugin: 'com.android.application'
|
|
|
|
buildscript {
|
|
repositories {
|
|
google()
|
|
mavenCentral()
|
|
}
|
|
dependencies {
|
|
classpath 'com.android.tools.build:gradle:8.0.0-rc01'
|
|
}
|
|
}
|
|
|
|
allprojects {
|
|
repositories {
|
|
google()
|
|
mavenCentral()
|
|
}
|
|
}
|
|
|
|
def getVersionName = { ->
|
|
try {
|
|
def stdout = new ByteArrayOutputStream()
|
|
exec {
|
|
commandLine 'git', 'describe', '--tags'
|
|
standardOutput = stdout
|
|
}
|
|
return stdout.toString().trim()
|
|
} catch (ignored) {
|
|
return null
|
|
}
|
|
}
|
|
|
|
def getVersionCode = { ->
|
|
try {
|
|
def stdout = new ByteArrayOutputStream()
|
|
exec {
|
|
commandLine 'git', 'rev-list', 'HEAD', '--count'
|
|
standardOutput = stdout
|
|
}
|
|
return Integer.valueOf(stdout.toString().trim())
|
|
} catch (ignored) {
|
|
return null
|
|
}
|
|
}
|
|
|
|
android {
|
|
compileOptions {
|
|
coreLibraryDesugaringEnabled true
|
|
|
|
sourceCompatibility JavaVersion.VERSION_11
|
|
targetCompatibility JavaVersion.VERSION_11
|
|
}
|
|
|
|
compileSdk 33
|
|
|
|
buildFeatures {
|
|
viewBinding true
|
|
}
|
|
|
|
defaultConfig {
|
|
applicationId "de.dennisguse.opentracks"
|
|
versionCode 5168
|
|
versionName "v4.3.1"
|
|
|
|
buildConfigField "String", "VERSION_NAME_FULL", "\"${getVersionName()}\""
|
|
|
|
minSdk 21
|
|
targetSdk 33
|
|
|
|
testInstrumentationRunner "de.dennisguse.opentracks.TestRunner"
|
|
testInstrumentationRunnerArguments clearPackageData: 'true'
|
|
|
|
resConfigs "ar", "bg", "ca", "cs", "da", "de", "el", "en", "es", "et", "eu", "fa", "fi", "fr", "ga", "gl", "hi", "hr", "hu", "in", "it", "iw", "ja", "ko", "lt", "lv", "mo", "ms", "nb", "nl", "pl", "pt", "ro", "ru", "sk", "sl", "sr", "sv", "th", "tl", "tr", "uk", "vi", "zh"
|
|
}
|
|
signingConfigs {
|
|
nightly {
|
|
if (System.getProperty("nightly_store_file") != null) {
|
|
storeFile file(System.getProperty("nightly_store_file"))
|
|
storePassword System.getProperty("nightly_store_password")
|
|
keyAlias System.getProperty("nightly_key_alias")
|
|
keyPassword System.getProperty("nightly_key_password")
|
|
}
|
|
}
|
|
}
|
|
|
|
namespace 'de.dennisguse.opentracks'
|
|
|
|
buildTypes {
|
|
debug {
|
|
applicationIdSuffix ".debug"
|
|
versionNameSuffix "-debug"
|
|
}
|
|
|
|
nightly {
|
|
signingConfig signingConfigs.nightly
|
|
applicationIdSuffix ".nightly"
|
|
}
|
|
|
|
release {
|
|
crunchPngs false
|
|
minifyEnabled false
|
|
}
|
|
|
|
releasePlayStore {
|
|
applicationIdSuffix ".playstore"
|
|
versionNameSuffix "-PlayStore"
|
|
signingConfig signingConfigs.debug
|
|
}
|
|
}
|
|
|
|
applicationVariants.all { variant ->
|
|
variant.resValue "string", "applicationId", variant.applicationId
|
|
|
|
if (variant.buildType.name == 'nightly') {
|
|
variant.outputs.all {
|
|
setVersionCodeOverride(getVersionCode())
|
|
setVersionNameOverride(getVersionName())
|
|
outputFileName = "${applicationId}_${variant.versionCode}.apk"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.0.3'
|
|
|
|
implementation 'androidx.appcompat:appcompat:1.6.1'
|
|
implementation 'androidx.preference:preference:1.2.0'
|
|
implementation 'androidx.documentfile:documentfile:1.0.1'
|
|
implementation 'androidx.gridlayout:gridlayout:1.0.0'
|
|
implementation 'com.google.android.material:material:1.8.0'
|
|
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
|
|
implementation 'androidx.core:core-splashscreen:1.0.0'
|
|
implementation 'androidx.mediarouter:mediarouter:1.3.1'
|
|
|
|
androidTestImplementation 'androidx.test:core:1.5.0'
|
|
androidTestImplementation 'androidx.test.ext:junit:1.1.5'
|
|
androidTestImplementation 'androidx.test:rules:1.5.0'
|
|
androidTestImplementation 'androidx.test:runner:1.5.2'
|
|
androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'
|
|
androidTestImplementation 'org.mockito:mockito-android:5.3.0'
|
|
|
|
androidTestUtil 'androidx.test:orchestrator:1.4.2'
|
|
}
|