ea9ef4af24
Kotlin has been building a new JVM backend for a while now and it is finally in Beta, scheduled to hit stable in Kotlin 1.4.50. This is the time to enable it and report any bugs we hit, before it becomes the default. Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
90 lines
3.4 KiB
Groovy
90 lines
3.4 KiB
Groovy
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.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) {
|
|
options.compilerArgs << '-Xlint:unchecked'
|
|
options.deprecation = true
|
|
}
|
|
|
|
tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all {
|
|
kotlinOptions {
|
|
jvmTarget = JavaVersion.VERSION_1_8
|
|
useIR = true
|
|
}
|
|
}
|