aboutsummaryrefslogtreecommitdiffstats
path: root/build.gradle
blob: 9b6363e93e03975e368d15a9a46736a005c86d64 (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
buildscript {
    repositories {
        jcenter()
    }

    dependencies {
        // NOTE: Always use fixed version codes not dynamic ones, e.g. 0.7.3 instead of 0.7.+, see README for more information
        classpath 'com.android.tools.build:gradle:1.0.0'
    }
}

allprojects {
    repositories {
        jcenter()

        maven {
            // for https://github.com/journeyapps/zxing-android-embedded
            url "http://dl.bintray.com/journeyapps/maven"
        }
    }
}

task wrapper(type: Wrapper) {
    gradleVersion = '2.2.1'
}

subprojects {
    tasks.withType(Test) {
        maxParallelForks = 1
    }
}

// Ignore tests for external dependency
project(':extern:spongycastle') {
    subprojects {
        // Need to re-apply the plugin here otherwise the test property below can't be set.
        apply plugin: 'java'
        test.enabled = false
    }
}

// Copied from https://gitlab.com/fdroid/fdroidclient/blob/master/build.gradle#L144
subprojects {

    // This is the hacky way which we force the subprojects to use the same build tools:
    // http://stackoverflow.com/a/21032272
    afterEvaluate {
        if ( it.hasProperty( 'android' ) ) {
            android {

                // The android build task only lets you configure the buildToolsVersion once, so if
                // we execute the closure below to configure our subprojects, it will fail when it
                // hits the second subproject. Therefore, we will only do it once, and I guess the
                // android plugin will re-use the existing value I set.
                // https://android.googlesource.com/platform/tools/build/+/master/gradle/src/main/groovy/com/android/build/gradle/BaseExtension.groovy
                try {
                    buildToolsVersion '21.1.2'
                    logger.info("Set buildToolsVersion to '21.1.2'")
                } catch (GradleException e) {
                    logger.info("Tried to set the buildToolsVersion, however we were not allowed to: $e.message")
                }

                // don't abort build on lint errors
                // http://stackoverflow.com/a/25149514
                configure(android.lintOptions) {
                    abortOnError false
                }
            }
        }
    }
}