Files
vpnhotspotmod/mobile/build.gradle.kts
2023-04-08 14:47:47 -04:00

102 lines
4.1 KiB
Kotlin

plugins {
id("com.android.application")
id("com.google.android.gms.oss-licenses-plugin")
id("com.google.gms.google-services")
id("com.google.firebase.crashlytics")
kotlin("android")
kotlin("kapt")
id("kotlin-parcelize")
}
android {
namespace = "be.mygod.vpnhotspot"
val javaVersion = JavaVersion.VERSION_11
buildToolsVersion = "33.0.1"
compileOptions {
isCoreLibraryDesugaringEnabled = true
sourceCompatibility = javaVersion
targetCompatibility = javaVersion
}
compileSdk = 33
kotlinOptions.jvmTarget = javaVersion.toString()
defaultConfig {
applicationId = "be.mygod.vpnhotspot"
minSdk = 21
targetSdk = 33
resourceConfigurations.addAll(arrayOf("it", "pt-rBR", "ru", "zh-rCN", "zh-rTW"))
versionCode = 306
versionName = "2.15.5"
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
javaCompileOptions.annotationProcessorOptions.arguments.apply {
put("room.expandProjection", "true")
put("room.incremental", "true")
put("room.schemaLocation", "$projectDir/schemas")
}
}
buildFeatures {
dataBinding = true
viewBinding = true
}
buildTypes {
getByName("debug") {
isPseudoLocalesEnabled = true
}
getByName("release") {
isShrinkResources = true
isMinifyEnabled = true
proguardFiles(getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro")
}
}
packagingOptions.resources.excludes.add("**/*.kotlin_*")
flavorDimensions.add("freedom")
productFlavors {
create("freedom") {
dimension = "freedom"
}
create("google") {
dimension = "freedom"
versionNameSuffix = "-g"
}
}
sourceSets.getByName("androidTest").assets.srcDir("$projectDir/schemas")
}
dependencies {
val lifecycleVersion = "2.6.1"
val roomVersion = "2.5.1"
coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:2.0.3")
kapt("androidx.room:room-compiler:$roomVersion")
implementation(kotlin("stdlib-jdk8"))
implementation("androidx.browser:browser:1.5.0")
implementation("androidx.core:core-ktx:1.10.0")
implementation("androidx.fragment:fragment-ktx:1.5.6")
implementation("androidx.lifecycle:lifecycle-livedata-ktx:$lifecycleVersion")
implementation("androidx.lifecycle:lifecycle-runtime-ktx:$lifecycleVersion")
implementation("androidx.preference:preference:1.2.0")
implementation("androidx.room:room-ktx:$roomVersion")
implementation("androidx.swiperefreshlayout:swiperefreshlayout:1.1.0")
implementation("be.mygod.librootkotlinx:librootkotlinx:1.0.2")
implementation("com.android.billingclient:billing-ktx:5.2.0")
implementation("com.github.tiann:FreeReflection:3.1.0")
implementation("com.google.android.gms:play-services-base:18.2.0") // fix for GoogleApiActivity crash @ 18.1.0+
implementation("com.google.android.gms:play-services-oss-licenses:17.0.0")
implementation("com.google.android.material:material:1.8.0")
implementation("com.google.firebase:firebase-analytics-ktx:21.2.1")
implementation("com.google.firebase:firebase-crashlytics:18.3.6")
implementation("com.google.zxing:core:3.5.1")
implementation("com.jakewharton.timber:timber:5.0.1")
implementation("com.linkedin.dexmaker:dexmaker:2.28.3")
implementation("com.takisoft.preferencex:preferencex-simplemenu:1.1.0")
implementation("org.jetbrains.kotlinx:kotlinx-collections-immutable:0.3.5")
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4")
add("googleImplementation", "com.google.android.play:core:1.10.3")
add("googleImplementation", "com.google.android.play:core-ktx:1.8.1")
testImplementation("junit:junit:4.13.2")
androidTestImplementation("androidx.room:room-testing:$roomVersion")
androidTestImplementation("androidx.test:runner:1.5.2")
androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1")
androidTestImplementation("androidx.test.ext:junit-ktx:1.1.5")
}