151 lines
4.6 KiB
Groovy
151 lines
4.6 KiB
Groovy
import org.gradle.nativeplatform.platform.internal.DefaultNativePlatform
|
|
|
|
plugins {
|
|
id 'com.android.application'
|
|
}
|
|
|
|
android {
|
|
compileSdkVersion 33
|
|
|
|
defaultConfig {
|
|
namespace 'btools.routingapp'
|
|
applicationId "btools.routingapp"
|
|
|
|
versionCode 45
|
|
versionName project.version
|
|
|
|
resValue('string', 'app_version', defaultConfig.versionName)
|
|
setProperty("archivesBaseName", "BRouterApp." + defaultConfig.versionName)
|
|
|
|
minSdkVersion 14
|
|
targetSdkVersion 33
|
|
|
|
resConfigs "en"
|
|
|
|
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
|
|
}
|
|
|
|
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.6.1'
|
|
implementation "androidx.constraintlayout:constraintlayout:2.1.4"
|
|
implementation 'androidx.work:work-runtime:2.8.0'
|
|
implementation 'com.google.android.material:material:1.8.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.5'
|
|
androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'
|
|
androidTestImplementation 'androidx.work:work-testing:2.8.0'
|
|
}
|
|
|
|
gradle.projectsEvaluated {
|
|
preBuild.dependsOn(generateProfilesZip, generateReadmesZip)
|
|
}
|
|
|
|
check.dependsOn 'checkstyle'
|
|
|
|
task checkstyle(type: Checkstyle) {
|
|
source 'src'
|
|
include '**/*.java'
|
|
exclude '**/gen/**'
|
|
|
|
classpath = files()
|
|
}
|
|
|
|
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")
|
|
include("privacy_policy.md")
|
|
}
|
|
destinationDirectory = layout.buildDirectory.dir("assets")
|
|
}
|