aboutsummaryrefslogtreecommitdiffstats
path: root/OpenKeychain/build.gradle
blob: d4e80a1ebd140b19abe39aba85dc2e1d721167b0 (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
apply plugin: 'com.android.application'

dependencies {
    // NOTE: Always use fixed version codes not dynamic ones, e.g. 0.7.3 instead of 0.7.+, see README for more information

    compile 'com.android.support:support-v4:21.0.3'
    compile 'com.android.support:appcompat-v7:21.0.3'
    compile 'com.android.support:recyclerview-v7:21.0.3'
    compile project(':extern:openpgp-api-lib')
    compile project(':extern:openkeychain-api-lib')
    compile project(':extern:html-textview')
    compile project(':extern:StickyListHeaders:library')
    compile project(':extern:spongycastle:core')
    compile project(':extern:spongycastle:pg')
    compile project(':extern:spongycastle:pkix')
    compile project(':extern:spongycastle:prov')
    compile project(':extern:SuperToasts:supertoasts')
    compile project(':extern:minidns')
    compile project(':extern:KeybaseLib:Lib')
    compile project(':extern:TokenAutoComplete:library')
    compile project(':extern:safeslinger-exchange')

    // TODO: Pin!
    compile 'com.eftimoff:android-patternview:1.0.0@aar'
    compile 'com.journeyapps:zxing-android-embedded:2.0.1@aar'
    compile 'com.journeyapps:zxing-android-integration:2.0.1@aar'
    compile 'com.google.zxing:core:3.0.1'
    compile 'com.jpardogo.materialtabstrip:library:1.0.9'
    compile 'it.neokree:MaterialNavigationDrawer:1.3.1'
    compile 'com.nispok:snackbar:2.7.4'
    compile 'com.getbase:floatingactionbutton:1.8.0'
}

android {
    compileSdkVersion 21
    buildToolsVersion '21.1.2'

    defaultConfig {
        minSdkVersion 15
        targetSdkVersion 21
    }

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }

    /*
     * 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
    }
    
    // NOTE: Lint is disabled because it slows down builds,
    // to enable it comment out the code at the bottom of this build.gradle
    lintOptions {
        // Do not abort build if lint finds errors
        abortOnError false

        checkAllWarnings true
        htmlReport true
        htmlOutput file('lint-report.html')
    }
    
    // Disable preDexing, causes com.android.dx.cf.iface.ParseException: bad class file magic (cafebabe) or version (0034.0000) on some systems
    dexOptions {
        preDexLibraries = false
    }
}

// NOTE: This disables Lint!
tasks.whenTaskAdded { task ->
    if (task.name.contains('lint')) {
        task.enabled = false
    }
}