aboutsummaryrefslogtreecommitdiffstats
path: root/OpenKeychain/build.gradle
blob: 3fcdf790bc166cc86f9b01b18924b4350521614c (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: 'android'

sourceSets {
    testLocal {
        java.srcDir file('src/test/java')
        resources.srcDir file('src/test/resources')
    }
}

dependencies {
    compile 'com.android.support:support-v4:19.0.1'
    compile 'com.android.support:appcompat-v7:19.0.1'
    compile project(':OpenKeychain-API:libraries:openpgp-api-library')
    compile project(':OpenKeychain-API:libraries:openkeychain-api-library')
    compile project(':libraries:HtmlTextView')
    compile project(':libraries:StickyListHeaders:library')
    compile project(':libraries:AndroidBootstrap')
    compile project(':libraries:zxing')
    compile project(':libraries:zxing-android-integration')
    compile project(':libraries:spongycastle:core')
    compile project(':libraries:spongycastle:pg')
    compile project(':libraries:spongycastle:pkix')
    compile project(':libraries:spongycastle:prov')
    compile project(':libraries:Android-AppMsg:library')

    // Dependencies for the `testLocal` task, make sure to list all your global dependencies here as well
    testLocalCompile 'junit:junit:4.11'
    testLocalCompile 'org.robolectric:robolectric:2.1.+'
    testLocalCompile 'com.google.android:android:4.1.1.4'
    testLocalCompile 'com.android.support:support-v4:19.0.1'
    testLocalCompile 'com.android.support:appcompat-v7:19.0.1'
    testLocalCompile project(':OpenKeychain-API:libraries:openpgp-api-library')
    testLocalCompile project(':OpenKeychain-API:libraries:openkeychain-api-library')
    testLocalCompile project(':libraries:HtmlTextView')
    testLocalCompile project(':libraries:StickyListHeaders:library')
    testLocalCompile project(':libraries:AndroidBootstrap')
    testLocalCompile project(':libraries:zxing')
    testLocalCompile project(':libraries:zxing-android-integration')
    testLocalCompile project(':libraries:spongycastle:core')
    testLocalCompile project(':libraries:spongycastle:pg')
    testLocalCompile project(':libraries:spongycastle:pkix')
    testLocalCompile project(':libraries:spongycastle:prov')
    testLocalCompile project(':libraries:Android-AppMsg:library')
}

android {
    compileSdkVersion 19
    buildToolsVersion "19.0.3"

    defaultConfig {
        minSdkVersion 9
        targetSdkVersion 19
    }

    /*
     * To sign release build, create file gradle.properties in ~/.gradle/ with this content:
     *
     * signingStoreLocation=/home/key.store
     * signingStorePassword=xxx
     * signingKeyAlias=alias
     * signingKeyPassword=xxx
     */
    if (project.hasProperty('signingStoreLocation') &&
            project.hasProperty('signingStorePassword') &&
            project.hasProperty('signingKeyAlias') &&
            project.hasProperty('signingKeyPassword')) {
        println "Found sign properties in gradle.properties! Signing build…"
        
        signingConfigs {
            release {
                storeFile file(signingStoreLocation)
                storePassword signingStorePassword
                keyAlias signingKeyAlias
                keyPassword signingKeyPassword
            }
        }

        buildTypes.release.signingConfig = signingConfigs.release
    } else {
        buildTypes.release.signingConfig = null
    }
    
    // Do not abort build if lint finds errors
    lintOptions {
        abortOnError false
        htmlReport true
        htmlOutput file("lint-report.html")
    }
}

task localTest(type: Test, dependsOn: assemble) {
    testClassesDir = sourceSets.testLocal.output.classesDir

    android.sourceSets.main.java.srcDirs.each { dir ->
        def buildDir = dir.getAbsolutePath().split('/')
        buildDir =  (buildDir[0..(buildDir.length - 4)] + ['build', 'classes', 'debug']).join('/')

        sourceSets.testLocal.compileClasspath += files(buildDir)
        sourceSets.testLocal.runtimeClasspath += files(buildDir)
    }

    classpath = sourceSets.testLocal.runtimeClasspath
}

//check.dependsOn localTest