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 { compileSdkVersion 30 buildFeatures.dataBinding = true buildFeatures.viewBinding = true defaultConfig { applicationId 'com.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 } 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.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.databinding:databinding-runtime:$agpVersion" 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.github.material-components:material-components-android:$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 } }