aboutsummaryrefslogtreecommitdiff
path: root/android-lib.gradle
blob: d3651dc49d0fef9f3cc7c4396cf514445da662f2 (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
apply plugin: 'com.android.library'
apply plugin: 'kotlin-android'
apply plugin: 'com.github.dcendents.android-maven'
apply plugin: 'com.getkeepsafe.dexcount'
group = project.APP_GROUP

android {
    compileSdkVersion Integer.parseInt(project.TARGET_SDK)
    buildToolsVersion project.BUILD_TOOLS

    def kauMinSdk = project.MIN_SDK
    if (project.hasProperty('kauSubModuleMinSdk'))
        kauMinSdk = kauSubModuleMinSdk

    def kauResourcePrefix = "kau_"
    if (project.hasProperty('kauSubModuleResourcePrefix'))
        kauResourcePrefix = kauSubModuleResourcePrefix

    resourcePrefix kauResourcePrefix

    defaultConfig {
        minSdkVersion Integer.parseInt(kauMinSdk)
        targetSdkVersion Integer.parseInt(project.TARGET_SDK)
        versionName project.VERSION_NAME
        versionCode project.VERSION_CODE
        consumerProguardFiles 'progress-proguard.txt'
        multiDexEnabled true
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

    lintOptions {
        warningsAsErrors true
        disable 'UnusedResources',
                'ContentDescription',
                'RtlSymmetry',
                'RtlHardcoded',
                'RtlEnabled',
                'Overdraw',
                'MissingTranslation'

        xmlReport false
        textReport true
        textOutput 'stdout'
    }

    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 {
    androidTestImplementation("com.android.support.test:runner:${TEST_RUNNER}") {
        exclude group: 'com.android.support', module: 'support-annotations'
    }
    androidTestImplementation "org.jetbrains.kotlin:kotlin-test-junit:${KOTLIN}"
    testImplementation "org.jetbrains.kotlin:kotlin-test-junit:${KOTLIN}"
    testImplementation "junit:junit:${JUNIT}"
}