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' 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 viewBinding.enabled true defaultConfig { applicationId 'com.wireguard.android' minSdkVersion 21 targetSdkVersion 29 versionCode wireguardVersionCode versionName wireguardVersionName 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 rootProject.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-optimize.txt"), "proguard-rules.pro" } debug { applicationIdSuffix ".debug" versionNameSuffix "-debug" externalNativeBuild { cmake { arguments "-DANDROID_PACKAGE_NAME=${android.defaultConfig.applicationId}${applicationIdSuffix}" } } } } } dependencies { implementation project(":tunnel") implementation "androidx.annotation:annotation:$annotationsVersion" implementation "androidx.appcompat:appcompat:$appcompatVersion" implementation "androidx.cardview:cardview:$cardviewVersion" implementation "androidx.constraintlayout:constraintlayout:$constraintLayoutVersion" implementation "androidx.coordinatorlayout:coordinatorlayout:$coordinatorLayoutVersion" 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" implementation "net.sourceforge.streamsupport:android-retrostreams:$streamsupportVersion" } tasks.withType(JavaCompile) { options.compilerArgs << '-Xlint:unchecked' options.deprecation = true }