497a60cc90
For Google Play Store builds, we'll display an alert box. This was inspired by the discussion around StreetComplete; hopefully we'll have a similar okay outcome. Link: https://github.com/streetcomplete/streetcomplete/issues/3768 Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
98 lines
3.6 KiB
Groovy
98 lines
3.6 KiB
Groovy
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 'com.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
|
|
}
|
|
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 {
|
|
all {
|
|
buildConfigField('boolean', 'IS_GOOGLE_PLAY', (findProperty('build.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
|
|
}
|