apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply plugin: '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 { buildToolsVersion '29.0.3' compileSdkVersion 29 buildFeatures.dataBinding = true buildFeatures.viewBinding = true defaultConfig { applicationId 'com.wireguard.android' minSdkVersion 21 targetSdkVersion 29 versionCode wireguardVersionCode versionName wireguardVersionName buildConfigField 'int', 'MIN_SDK_VERSION', "$minSdkVersion.apiLevel" } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } 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') } } dependencies { implementation project(":tunnel") 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.databinding:databinding-runtime:$agpVersion" implementation "androidx.fragment:fragment:$fragmentVersion" implementation "androidx.preference:preference:$preferenceVersion" implementation "com.google.android.material:material:$materialComponentsVersion" implementation "com.journeyapps:zxing-android-embedded:$zxingEmbeddedVersion" implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlinVersion" implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutinesVersion" implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:$coroutinesVersion" implementation "net.sourceforge.streamsupport:android-retrofuture:$streamsupportVersion" } 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 } }