summaryrefslogtreecommitdiff
path: root/app/build.gradle.kts
blob: 1fc4f570f15ec9f19f6ebc5b906f4c241ff7a900 (about) (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
import org.jetbrains.kotlin.config.KotlinCompilerVersion

plugins {
    id("com.android.application")
    id("kotlin-android")
    id("kotlin-android-extensions")
    id("eclipse")
}

val buildTypeRelease = "release"
android {
    compileSdkVersion(28)

    defaultConfig {
        applicationId = "com.zeapo.pwdstore"
        minSdkVersion(21)
        targetSdkVersion(28)
        versionCode = 10302
        versionName = "1.3.2"
        testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        getByName("debug") {
            applicationIdSuffix = ".debug"
        }
    }

    compileOptions {
        setSourceCompatibility(JavaVersion.VERSION_1_8)
        setTargetCompatibility(JavaVersion.VERSION_1_8)
    }

    lintOptions {
        isAbortOnError = true // make sure build fails with lint errors!
        disable("MissingTranslation", "PluralsCandidate")
    }

    packagingOptions {
        exclude(".readme")
        exclude("META-INF/LICENSE.txt")
        exclude("META-INF/NOTICE.txt")
    }

    /*
     * To sign release builds, create the file `gradle.properties` in
     * $HOME/.gradle or in your project directory with this content:
     *
     * mStoreFile=/path/to/key.store
     * mStorePassword=xxx
     * mKeyAlias=alias
     * mKeyPassword=xxx
     */
    if (project.hasProperty("mStoreFile") &&
            project.hasProperty("mStorePassword") &&
            project.hasProperty("mKeyAlias") &&
            project.hasProperty("mKeyPassword")) {
        signingConfigs {
            getByName(buildTypeRelease) {
                storeFile = file(project.properties["mStoreFile"] as String)
                storePassword = project.properties["mStorePassword"] as String
                keyAlias = project.properties["mKeyAlias"] as String
                keyPassword = project.properties["mKeyPassword"] as String
            }
        }
        buildTypes.getByName(buildTypeRelease).signingConfig = signingConfigs.getByName(buildTypeRelease)
    }
}

dependencies {
    implementation("androidx.appcompat:appcompat:1.0.2")
    implementation("androidx.recyclerview:recyclerview:1.0.0")
    implementation("androidx.cardview:cardview:1.0.0")
    implementation("com.google.android.material:material:1.0.0")
    implementation("androidx.annotation:annotation:1.0.2")
    implementation("org.sufficientlysecure:openpgp-api:12.0")
    implementation("org.eclipse.jgit:org.eclipse.jgit:3.7.1.201504261725-r") {
        exclude(group = "org.apache.httpcomponents", module = "httpclient")
    }
    implementation("com.jcraft:jsch:0.1.55")
    implementation("commons-io:commons-io:2.5")
    implementation("commons-codec:commons-codec:1.12")
    implementation("com.jayway.android.robotium:robotium-solo:5.6.3")
    implementation(kotlin("stdlib-jdk8", KotlinCompilerVersion.VERSION))
    implementation("androidx.constraintlayout:constraintlayout:1.1.3")
    implementation("org.sufficientlysecure:sshauthentication-api:1.0")

    // Testing-only dependencies
    androidTestImplementation("junit:junit:4.12")
    androidTestImplementation("org.mockito:mockito-core:2.27.0")
    androidTestImplementation("androidx.test:runner:1.1.1")
    androidTestImplementation("androidx.test:rules:1.1.1")
    androidTestImplementation("androidx.test.espresso:espresso-core:3.1.1")
    androidTestImplementation("androidx.test.espresso:espresso-intents:3.1.1")
}