8e8643122e
Hacking things up via gradle is not right, and package-info.java poses problems with two modules, so instead we just apply it manually to every class. Remember to add this to new classes! Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
89 lines
3.4 KiB
Groovy
89 lines
3.4 KiB
Groovy
apply plugin: 'com.android.application'
|
|
apply plugin: 'kotlin-android'
|
|
|
|
// 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
|
|
defaultConfig {
|
|
applicationId 'com.wireguard.android'
|
|
minSdkVersion 21
|
|
targetSdkVersion 29
|
|
versionCode 464
|
|
versionName '0.0.20200206'
|
|
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 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"
|
|
}
|
|
|
|
tasks.withType(JavaCompile) {
|
|
options.compilerArgs << '-Xlint:unchecked'
|
|
options.deprecation = true
|
|
}
|