brouter/brouter-routing-app/build.gradle
2022-05-17 06:40:31 +02:00

147 lines
4.5 KiB
Groovy

import org.gradle.nativeplatform.platform.internal.DefaultNativePlatform
plugins {
id 'com.android.application'
}
android {
compileSdkVersion 31
defaultConfig {
applicationId "btools.routingapp"
versionCode 45
versionName project.version
resValue('string', 'app_version', defaultConfig.versionName)
setProperty("archivesBaseName", "BRouterApp." + defaultConfig.versionName)
minSdkVersion 14
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
sourceSets.main.assets.srcDirs += new File(project.buildDir, 'assets')
if (project.hasProperty("RELEASE_STORE_FILE") && RELEASE_STORE_FILE.length() > 0) {
signingConfigs {
// this uses a file ~/.gradle/gradle.properties
// with content:
// RELEASE_STORE_FILE={path to your keystore}
// RELEASE_STORE_PASSWORD=*****
// RELEASE_KEY_ALIAS=*****
// RELEASE_KEY_PASSWORD=*****
//
release {
// enable signingConfig in buildTypes to get a signed apk file
storeFile file(RELEASE_STORE_FILE)
storePassword RELEASE_STORE_PASSWORD
keyAlias RELEASE_KEY_ALIAS
keyPassword RELEASE_KEY_PASSWORD
// Optional, specify signing versions used
v1SigningEnabled true
v2SigningEnabled true
}
}
}
buildTypes {
release {
minifyEnabled false
debuggable false
if (project.hasProperty("RELEASE_STORE_FILE") && RELEASE_STORE_FILE.length() > 0) {
signingConfig signingConfigs.release
}
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
debug {
minifyEnabled false
debuggable true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
lintOptions {
disable 'InvalidPackage'
checkReleaseBuilds false
//added this line to the build.gradle under the /android/app/build.gradle
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
flavorDimensions "api"
productFlavors {
api19 {
dimension "api"
targetSdkVersion 19
}
api30 {
dimension "api"
targetSdkVersion 30
}
}
applicationVariants.all {
variant ->
{
tasks["merge${variant.name.capitalize()}Assets"].dependsOn(generateProfilesZip)
tasks["merge${variant.name.capitalize()}Assets"].dependsOn(generateReadmesZip)
}
}
}
dependencies {
implementation 'androidx.appcompat:appcompat:1.4.1'
implementation "androidx.constraintlayout:constraintlayout:2.1.3"
implementation 'androidx.work:work-runtime:2.7.1'
implementation 'com.google.android.material:material:1.5.0'
implementation project(':brouter-mapaccess')
implementation project(':brouter-core')
implementation project(':brouter-expressions')
implementation project(':brouter-util')
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
androidTestImplementation 'androidx.work:work-testing:2.7.1'
}
task generateProfiles(type: Exec) {
commandLine = "../misc/scripts/generate_profile_variants.sh"
}
task generateProfilesZip(type: Zip) {
if (DefaultNativePlatform.getCurrentOperatingSystem().isWindows()) {
logger.warn("Note: On Windows run script '../misc/scripts/generate_profile_variants.sh' manually to include all profiles")
} else {
dependsOn generateProfiles
}
archiveFileName = "profiles2.zip"
from("../misc/profiles2") {
exclude "all.brf"
exclude "car-traffic_analysis.brf"
exclude "car-vario.brf"
exclude "softaccess.brf"
}
destinationDirectory = layout.buildDirectory.dir("assets")
}
task generateReadmesZip(type: Zip) {
archiveFileName = "readmes.zip"
from("../docs") {
include("users/android_quickstart.md")
include("users/android_advanced.md")
include("developers/profile_developers_guide.md")
include("developers/build_segments.md")
}
destinationDirectory = layout.buildDirectory.dir("assets")
}