diff options
Diffstat (limited to 'build.gradle')
-rw-r--r-- | build.gradle | 113 |
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' +} |