summaryrefslogtreecommitdiff
path: root/build.gradle
diff options
context:
space:
mode:
Diffstat (limited to 'build.gradle')
-rw-r--r--build.gradle113
1 files changed, 112 insertions, 1 deletions
diff --git a/build.gradle b/build.gradle
index b9db6a857..d284d54a0 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,4 +1,6 @@
-// Top-level build file where you can add configuration options common to all sub-projects/modules.
+apply plugin: 'com.android.application'
+apply from: "$project.rootDir/gradle/scripts/git-scm-version.gradle"
+apply plugin: 'checkstyle'
buildscript {
repositories {
@@ -28,6 +30,115 @@ allprojects {
}
}
+/*
task clean(type: Delete) {
delete rootProject.buildDir
}
+*/
+android {
+ compileSdkVersion 29
+ buildToolsVersion "29.0.2"
+ signingConfigs {
+ release {
+ // We can leave these in environment variables
+ storeFile file(System.getenv("KEYSTORE") ?: "/store")
+ keyAlias System.getenv("KEY_ALIAS")
+ storePassword System.getenv("STORE_PASS")
+ keyPassword System.getenv("STORE_PASS")
+ }
+ }
+ defaultConfig {
+ applicationId "org.navitproject.navit"
+ minSdkVersion 10
+ targetSdkVersion 29
+ versionCode gitVersionCode
+ versionName gitVersionName
+ testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
+ ndk {
+ abiFilters 'x86', 'x86_64', 'arm64-v8a', 'armeabi-v7a'
+ }
+ externalNativeBuild {
+ cmake {
+ arguments '-DDISABLE_CXX=y', '-DUSE_PLUGINS=n', '-DBUILD_MAPTOOL=n', '-DXSL_PROCESSING=n', '-DSAMPLE_MAP=n', '-DCMAKE_SYSROOT='+android.ndkDirectory+'/sysroot'
+ }
+ }
+ }
+ buildTypes {
+ release {
+ minifyEnabled false
+ proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
+ if(file(System.getenv("KEYSTORE") ?: "/store").exists()){
+ signingConfig signingConfigs.release
+ }
+ }
+ }
+ lintOptions {
+ disable 'UnusedResources'
+ abortOnError true
+ }
+ sourceSets {
+ main {
+ manifest.srcFile "navit/android/AndroidManifest.xml"
+ java.srcDirs = ["navit/android/src"]
+ resources.srcDirs = ["navit/android/src"]
+ renderscript.srcDirs = ["navit/android/src"]
+ res.srcDirs = ["navit/android/res", "android-builddir/android/res"]
+ assets.srcDirs = ["navit/android/assets", "android-builddir/android/assets"]
+ }
+ }
+ externalNativeBuild {
+ cmake {
+ buildStagingDirectory "./android-builddir"
+ path 'CMakeLists.txt'
+ }
+ }
+
+ task checkstyleMain(type: Checkstyle){
+ source 'navit/android/src'
+ include '**/*.java'
+ configFile = rootProject.file('checkstyle.xml')
+ ignoreFailures = false
+ showViolations = true
+ // empty classpath
+ classpath = files()
+ reports {
+ include ('**/*.java')
+ xml.enabled = true
+ html.enabled = true
+ xml {
+ destination file("checkstyle/checkstyleMain.xml")
+ }
+ html {
+ destination file("checkstyle/checkstyleMain.html")
+ }
+ }
+
+ checkstyle {
+ toolVersion = '8.26'
+ }
+ }
+ applicationVariants.all { variant ->
+ variant.outputs.all {
+ outputFileName = "navit-${variant.buildType.name}.apk"
+ }
+ // create tasks to generate Javadocs
+ task("generate${variant.name.capitalize()}Javadoc", type: Javadoc) {
+ source = android.sourceSets.main.java.srcDirs
+ destinationDir = file("navit/android/build/outputs/docs/javadoc/")
+ title = rootProject.name
+ options.memberLevel = JavadocMemberLevel.PACKAGE
+ verbose = true
+ failOnError false
+ }
+ }
+
+}
+dependencies {
+ implementation fileTree(include: ['*.jar'], dir: 'navit/android/libs')
+ androidTestImplementation('com.android.support.test.espresso:espresso-core:2.2.2', {
+ exclude group: 'com.android.support', module: 'support-annotations'
+ })
+ testImplementation 'junit:junit:4.12'
+ implementation 'ch.acra:acra:4.9.2'
+// implementation 'com.android.support:support-v4:28.0.0'
+}