summaryrefslogtreecommitdiff
path: root/navit/android/build.gradle
blob: 11af35b834cb10cb4cd75577ce135290f81c420f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
apply plugin: 'com.android.application'
apply from: "$project.rootDir/gradle/scripts/git-scm-version.gradle"
apply plugin: 'checkstyle'

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("KEY_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'
            }
        }
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            signingConfig signingConfigs.release
        }
    }
    lintOptions {
        disable 'UnusedResources'
        abortOnError true
    }
    sourceSets {
        main {
            manifest.srcFile "AndroidManifest.xml"
            java.srcDirs = ["src"]
            resources.srcDirs = ["src"]
            renderscript.srcDirs = ["src"]
            res.srcDirs = ["res"]
            assets.srcDirs = ["assets"]
            }
    }
    externalNativeBuild {
        cmake {
            path '../../CMakeLists.txt'
        }
    }

    task checkstyleMain(type: Checkstyle){
        source '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 ->
        // create tasks to generate Javadocs
        task("generate${variant.name.capitalize()}Javadoc", type: Javadoc) {
            source = android.sourceSets.main.java.srcDirs
            destinationDir = file("build/outputs/docs/javadoc/")
            title = rootProject.name
            options.memberLevel = JavadocMemberLevel.PACKAGE
            verbose = true
            failOnError false
        }
    }

}
dependencies {
    implementation fileTree(include: ['*.jar'], dir: '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'
}