0
0
Fork 0
mirror of https://github.com/YTVanced/VancedManager synced 2024-11-18 01:05:10 +00:00
VancedManager/app/build.gradle

147 lines
5.1 KiB
Groovy
Raw Normal View History

2020-09-26 17:09:01 +00:00
import java.util.regex.Matcher
import java.util.regex.Pattern
2020-03-16 15:41:57 +00:00
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'
2020-08-05 16:20:19 +00:00
apply plugin: 'com.google.gms.google-services'
2020-08-07 06:37:40 +00:00
apply plugin: 'com.google.firebase.firebase-perf'
2020-08-08 16:56:17 +00:00
apply plugin: 'com.google.firebase.crashlytics'
2020-08-25 09:05:20 +00:00
apply plugin: 'androidx.navigation.safeargs.kotlin'
2020-03-16 15:41:57 +00:00
2020-09-26 17:09:01 +00:00
ext.langs = getLanguages()
2020-03-16 15:41:57 +00:00
android {
2020-08-24 17:30:12 +00:00
compileSdkVersion 30
buildToolsVersion "30.0.2"
2020-03-16 15:41:57 +00:00
defaultConfig {
applicationId "com.vanced.manager"
minSdkVersion 21
2020-08-24 17:30:12 +00:00
targetSdkVersion 30
2020-08-23 00:24:43 +00:00
versionCode 13
2020-09-04 19:14:43 +00:00
versionName "1.3.0b (Arcturus)"
2020-03-16 15:41:57 +00:00
vectorDrawables.useSupportLibrary = true
2020-09-26 17:09:01 +00:00
buildConfigField "String[]", "MANAGER_LANGUAGES", "{" + surroundWithQuotes(langs) + "}"
buildConfigField "String[]", "MANAGER_LANGUAGE_NAMES", "{" + surroundWithQuotes(getLanguageNames()) + "}"
2020-03-16 15:41:57 +00:00
}
2020-05-04 20:14:38 +00:00
lintOptions {
2020-06-26 16:09:39 +00:00
disable 'MissingTranslation', 'ExtraTranslation'
2020-05-04 20:14:38 +00:00
}
2020-06-09 09:31:00 +00:00
aaptOptions {
noCompress 'apk', '.apk'
}
2020-05-04 20:14:38 +00:00
2020-05-01 13:14:52 +00:00
applicationVariants.all { variant ->
variant.resValue "string", "versionName", variant.versionName
}
2020-03-16 15:41:57 +00:00
buildTypes {
release {
minifyEnabled true
2020-03-16 15:41:57 +00:00
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
2020-07-03 20:26:40 +00:00
buildFeatures {
dataBinding true
}
2020-03-16 15:41:57 +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
}
kotlinOptions {
jvmTarget = "1.8"
}
}
2020-09-26 17:09:01 +00:00
def getLanguages() {
List<String> langs = new ArrayList<String>()
langs.add("en")
Pattern pattern = Pattern.compile("-(\\w+)-")
new File("${projectDir}/src/main/res").eachDir { dir ->
if (dir.name.startsWith("values-") && !dir.name.contains("v23")) {
Matcher matcher = pattern.matcher(dir.name)
if (matcher.find()) {
if (langs.contains(matcher.group(1)))
langs.add(matcher.group(1) + "_${dir.name.substring(dir.name.length() - 2)}")
else
langs.add(matcher.group(1))
}
}
}
return langs.toArray()
}
def getLanguageNames() {
List<String> langnames = new ArrayList<String>()
for (int i = 0; i < langs.size(); i++) {
if (langs[i].length() > 2) {
Locale loc = new Locale(langs[i].substring(0, langs[i].length() - 3), langs[i].substring(langs[i].length() - 2))
project.logger.lifecycle(loc.getDisplayLanguage(loc).capitalize() + " (" + loc.getDisplayCountry(loc).capitalize() + ")")
langnames.add(loc.getDisplayLanguage(loc).capitalize() + " (" + loc.getDisplayCountry(loc).capitalize() + ")")
} else {
Locale loc = new Locale(langs[i])
project.logger.lifecycle(loc.getDisplayLanguage(loc).capitalize())
langnames.add(loc.getDisplayLanguage(loc).capitalize())
}
}
return langnames.toArray()
}
def surroundWithQuotes(Object[] arr) {
String[] dummyArr = arr
for (int i = 0; i < arr.length; i++) {
dummyArr[i] = "\"" + arr[i] + "\""
}
return dummyArr.join(", ")
}
2020-03-16 15:41:57 +00:00
dependencies {
2020-07-16 21:34:40 +00:00
2020-07-03 20:29:40 +00:00
// Kotlin
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
2020-07-16 21:34:40 +00:00
implementation "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"
2020-07-03 20:29:40 +00:00
// AndroidX
2020-08-07 16:16:34 +00:00
implementation 'androidx.appcompat:appcompat:1.2.0'
2020-07-03 20:29:40 +00:00
implementation 'androidx.browser:browser:1.2.0'
2020-09-17 10:13:16 +00:00
implementation 'androidx.constraintlayout:constraintlayout:2.0.1'
2020-08-04 10:39:21 +00:00
implementation 'androidx.core:core-ktx:1.3.1'
implementation 'androidx.fragment:fragment-ktx:1.2.5'
2020-07-03 20:35:05 +00:00
implementation 'androidx.lifecycle:lifecycle-livedata-core-ktx:2.2.0'
implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.2.0'
implementation 'androidx.localbroadcastmanager:localbroadcastmanager:1.0.0'
2020-07-05 12:49:35 +00:00
implementation 'androidx.navigation:navigation-fragment-ktx:2.3.0'
implementation 'androidx.navigation:navigation-ui-ktx:2.3.0'
2020-07-03 20:29:40 +00:00
implementation 'androidx.preference:preference-ktx:1.1.1'
2020-07-05 12:49:35 +00:00
implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0'
2020-08-07 16:16:34 +00:00
implementation 'com.google.android.material:material:1.3.0-alpha02'
2020-07-03 20:29:40 +00:00
// Other
2020-08-04 10:39:21 +00:00
implementation 'com.beust:klaxon:5.3'
2020-08-05 16:20:19 +00:00
implementation 'com.crowdin.platform:mobile-sdk:1.1.6'
2020-07-11 21:43:43 +00:00
implementation 'com.github.kittinunf.fuel:fuel:2.2.3'
implementation 'com.github.kittinunf.fuel:fuel-coroutines:2.2.3'
2020-08-05 16:20:19 +00:00
implementation 'com.github.kittinunf.fuel:fuel-json:2.2.3'
2020-08-24 17:30:12 +00:00
implementation 'com.squareup.okhttp3:logging-interceptor:4.8.1'
2020-08-05 16:20:19 +00:00
implementation 'com.github.topjohnwu.libsu:core:3.0.1'
implementation 'com.github.topjohnwu.libsu:io:3.0.1'
2020-08-05 16:20:19 +00:00
implementation 'com.google.firebase:firebase-messaging:20.2.4'
2020-08-07 06:37:40 +00:00
implementation 'com.google.firebase:firebase-perf:19.0.8'
2020-08-05 16:20:19 +00:00
implementation 'com.mindorks.android:prdownloader:0.6.0'
2020-08-24 17:30:12 +00:00
implementation 'com.google.firebase:firebase-analytics-ktx:17.5.0'
implementation 'com.google.firebase:firebase-crashlytics:17.2.1'
2020-07-11 21:43:43 +00:00
2020-03-16 15:41:57 +00:00
}