mirror of
https://github.com/wgtunnel/android.git
synced 2026-07-03 14:07:49 +02:00
3c5aff31aa
Migrated app from using ObjectBox library for db to Room as ObjectBox is not FLOSS compliant. Migrated app to using version catalog for managing dependancies. Added floss build flavor for F-Droid and general build flavor for all other builds. Floss build excludes google analytics and crashlytics. Other performance improvements and refactors.
154 lines
4.4 KiB
Kotlin
154 lines
4.4 KiB
Kotlin
plugins {
|
|
alias(libs.plugins.android.application)
|
|
alias(libs.plugins.kotlin.android)
|
|
alias(libs.plugins.hilt.android)
|
|
id("org.jetbrains.kotlin.plugin.serialization")
|
|
alias(libs.plugins.ksp)
|
|
}
|
|
|
|
android {
|
|
namespace = "com.zaneschepke.wireguardautotunnel"
|
|
compileSdk = 34
|
|
|
|
val versionMajor = 2
|
|
val versionMinor = 5
|
|
val versionPatch = 0
|
|
val versionBuild = 0
|
|
|
|
defaultConfig {
|
|
applicationId = "com.zaneschepke.wireguardautotunnel"
|
|
minSdk = 26
|
|
targetSdk = 34
|
|
versionCode = versionMajor * 10000 + versionMinor * 1000 + versionPatch * 100 + versionBuild
|
|
versionName = "${versionMajor}.${versionMinor}.${versionPatch}"
|
|
|
|
multiDexEnabled = true
|
|
|
|
resourceConfigurations.addAll(listOf("en"))
|
|
|
|
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
|
vectorDrawables {
|
|
useSupportLibrary = true
|
|
}
|
|
}
|
|
|
|
buildTypes {
|
|
release {
|
|
isDebuggable = false
|
|
isMinifyEnabled = true
|
|
isShrinkResources = true
|
|
proguardFiles(
|
|
getDefaultProguardFile("proguard-android-optimize.txt"),
|
|
"proguard-rules.pro"
|
|
)
|
|
//for release testing
|
|
signingConfig = signingConfigs.getByName("debug")
|
|
}
|
|
debug {
|
|
isDebuggable = true
|
|
}
|
|
}
|
|
flavorDimensions.add("type")
|
|
productFlavors {
|
|
create("floss") {
|
|
dimension = "type"
|
|
applicationIdSuffix = ".floss"
|
|
}
|
|
create("general") {
|
|
dimension = "type"
|
|
if (BuildHelper.isReleaseBuild(gradle) && BuildHelper.isGeneralFlavor(gradle))
|
|
{
|
|
apply(plugin = "com.google.gms.google-services")
|
|
apply(plugin = "com.google.firebase.crashlytics")
|
|
}
|
|
}
|
|
}
|
|
|
|
compileOptions {
|
|
sourceCompatibility = JavaVersion.VERSION_17
|
|
targetCompatibility = JavaVersion.VERSION_17
|
|
}
|
|
kotlinOptions {
|
|
jvmTarget = "17"
|
|
}
|
|
buildFeatures {
|
|
compose = true
|
|
buildConfig = true
|
|
|
|
}
|
|
composeOptions {
|
|
kotlinCompilerExtensionVersion = libs.versions.composeCompiler.get()
|
|
}
|
|
packaging {
|
|
resources {
|
|
excludes += "/META-INF/{AL2.0,LGPL2.1}"
|
|
}
|
|
}
|
|
}
|
|
|
|
val generalImplementation by configurations
|
|
dependencies {
|
|
implementation(libs.androidx.core.ktx)
|
|
implementation(libs.androidx.lifecycle.runtime.ktx)
|
|
implementation(libs.androidx.activity.compose)
|
|
implementation(platform(libs.androidx.compose.bom))
|
|
implementation(libs.androidx.compose.ui)
|
|
implementation(libs.androidx.compose.ui.graphics)
|
|
implementation(libs.androidx.compose.ui.tooling.preview)
|
|
implementation(libs.androidx.material3)
|
|
implementation(libs.androidx.appcompat)
|
|
|
|
//test
|
|
testImplementation(libs.junit)
|
|
androidTestImplementation(libs.androidx.junit)
|
|
androidTestImplementation(libs.androidx.espresso.core)
|
|
androidTestImplementation(platform(libs.androidx.compose.bom))
|
|
androidTestImplementation(libs.androidx.compose.ui.test)
|
|
debugImplementation(libs.androidx.compose.ui.tooling)
|
|
debugImplementation(libs.androidx.compose.manifest)
|
|
|
|
//wg
|
|
implementation(libs.tunnel)
|
|
|
|
//logging
|
|
implementation(libs.timber)
|
|
|
|
// compose navigation
|
|
implementation(libs.androidx.navigation.compose)
|
|
implementation(libs.androidx.hilt.navigation.compose)
|
|
|
|
// hilt
|
|
implementation(libs.hilt.android)
|
|
ksp(libs.hilt.android.compiler)
|
|
|
|
//accompanist
|
|
implementation(libs.accompanist.systemuicontroller)
|
|
implementation(libs.accompanist.permissions)
|
|
implementation(libs.accompanist.flowlayout)
|
|
implementation(libs.accompanist.navigation.animation)
|
|
implementation(libs.accompanist.drawablepainter)
|
|
|
|
//room
|
|
implementation(libs.androidx.room.runtime)
|
|
annotationProcessor(libs.androidx.room.compiler)
|
|
ksp(libs.androidx.room.compiler)
|
|
implementation(libs.androidx.room.ktx)
|
|
|
|
|
|
|
|
//lifecycle
|
|
implementation(libs.lifecycle.runtime.compose)
|
|
|
|
//icons
|
|
implementation(libs.material.icons.extended)
|
|
//serialization
|
|
implementation(libs.kotlinx.serialization.json)
|
|
|
|
//firebase crashlytics
|
|
generalImplementation(platform(libs.firebase.bom))
|
|
generalImplementation(libs.google.firebase.crashlytics.ktx)
|
|
generalImplementation(libs.google.firebase.analytics.ktx)
|
|
|
|
//barcode scanning
|
|
implementation(libs.play.services.code.scanner)
|
|
} |