summaryrefslogtreecommitdiff
path: root/app/build.gradle
blob: 6145fe13d40f8fbb2fb698a2cd0d4784b89ee9cd (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
96
97
98
99
/*
 * Copyright © 2014-2019 The Android Password Store Authors. All Rights Reserved.
 * SPDX-License-Identifier: GPL-3.0-only
 */
plugins {
    id 'kotlin-android'
    id 'kotlin-kapt'
    id 'kotlin-android-extensions'
}

repositories {
    maven { url 'https://jitpack.io' }
}

android {
    defaultConfig {
        applicationId 'com.zeapo.pwdstore'
    }

    lintOptions {
        abortOnError = true // make sure build fails with lint errors!
        disable 'MissingTranslation', 'PluralsCandidate'
    }

    packagingOptions {
        exclude '.readme'
        exclude 'META-INF/LICENSE.txt'
        exclude 'META-INF/NOTICE.txt'
    }

    buildTypes {
        release {
            minifyEnabled = true
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
        debug {
            applicationIdSuffix = '.debug'
            versionNameSuffix = '-debug'
            minifyEnabled = false
        }
    }

    /*
     * 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 {
            release {
                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.release.signingConfig = signingConfigs.release
    }
}

dependencies {
    implementation deps.androidx.annotation
    implementation deps.androidx.appcompat
    implementation deps.androidx.biometric
    implementation deps.androidx.cardview
    implementation deps.androidx.core_ktx
    implementation deps.androidx.constraint_layout
    implementation deps.androidx.documentfile
    implementation deps.androidx.preference
    implementation (deps.androidx.recycler_view) {
        force = true
    }
    implementation deps.androidx.material
    implementation deps.third_party.commons_io
    implementation deps.third_party.commons_codec

    implementation(deps.third_party.jgit) {
        exclude group: 'org.apache.httpcomponents', module: 'httpclient'
    }
    implementation deps.third_party.jsch
    implementation deps.third_party.openpgp_ktx
    implementation deps.third_party.ssh_auth

    // Testing-only dependencies
    androidTestImplementation deps.testing.junit
    androidTestImplementation deps.testing.mockito_core
    androidTestImplementation deps.testing.androidx.runner
    androidTestImplementation deps.testing.androidx.rules
    androidTestImplementation deps.testing.androidx.junit
    androidTestImplementation deps.testing.androidx.espresso_core
    androidTestImplementation deps.testing.androidx.espresso_intents
}