mirror of
https://github.com/syncthing/syncthing-android.git
synced 2024-12-23 03:11:30 +00:00
6df11ac1e4
Upgrade compile sdk and tools from 33 to 34 This is needed to update Android Gradle Plugin (AGP) and other dependencies.
121 lines
3.7 KiB
Text
121 lines
3.7 KiB
Text
import org.gradle.configurationcache.extensions.capitalized
|
|
|
|
plugins {
|
|
id("com.android.application")
|
|
id("com.github.ben-manes.versions")
|
|
id("com.github.triplet.play") version "3.7.0"
|
|
}
|
|
|
|
dependencies {
|
|
implementation("eu.chainfire:libsuperuser:1.1.1")
|
|
implementation("com.google.android.material:material:1.8.0")
|
|
implementation("com.google.code.gson:gson:2.10.1")
|
|
implementation("org.mindrot:jbcrypt:0.4")
|
|
implementation("com.google.guava:guava:32.1.3-android")
|
|
implementation("com.annimon:stream:1.2.2")
|
|
implementation("com.android.volley:volley:1.2.1")
|
|
implementation("commons-io:commons-io:2.11.0")
|
|
|
|
implementation("com.journeyapps:zxing-android-embedded:4.3.0") {
|
|
isTransitive = false
|
|
}
|
|
implementation("com.google.zxing:core:3.4.1")
|
|
|
|
implementation("androidx.constraintlayout:constraintlayout:2.0.4")
|
|
implementation("com.google.dagger:dagger:2.49")
|
|
annotationProcessor("com.google.dagger:dagger-compiler:2.49")
|
|
androidTestImplementation("androidx.test:rules:1.4.0")
|
|
androidTestImplementation("androidx.annotation:annotation:1.2.0")
|
|
}
|
|
|
|
android {
|
|
val ndkVersionShared = rootProject.extra.get("ndkVersionShared")
|
|
// Changes to these values need to be reflected in `../docker/Dockerfile`
|
|
compileSdk = 34
|
|
buildToolsVersion = "34.0.0"
|
|
ndkVersion = "${ndkVersionShared}"
|
|
|
|
buildFeatures {
|
|
dataBinding = true
|
|
viewBinding = true
|
|
}
|
|
|
|
defaultConfig {
|
|
applicationId = "com.nutomic.syncthingandroid"
|
|
minSdk = 21
|
|
targetSdk = 33
|
|
versionCode = 4384
|
|
versionName = "1.27.3"
|
|
testApplicationId = "com.nutomic.syncthingandroid.test"
|
|
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
|
}
|
|
|
|
signingConfigs {
|
|
create("release") {
|
|
storeFile = System.getenv("SYNCTHING_RELEASE_STORE_FILE")?.let(::file)
|
|
storePassword = System.getenv("SIGNING_PASSWORD")
|
|
keyAlias = System.getenv("SYNCTHING_RELEASE_KEY_ALIAS")
|
|
keyPassword = System.getenv("SIGNING_PASSWORD")
|
|
}
|
|
}
|
|
|
|
buildTypes {
|
|
getByName("debug") {
|
|
applicationIdSuffix = ".debug"
|
|
isDebuggable = true
|
|
isJniDebuggable = true
|
|
isRenderscriptDebuggable = true
|
|
isMinifyEnabled = false
|
|
}
|
|
getByName("release") {
|
|
signingConfig = signingConfigs.runCatching { getByName("release") }
|
|
.getOrNull()
|
|
.takeIf { it?.storeFile != null }
|
|
}
|
|
}
|
|
|
|
compileOptions {
|
|
sourceCompatibility = JavaVersion.VERSION_11
|
|
targetCompatibility = JavaVersion.VERSION_11
|
|
}
|
|
|
|
// Otherwise libsyncthing.so doesn't appear where it should in installs
|
|
// based on app bundles, and thus nothing works.
|
|
packagingOptions {
|
|
jniLibs {
|
|
useLegacyPackaging = true
|
|
}
|
|
}
|
|
}
|
|
|
|
play {
|
|
serviceAccountCredentials.set(
|
|
file(System.getenv("SYNCTHING_RELEASE_PLAY_ACCOUNT_CONFIG_FILE") ?: "keys.json")
|
|
)
|
|
track.set("beta")
|
|
}
|
|
|
|
/**
|
|
* Some languages are not supported by Google Play, so we ignore them.
|
|
*/
|
|
tasks.register<Delete>("deleteUnsupportedPlayTranslations") {
|
|
delete(
|
|
"src/main/play/listings/de_DE/",
|
|
"src/main/play/listings/el-EL/",
|
|
"src/main/play/listings/en/",
|
|
"src/main/play/listings/eo/",
|
|
"src/main/play/listings/eu/",
|
|
"src/main/play/listings/nb/",
|
|
"src/main/play/listings/nl_BE/",
|
|
"src/main/play/listings/nn/",
|
|
"src/main/play/listings/ta/",
|
|
)
|
|
}
|
|
|
|
project.afterEvaluate {
|
|
android.buildTypes.forEach {
|
|
tasks.named("merge${it.name.capitalized()}JniLibFolders") {
|
|
dependsOn(":syncthing:buildNative")
|
|
}
|
|
}
|
|
}
|