summaryrefslogtreecommitdiffhomepage
path: root/app/build.gradle
blob: 101583d6fbc069c9eee012bf214f4f52a369167d (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
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply from: 'nonnull.gradle'

// 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 {
    buildToolsVersion '29.0.2'
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all {
        kotlinOptions {
            jvmTarget = '1.8'
        }
    }
    compileSdkVersion 29
    dataBinding.enabled true
    defaultConfig {
        applicationId 'com.wireguard.android'
        minSdkVersion 21
        targetSdkVersion 29
        versionCode 464
        versionName '0.0.20200206'
        buildConfigField 'int', 'MIN_SDK_VERSION', "$minSdkVersion.apiLevel"
    }
    // If the keystore file exists
    if (keystorePropertiesFile.exists()) {
        // Initialize a new Properties() object called keystoreProperties.
        final def keystoreProperties = new Properties()

        // Load your keystore.properties file into the keystoreProperties object.
        keystoreProperties.load(new FileInputStream(keystorePropertiesFile))

        signingConfigs {
            release {
                keyAlias keystoreProperties['keyAlias']
                keyPassword keystoreProperties['keyPassword']
                storeFile file(keystoreProperties['storeFile'])
                storePassword keystoreProperties['storePassword']
            }
        }
    }
    buildTypes {
        release {
            if (keystorePropertiesFile.exists()) signingConfig signingConfigs.release
            externalNativeBuild {
                cmake {
                    arguments "-DANDROID_PACKAGE_NAME=${android.defaultConfig.applicationId}"
                }
            }
            minifyEnabled true
            proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
        }
        debug {
            applicationIdSuffix ".debug"
            versionNameSuffix "-debug"
            externalNativeBuild {
                cmake {
                    arguments "-DANDROID_PACKAGE_NAME=${android.defaultConfig.applicationId}${applicationIdSuffix}"
                }
            }
        }
    }
    externalNativeBuild {
        cmake {
            path 'tools/CMakeLists.txt'
        }
    }
}

ext {
    annotationsVersion = '1.1.0'
    appcompatVersion = '1.1.0'
    cardviewVersion = '1.0.0'
    coreKtxVersion = '1.2.0'
    coordinatorLayoutVersion = '1.1.3'
    databindingVersion = '3.6.0'
    fragmentVersion = '1.2.2'
    materialComponentsVersion = '1.1.0'
    jsr305Version = '3.0.2'
    kotlinVersion = '1.3.61'
    preferenceVersion = '1.1.0'
    streamsupportVersion = '1.7.1'
    threetenabpVersion = '1.2.2'
    // ZXING switched minSdk to 24 so we cannot upgrade to 4.0.2 without following suit.
    // If you choose to upgrade to minSDK 24 then you should also disable Jetifier from
    // gradle.properties.
    zxingEmbeddedVersion = '3.6.0'
    eddsaVersion = '0.3.0'
}

dependencies {
    implementation "androidx.annotation:annotation:$annotationsVersion"
    implementation "androidx.appcompat:appcompat:$appcompatVersion"
    implementation "androidx.cardview:cardview:$cardviewVersion"
    implementation "androidx.core:core-ktx:$coreKtxVersion"
    implementation "androidx.databinding:databinding-runtime:$databindingVersion"
    implementation "androidx.fragment:fragment:$fragmentVersion"
    implementation "androidx.preference:preference:$preferenceVersion"
    implementation "com.google.android.material:material:$materialComponentsVersion"
    implementation "com.google.code.findbugs:jsr305:$jsr305Version"
    implementation "com.jakewharton.threetenabp:threetenabp:$threetenabpVersion"
    implementation "com.journeyapps:zxing-android-embedded:$zxingEmbeddedVersion"
    implementation "net.sourceforge.streamsupport:android-retrofuture:$streamsupportVersion"
    implementation "net.sourceforge.streamsupport:android-retrostreams:$streamsupportVersion"
    implementation "net.i2p.crypto:eddsa:$eddsaVersion"
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlinVersion"
    implementation "androidx.constraintlayout:constraintlayout:$coordinatorLayoutVersion"
}

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