summaryrefslogtreecommitdiff
path: root/platform/android/MapboxGLAndroidSDK/build.gradle
blob: 2ce3780421a8a3777d4d9416c18731ffedcd6c85 (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
apply plugin: 'com.android.library'

dependencies {
    compile "com.android.support:support-annotations:${supportLibVersion}"
    compile "com.android.support:support-v4:${supportLibVersion}"
    compile "com.android.support:design:${supportLibVersion}"
    compile rootProject.ext.dep.timber
    compile rootProject.ext.dep.okhttp3
    compile rootProject.ext.dep.lost

    // Mapbox Android Services (GeoJSON support)
    compile(rootProject.ext.dep.mapboxJavaGeoJSON) {
        transitive = true
    }

    // Mapbox Android Services (Telemetry support)
    compile(rootProject.ext.dep.mapboxAndroidTelemetry) {
        transitive = true
    }
}

android {
    compileSdkVersion rootProject.ext.compileSdkVersion
    buildToolsVersion rootProject.ext.buildToolsVersion

    defaultConfig {
        minSdkVersion rootProject.ext.minSdkVersion
        targetSdkVersion rootProject.ext.targetSdkVersion
        buildConfigField "String", "GIT_REVISION_SHORT", String.format("\"%s\"", getGitRevision())
        buildConfigField "String", "MAPBOX_VERSION_STRING", String.format("\"Mapbox/%s\"", project.VERSION_NAME)
        buildConfigField "String", "MAPBOX_EVENTS_USER_AGENT", String.format("\"MapboxEventsAndroid/%s\"", project.VERSION_NAME)
    }

    // avoid naming conflicts, force usage of prefix
    resourcePrefix 'mapbox_'

    sourceSets {
        // limit amount of exposed library resources
        main.res.srcDirs += 'src/main/res-public'
    }

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }

    lintOptions {
        checkAllWarnings true
        warningsAsErrors true
    }

    buildTypes {
        debug {
            jniDebuggable true
        }

        release {
            // aar proguard configuration
            consumerProguardFiles 'proguard-rules.pro'
            jniDebuggable false
        }
    }
}

def getGitRevision() {
    def cmd = "git rev-parse --short HEAD"
    def proc = cmd.execute()
    def ref = proc.text.trim()
    return ref
}

configurations {
    all*.exclude group: 'commons-logging', module: 'commons-logging'
    all*.exclude group: 'commons-collections', module: 'commons-collections'
}

apply from: 'gradle-javadoc.gradle'
apply from: 'gradle-publish.gradle'
apply from: 'gradle-checkstyle.gradle'