fedilab-Android-App/app/build.gradle

170 lines
6.3 KiB
Groovy
Raw Normal View History

import java.util.regex.Matcher
import java.util.regex.Pattern
2022-04-27 15:20:42 +02:00
plugins {
id 'com.android.application'
2022-05-23 17:58:37 +02:00
id 'kotlin-android'
2022-08-20 12:50:22 +02:00
id 'androidx.navigation.safeargs.kotlin'
2022-04-27 15:20:42 +02:00
}
def flavor
android {
compileSdk 31
defaultConfig {
minSdk 21
targetSdk 31
2022-11-11 16:59:16 +01:00
versionCode 425
versionName "3.6.4"
2022-04-27 15:20:42 +02:00
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
flavorDimensions "default"
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
debug {
applicationIdSuffix '.debug'
}
2022-04-27 15:20:42 +02:00
}
compileOptions {
2022-07-30 18:47:30 +02:00
coreLibraryDesugaringEnabled true
2022-04-27 15:20:42 +02:00
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
productFlavors {
fdroid {
2022-06-12 11:28:13 +02:00
applicationId "fr.gouv.etalab.mastodon"
2022-04-27 15:20:42 +02:00
buildConfigField "boolean", "DONATIONS", "true"
buildConfigField "boolean", "push", "false"
flavor = "fdroid"
}
playstore {
2022-06-12 11:28:13 +02:00
applicationId "app.fedilab.android"
2022-04-27 15:20:42 +02:00
buildConfigField "boolean", "DONATIONS", "false"
buildConfigField "boolean", "push", "true"
flavor = "playstore"
}
}
lintOptions {
checkReleaseBuilds false
abortOnError false
}
buildFeatures {
viewBinding true
}
sourceSets {
playstore {
manifest.srcFile "src/playstore/AndroidManifest.xml"
java.srcDirs = ['src/main/java', 'src/playstore/java']
res.srcDirs = ['src/main/res', 'src/playstore/res']
}
fdroid {
java.srcDirs = ['src/main/java', 'src/fdroid/java']
res.srcDirs = ['src/main/res', 'src/fdroid/res']
}
}
configurations {
all {
exclude group: 'androidx.lifecycle', module: 'lifecycle-viewmodel-ktx'
}
}
}
allprojects {
repositories {
mavenLocal()
maven { url "https://jitpack.io" }
}
}
dependencies {
implementation project(':autoimageslider')
2022-06-05 15:48:58 +02:00
implementation 'androidx.appcompat:appcompat:1.4.2'
2022-06-14 19:17:35 +02:00
implementation 'com.google.android.material:material:1.6.1'
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
2022-08-20 12:52:47 +02:00
implementation "com.google.code.gson:gson:2.9.1"
2022-04-27 15:20:42 +02:00
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
2022-06-28 19:30:45 +02:00
implementation 'com.squareup.retrofit2:converter-simplexml:2.9.0'
2022-04-27 15:20:42 +02:00
implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0'
implementation 'androidx.preference:preference:1.2.0'
2022-06-14 19:17:35 +02:00
implementation "org.conscrypt:conscrypt-android:2.5.2"
2022-04-27 15:20:42 +02:00
implementation 'com.github.evozi:Cyanea:1.0.7'
implementation 'com.vanniktech:emoji-one:0.6.0'
implementation 'com.github.GrenderG:Toasty:1.5.2'
implementation 'org.framagit.tom79:SparkButton:1.0.13'
implementation "com.github.bumptech.glide:glide:4.12.0"
2022-07-13 09:27:10 +02:00
implementation "com.github.bumptech.glide:okhttp3-integration:4.12.0"
2022-11-10 16:41:34 +01:00
implementation "org.jsoup:jsoup:1.15.1"
2022-04-27 15:20:42 +02:00
implementation 'com.github.mergehez:ArgPlayer:v3.1'
implementation project(path: ':mytransl')
implementation project(path: ':ratethisapp')
2022-06-05 15:48:58 +02:00
implementation 'com.burhanrashid52:photoeditor:1.5.1'
implementation project(path: ':cropper')
2022-04-27 15:20:42 +02:00
annotationProcessor "com.github.bumptech.glide:compiler:4.12.0"
implementation 'jp.wasabeef:glide-transformations:4.3.0'
2022-07-11 16:40:50 +02:00
implementation 'com.github.penfeizhou.android.animation:glide-plugin:2.22.0'
2022-08-20 12:52:47 +02:00
implementation 'com.google.android.exoplayer:exoplayer:2.18.1'
2022-06-22 11:01:39 +02:00
implementation "androidx.viewpager2:viewpager2:1.0.0"
2022-04-27 15:20:42 +02:00
implementation 'com.github.piasy:rxandroidaudio:1.7.0'
implementation 'com.github.piasy:AudioProcessor:1.7.0'
implementation "androidx.work:work-runtime:2.7.1"
implementation 'app.futured.hauler:hauler:5.0.0'
implementation "com.github.chrisbanes:PhotoView:2.3.0"
2022-08-20 12:52:47 +02:00
implementation "ch.acra:acra-mail:5.9.6"
2022-05-24 11:15:29 +02:00
implementation "ch.acra:acra-limiter:5.9.3"
2022-08-20 12:52:47 +02:00
implementation "ch.acra:acra-dialog:5.9.6"
2022-04-27 15:20:42 +02:00
implementation "com.madgag.spongycastle:bctls-jdk15on:1.58.0.0"
implementation 'com.github.UnifiedPush:android-connector:2.0.1'
2022-04-27 15:20:42 +02:00
// implementation 'com.github.UnifiedPush:android-foss_embedded_fcm_distributor:1.0.0-beta1'
playstoreImplementation ('com.github.UnifiedPush:android-embedded_fcm_distributor:2.1.3') {
exclude group: 'com.google.firebase', module: 'firebase-core'
exclude group: 'com.google.firebase', module: 'firebase-analytics'
exclude group: 'com.google.firebase', module: 'firebase-measurement-connector'
}
2022-04-27 15:20:42 +02:00
implementation 'com.burhanrashid52:photoeditor:1.5.1'
implementation 'androidx.multidex:multidex:2.0.1'
implementation 'com.github.PhilJay:MPAndroidChart:v3.1.0'
2022-08-20 12:52:47 +02:00
implementation 'androidx.lifecycle:lifecycle-livedata:2.5.1'
implementation 'androidx.lifecycle:lifecycle-viewmodel:2.5.1'
2022-08-20 12:50:22 +02:00
implementation 'androidx.navigation:navigation-fragment:2.5.1'
implementation 'androidx.navigation:navigation-ui:2.5.1'
2022-04-27 15:20:42 +02:00
testImplementation 'junit:junit:'
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
2022-04-28 18:55:10 +02:00
// debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.8.1'
2022-05-08 19:12:41 +02:00
2022-07-30 18:47:30 +02:00
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.1.5'
}
def getCurrentFlavor() {
Gradle gradle = getGradle()
String tskReqStr = gradle.getStartParameter().getTaskRequests().toString()
println("tskReqStr:" +tskReqStr)
Pattern pattern
if( tskReqStr.contains( "assemble" ) ) // to run ./gradlew assembleRelease to build APK
pattern = Pattern.compile("assemble(\\w+)(Release|Debug)")
else if( tskReqStr.contains( "bundle" ) ) // to run ./gradlew bundleRelease to build .aab
pattern = Pattern.compile("assemble(\\w+)(Release|Debug)")
else
pattern = Pattern.compile("generate(\\w+)(Release|Debug)")
Matcher matcher = pattern.matcher( tskReqStr )
println(tskReqStr)
if( matcher.find() )
return matcher.group(1).toLowerCase()
else
{
println "NO MATCH FOUND"
return ""
}
}
println("Flavor: ${getCurrentFlavor()}")
if ( getCurrentFlavor() == "playstore" ){
apply plugin: 'com.google.gms.google-services'
2022-04-27 15:20:42 +02:00
}