import org.jetbrains.kotlin.gradle.tasks.KotlinCompile 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 { compileSdk 33 buildFeatures { buildConfig = true dataBinding = true viewBinding = true } namespace = 'com.wireguard.android' defaultConfig { applicationId 'eu.m7n.wireguard.android' minSdkVersion 21 targetSdkVersion 33 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 { debug { storeFile file('../keystore/debug.keystore') storePassword "android" keyAlias "androiddebugkey" keyPassword "android" } release { keyAlias keystoreProperties['keyAlias'] keyPassword keystoreProperties['keyPassword'] storeFile rootProject.file(keystoreProperties['storeFile']) storePassword keystoreProperties['storePassword'] } } } buildTypes { all { buildConfigField("boolean", "IS_GOOGLE_PLAY", (System.getenv("WG_BUILD_FOR_GOOGLE_PLAY") == "true").toString()) } release { if (keystorePropertiesFile.exists()) signingConfig signingConfigs.release minifyEnabled true proguardFiles "proguard-android-optimize.txt", "proguard-rules.pro" } debug { applicationIdSuffix ".debug" versionNameSuffix "-debug" } } lint { disable 'LongLogTag' warning 'MissingTranslation', 'ImpliedQuantity' } } 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).configureEach { options.compilerArgs << '-Xlint:unchecked' options.deprecation = true } tasks.withType(KotlinCompile).configureEach { kotlinOptions.jvmTarget = JavaVersion.VERSION_1_8 }