summaryrefslogtreecommitdiffstats
path: root/mobile/android/geckoview_example/build.gradle
blob: 33f8d85835e29033835c5c45fa8cb816d88c0481 (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
buildDir "${topobjdir}/gradle/build/mobile/android/geckoview_example"

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion mozconfig.substs.ANDROID_BUILD_TOOLS_VERSION

    defaultConfig {
        applicationId "org.mozilla.geckoview_example"
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }

    // This is extremely frustrating, but the only way to do it automation for
    // now.  Without this, we only get a "debugAndroidTest" configuration; we
    // have no "withoutGeckoBinariesAndroidTest" configuration.
    testBuildType "withoutGeckoBinaries"
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
        withGeckoBinaries { // For consistency with :geckoview project in Task Cluster invocations.
            initWith debug
        }
        withoutGeckoBinaries { // Logical negation of withGeckoBinaries.
            initWith debug
        }
    }
}

dependencies {
    testCompile 'junit:junit:4.12'

    compile 'com.android.support:support-annotations:23.4.0'

    androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.2'
    androidTestCompile 'com.android.support.test:runner:0.5'
    // Not defining this library again results in test-app assuming 23.1.1, and the following errors:
    // "Conflict with dependency 'com.android.support:support-annotations'. Resolved versions for app (23.4.0) and test app (23.1.1) differ."
    androidTestCompile 'com.android.support:support-annotations:23.4.0'

    compile project(':geckoview')
}

apply from: "${topsrcdir}/mobile/android/gradle/with_gecko_binaries.gradle"

android.applicationVariants.all { variant ->
    // Like 'debug', 'release', or 'withoutGeckoBinaries'.
    def buildType = variant.buildType.name

    // It would be most natural for :geckoview to always include the Gecko
    // binaries, but that's difficult; see the notes in
    // mobile/android/gradle/with_gecko_binaries.gradle.  Instead we handle our
    // own Gecko binary inclusion.
    if (!buildType.equals('withoutGeckoBinaries')) {
        configureVariantWithGeckoBinaries(variant)
    }
}