aboutsummaryrefslogtreecommitdiff
path: root/sample/build.gradle
blob: d7199a39d38e46f688f71f3fc89de813ebbee543 (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
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'com.github.triplet.play'

play {
    jsonFile = file('../files/gplay-keys.json')
    track = 'beta'
    errorOnSizeLimit = true
    uploadImages = false
    untrackOld = true
}

android {
    compileSdkVersion kau.targetSdk
    buildToolsVersion kau.buildTools

    androidGitVersion {
        codeFormat = 'MMNNPPXX'
        format = '%tag%%.count%%-commit%'
    }

    defaultConfig {
        applicationId "ca.allanwang.kau.sample"
        minSdkVersion kau.minSdk
        targetSdkVersion kau.targetSdk
        versionName androidGitVersion.name()
        versionCode androidGitVersion.code()
        multiDexEnabled true
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }

    def releaseSigning = file("../files/kau.properties")
    def hasSigning = releaseSigning.exists()

    signingConfigs {

        if (hasSigning) {
            def releaseProps = new Properties()
            releaseSigning.withInputStream { releaseProps.load(it) }

            release {
                storeFile file("../files/kau.keystore")
                storePassword releaseProps.getProperty('storePassword')
                keyAlias releaseProps.getProperty('keyAlias')
                keyPassword releaseProps.getProperty('keyPassword')
            }
        }

        debug {
            storeFile file("../files/debug.keystore")
            storePassword "debugKey"
            keyAlias "debugKey"
            keyPassword "debugKey"
        }
    }

    buildTypes {
        debug {
            minifyEnabled false
            shrinkResources false
            applicationIdSuffix ".debug"
            versionNameSuffix "-debug"
            signingConfig signingConfigs.debug
            resValue "string", "app_name", "KAU Debug"
        }

        release {
            minifyEnabled true
            if (hasSigning) signingConfig signingConfigs.release
            resValue "string", "app_name", "KAU"
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

    lintOptions {
        abortOnError false
        checkReleaseBuilds false
    }

    packagingOptions {
        pickFirst 'META-INF/core_release.kotlin_module'
        pickFirst 'META-INF/library_release.kotlin_module'
    }

    sourceSets {
        main.java.srcDirs += 'src/main/kotlin'
        test.java.srcDirs += 'src/test/kotlin'
        androidTest.java.srcDirs += 'src/androidTest/kotlin'
        main.res.srcDirs += 'src/main/res-public'
    }

    testOptions.unitTests {
        // Don't throw runtime exceptions for android calls that are not mocked
        returnDefaultValues = true

        // Always show the result of every unit test, even if it passes.
        all {
            testLogging {
                events 'passed', 'skipped', 'failed', 'standardOut', 'standardError'
            }
        }
    }
}

dependencies {
    implementation project(':about')
    implementation project(':adapter')
    implementation project(':colorpicker')
    implementation project(':core')
    implementation project(':core-ui')
    implementation project(':kpref-activity')
    implementation project(':searchview')
    implementation project(':mediapicker')

//    androidTestImplementation("com.android.support.test.espresso:espresso-core:${kau.espresso}") {
//        exclude group: 'com.android.support', module: 'support-annotations'
//    }
//    androidTestImplementation("com.android.support.test:runner:${kau.testRunner}") {
//        exclude group: 'com.android.support', module: 'support-annotations'
//    }
//    androidTestImplementation kauDependency.kotlinTest
    testImplementation kauDependency.kotlinTest
    testImplementation kauDependency.junit

    androidTestImplementation kauDependency.kotlinTest
    androidTestImplementation kauDependency.espresso
    androidTestImplementation kauDependency.testRunner
}