summaryrefslogtreecommitdiffhomepage
path: root/ui/build.gradle
blob: 5dcd4e7166dbd559ec87c95c34ccf87cfbc7689e (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
plugins {
    id 'com.android.application'
    id 'org.jetbrains.kotlin.android'
    id 'org.jetbrains.kotlin.kapt'
}

version wireguardVersionName
group groupName

// Create a variable called keystorePropertiesFile, and initialize it to your
// keystore.properties file, in the rootProject folder.
final def keystorePropertiesFile = rootProject.file("keystore.properties")

android {
    compileSdkVersion 31
    buildFeatures {
        buildConfig = true
        dataBinding = true
        viewBinding = true
    }
    defaultConfig {
        applicationId 'eu.m7n.wireguard.android'
        minSdkVersion 21
        targetSdkVersion 30
        versionCode wireguardVersionCode
        versionName wireguardVersionName
        buildConfigField 'int', 'MIN_SDK_VERSION', "$minSdkVersion.apiLevel"
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
        coreLibraryDesugaringEnabled = true
    }
    splits {
        abi {
            enable true
            reset()
            include "arm64-v8a", "armeabi-v7a"
            universalApk false
        }
    }
    if (keystorePropertiesFile.exists()) {
        final def keystoreProperties = new Properties()
        keystoreProperties.load(new FileInputStream(keystorePropertiesFile))

        signingConfigs {
            release {
                keyAlias keystoreProperties['keyAlias']
                keyPassword keystoreProperties['keyPassword']
                storeFile rootProject.file(keystoreProperties['storeFile'])
                storePassword keystoreProperties['storePassword']
            }
        }
    }
    buildTypes {
        release {
            if (keystorePropertiesFile.exists()) signingConfig signingConfigs.release
            minifyEnabled true
            proguardFiles "proguard-android-optimize.txt", "proguard-rules.pro"
        }
        debug {
            applicationIdSuffix ".debug"
            versionNameSuffix "-debug"
        }
    }
    lintOptions {
        disable('LongLogTag')
        warning('MissingTranslation')
        warning('ImpliedQuantity')
    }
    ndkVersion "21.3.6528147"
}

dependencies {
    implementation project(":tunnel")
    implementation "androidx.activity:activity-ktx:$activityVersion"
    implementation "androidx.annotation:annotation:$annotationsVersion"
    implementation "androidx.appcompat:appcompat:$appcompatVersion"
    implementation "androidx.constraintlayout:constraintlayout:$constraintLayoutVersion"
    implementation "androidx.coordinatorlayout:coordinatorlayout:$coordinatorLayoutVersion"
    implementation "androidx.biometric:biometric:$biometricVersion"
    implementation "androidx.core:core-ktx:$coreKtxVersion"
    implementation "androidx.fragment:fragment-ktx:$fragmentVersion"
    implementation "androidx.preference:preference-ktx:$preferenceVersion"
    implementation "androidx.lifecycle:lifecycle-runtime-ktx:$lifecycleRuntimeKtxVersion"
    implementation "androidx.datastore:datastore-preferences:$datastoreVersion"
    implementation "com.google.android.material:material:$materialComponentsVersion"
    implementation "com.journeyapps:zxing-android-embedded:$zxingEmbeddedVersion"
    implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutinesVersion"
    implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:$coroutinesVersion"
    coreLibraryDesugaring "com.android.tools:desugar_jdk_libs:$desugarVersion"
}

tasks.withType(JavaCompile) {
    options.compilerArgs << '-Xlint:unchecked'
    options.deprecation = true
}

tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all {
    kotlinOptions {
        jvmTarget = JavaVersion.VERSION_1_8
    }
}