apply plugin: 'com.android.application' apply from: "$project.rootDir/gradle/scripts/git-scm-version.gradle" apply plugin: 'checkstyle' buildscript { repositories { google() jcenter() maven { url 'https://maven.google.com/' name 'Google' } } dependencies { classpath 'com.android.tools.build:gradle:3.5.0' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } allprojects { repositories { google() jcenter() maven { url 'https://maven.google.com/' name 'Google' } } } /* 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' }