summaryrefslogtreecommitdiffstats
path: root/build.gradle
blob: 39a34f304ad4448bc553b2fa574f30ed0d5dbd65 (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
buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.3.3'
        classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.0'
    }
}

allprojects {
    ext.androidSupportVersion = '25.3.1'
}

apply plugin: 'com.android.application'
apply plugin: 'com.google.protobuf'

android {
    compileSdkVersion 25
    buildToolsVersion '25.0.2'

    defaultConfig {
        minSdkVersion 21
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
        jackOptions.enabled true

        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        debug {
            minifyEnabled false
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

    productFlavors {
        trebuchet {
            applicationId 'org.lineageos.trebuchet'
            testApplicationId 'org.lineageos.trebuchet.tests'
        }
    }
    sourceSets {
        main {
            res.srcDirs = ['res']
            java.srcDirs = ['src', 'src_config']
            manifest.srcFile 'AndroidManifest-common.xml'
            proto.srcDirs 'protos/'
        }

        androidTest {
            java.srcDirs = ['tests/src']
            manifest.srcFile "tests/AndroidManifest.xml"
        }

        trebuchet {
            manifest.srcFile "AndroidManifest.xml"
        }
    }
}

repositories {
    mavenCentral()
}

dependencies {
    compile "com.android.support:appcompat-v7:${androidSupportVersion}"
    compile "com.android.support:recyclerview-v7:${androidSupportVersion}"
    compile "com.android.support:palette-v7:${androidSupportVersion}"
    compile 'com.google.protobuf.nano:protobuf-javanano:3.0.0-alpha-2'

    testCompile 'junit:junit:4.12'
    androidTestCompile 'com.android.support.test:runner:0.5'
    androidTestCompile 'com.android.support.test.uiautomator:uiautomator-v18:2.1.2'
    androidTestCompile "com.android.support:support-annotations:${androidSupportVersion}"
}

protobuf {
    // Configure the protoc executable
    protoc {
        artifact = 'com.google.protobuf:protoc:3.0.0-alpha-3'

        generateProtoTasks {
            all().each { task ->
                task.builtins {
                    remove java
                    javanano {
                        option 'ignore_services=false'
                    }
                }
            }
        }
    }
}