VancedManager/app/build.gradle.kts

140 lines
4.4 KiB
Plaintext
Raw Normal View History

2021-01-10 10:11:04 +00:00
plugins {
id("com.android.application")
kotlin("android")
kotlin("kapt")
id("com.google.gms.google-services")
id("com.google.firebase.crashlytics")
id("com.google.firebase.firebase-perf")
id("androidx.navigation.safeargs.kotlin")
2021-02-03 18:24:28 +00:00
id("kotlin-android")
2021-01-10 10:11:04 +00:00
}
android {
2021-10-08 10:21:44 +00:00
compileSdk = 31
2021-01-10 10:11:04 +00:00
defaultConfig {
applicationId = "com.vanced.manager"
2021-10-08 10:21:44 +00:00
minSdk = 21
targetSdk = 31
2021-10-08 11:45:34 +00:00
versionCode = 261
versionName = "2.6.1 (Crimson)"
2021-01-10 10:11:04 +00:00
2021-10-08 10:21:44 +00:00
vectorDrawables {
useSupportLibrary = true
}
2021-01-10 10:11:04 +00:00
buildConfigField("String[]", "MANAGER_LANGUAGES", "{$languages}")
2021-01-10 10:11:04 +00:00
}
2021-10-08 10:21:44 +00:00
lint {
2021-01-10 10:11:04 +00:00
disable("MissingTranslation", "ExtraTranslation")
}
applicationVariants.all {
resValue("string", "versionName", versionName)
}
buildTypes {
getByName("release") {
isMinifyEnabled = true
proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro")
}
}
buildFeatures {
viewBinding = true
}
packagingOptions {
2021-10-08 11:45:01 +00:00
resources {
excludes += "META-INF/DEPENDENCIES"
excludes += "META-INF/*.kotlin_module"
}
2021-01-10 10:11:04 +00:00
}
// To inline the bytecode built with JVM target 1.8 into
// bytecode that is being built with JVM target 1.6. (e.g. navArgs)
compileOptions {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}
tasks.withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile> {
kotlinOptions {
jvmTarget = "1.8"
}
}
}
val languages: String get() {
2021-01-15 19:08:19 +00:00
val langs = arrayListOf("en", "bn_BD", "bn_IN", "pa_IN", "pa_PK", "pt_BR", "pt_PT", "zh_CN", "zh_TW")
val exceptions = arrayOf("bn", "pa", "pt", "zh")
2021-01-10 10:11:04 +00:00
File("$projectDir/src/main/res").listFiles()?.filter {
val name = it.name
name.startsWith("values-") && !name.contains("v23")
}?.forEach { dir ->
val dirname = dir.name.substringAfter("-").substringBefore("-")
2021-02-23 15:34:48 +00:00
if (!exceptions.contains(dirname)) {
langs.add(dirname)
2021-01-10 10:11:04 +00:00
}
}
2021-01-10 12:11:29 +00:00
return langs.joinToString(", ") { "\"$it\"" }
2021-01-10 10:11:04 +00:00
}
dependencies {
implementation(project(":core-presentation"))
implementation(project(":core-ui"))
implementation(project(":library-network"))
2021-02-15 13:19:51 +00:00
// Kotlin
2021-01-10 10:11:04 +00:00
implementation(kotlin("stdlib-jdk8"))
implementation(kotlin("reflect"))
2021-02-15 13:19:51 +00:00
// AndroidX
2021-10-08 10:21:44 +00:00
implementation("androidx.appcompat:appcompat:1.3.1")
2021-01-10 10:11:04 +00:00
implementation("androidx.browser:browser:1.3.0")
2021-10-08 10:21:44 +00:00
implementation("androidx.constraintlayout:constraintlayout:2.1.1")
implementation("androidx.core:core-ktx:1.6.0")
implementation("androidx.fragment:fragment-ktx:1.3.6")
2021-04-13 10:45:38 +00:00
implementation("androidx.lifecycle:lifecycle-livedata-core-ktx:2.3.1")
implementation("androidx.lifecycle:lifecycle-viewmodel-ktx:2.3.1")
2021-01-10 10:11:04 +00:00
implementation("androidx.localbroadcastmanager:localbroadcastmanager:1.0.0")
2021-04-13 10:45:38 +00:00
implementation("androidx.navigation:navigation-fragment-ktx:2.3.5")
implementation("androidx.navigation:navigation-ui-ktx:2.3.5")
2021-01-15 18:27:17 +00:00
implementation("androidx.preference:preference-ktx:1.1.1")
2021-01-10 10:11:04 +00:00
implementation("androidx.swiperefreshlayout:swiperefreshlayout:1.1.0")
2021-10-08 11:05:46 +00:00
implementation("androidx.work:work-runtime-ktx:2.7.0-rc01")
2021-01-10 10:11:04 +00:00
2021-10-08 18:57:08 +00:00
implementation("com.github.madrapps:pikolo:2.0.2")
2021-10-08 15:10:32 +00:00
implementation("com.google.android.material:material:1.5.0-alpha04")
2021-01-10 10:11:04 +00:00
2021-02-15 13:19:51 +00:00
// JSON parser
2021-04-13 10:45:38 +00:00
implementation("com.beust:klaxon:5.5")
2021-01-10 10:11:04 +00:00
// HTTP networking
2021-04-13 10:45:38 +00:00
implementation("com.github.kittinunf.fuel:fuel:2.3.1")
implementation("com.github.kittinunf.fuel:fuel-coroutines:2.3.1")
implementation("com.github.kittinunf.fuel:fuel-json:2.3.1")
2021-10-08 18:57:08 +00:00
implementation("com.squareup.okhttp3:logging-interceptor:4.9.2")
2021-02-23 16:00:07 +00:00
implementation("com.squareup.retrofit2:retrofit:2.9.0")
2021-01-10 10:11:04 +00:00
// Root permissions
2021-10-08 13:31:47 +00:00
val libsuVersion = "3.1.2"
implementation("com.github.topjohnwu.libsu:core:$libsuVersion")
implementation("com.github.topjohnwu.libsu:io:$libsuVersion")
implementation("com.github.topjohnwu.libsu:busybox:$libsuVersion")
2021-01-10 10:11:04 +00:00
// Layout
2021-10-08 12:18:58 +00:00
implementation("com.google.android.flexbox:flexbox:3.0.0")
2021-01-10 10:11:04 +00:00
// Firebase
2021-10-08 10:21:44 +00:00
implementation("com.google.firebase:firebase-analytics-ktx:19.0.2")
implementation("com.google.firebase:firebase-crashlytics:18.2.3")
implementation("com.google.firebase:firebase-messaging:22.0.0")
implementation("com.google.firebase:firebase-perf:20.0.3")
2021-01-10 10:11:04 +00:00
}