1
0
mirror of https://github.com/TwidereProject/Twidere-Android synced 2025-02-08 07:48:45 +01:00

Clean up gradle files a ton

This commit is contained in:
TacoTheDank 2020-05-30 21:12:29 -04:00
parent eb0379fae8
commit 86dcfde321
4 changed files with 97 additions and 115 deletions

View File

@ -39,54 +39,18 @@ subprojects {
buildscript { buildscript {
ext { ext {
kotlinVersion = '1.3.72' kotlinVersion = '1.3.72'
pluginVersions = [ sharedVersions = [
AndroidSvgDrawable: '3.0.0',
PlayServices : '4.3.3',
]
libVersions = [
Kotlin : "${kotlinVersion}", Kotlin : "${kotlinVersion}",
SupportTest : '1.0.0',
MariotakuCommons : '0.9.20',
RestFu : '0.9.60',
ObjectCursor : '0.9.21',
PlayServices : '17.0.0',
MapsUtils : '0.6.2',
DropboxCoreSdk : '3.1.3',
GoogleDriveApi : 'v3-rev193-1.25.0',
Exoplayer : '2.11.4',
Toro : '2.1.0',
LoganSquare : '1.3.7', LoganSquare : '1.3.7',
IABv3 : '1.1.0', Jackson : '2.7.4',
Mime4J : '0.7.2',
OkHttp : '3.8.1',
Stetho : '1.5.0',
OSMDroid : '5.6.5',
LeakCanary : '2.1',
TwitterText : '1.14.7',
MediaViewerLibrary : '0.9.23',
MultiValueSwitch : '0.9.8',
PickNCrop : '0.9.27',
AndroidGIFDrawable : '1.2.6',
KPreferences : '0.9.7',
Kovenant : '3.3.0',
ParcelablePlease : '1.0.2', ParcelablePlease : '1.0.2',
Chameleon : '0.9.28',
UniqR : '0.9.4',
SQLiteQB : '0.9.15',
Glide : '4.11.0',
GlideOkHttp3 : '4.11.0',
GlideTransformations : '4.1.0',
AndroidImageCropper : '2.4.6',
ExportablePreferences: '0.9.7', ExportablePreferences: '0.9.7',
ACRA : '4.9.2', MariotakuCommons : '0.9.20',
AbstractTask : '0.9.5', ObjectCursor : '0.9.21',
Dagger : '2.11', RestFu : '0.9.60',
StethoBeanShellREPL : '0.1',
MessageBubbleView : '3.5',
] ]
} }
} }
} }

View File

@ -58,12 +58,18 @@ android {
versionCode projectVersionCode versionCode projectVersionCode
versionName projectVersionName versionName projectVersionName
} }
buildTypes { buildTypes {
release { release {
minifyEnabled false minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
} }
} }
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
} }
dependencies { dependencies {
@ -72,23 +78,23 @@ dependencies {
/** Third-party dependencies **/ /** Third-party dependencies **/
implementation "com.bluelinelabs:logansquare:${libVersions['LoganSquare']}" implementation "com.bluelinelabs:logansquare:${sharedVersions['LoganSquare']}"
annotationProcessor "com.bluelinelabs:logansquare-compiler:${libVersions['LoganSquare']}" annotationProcessor "com.bluelinelabs:logansquare-compiler:${sharedVersions['LoganSquare']}"
implementation "com.fasterxml.jackson.core:jackson-core:2.7.4" implementation "com.fasterxml.jackson.core:jackson-core:${sharedVersions['Jackson']}"
implementation "com.hannesdorfmann.parcelableplease:annotation:${libVersions['ParcelablePlease']}" implementation "com.hannesdorfmann.parcelableplease:annotation:${sharedVersions['ParcelablePlease']}"
annotationProcessor "com.hannesdorfmann.parcelableplease:processor:${libVersions['ParcelablePlease']}" annotationProcessor "com.hannesdorfmann.parcelableplease:processor:${sharedVersions['ParcelablePlease']}"
/** Custom dependencies **/ /** Custom dependencies **/
implementation "com.github.mariotaku.RestFu:library:${libVersions['RestFu']}" implementation "com.github.mariotaku.ExportablePreferences:core:${sharedVersions['ExportablePreferences']}"
implementation "com.github.mariotaku.RestFu:oauth:${libVersions['RestFu']}" annotationProcessor "com.github.mariotaku.ExportablePreferences:processor:${sharedVersions['ExportablePreferences']}"
implementation "com.github.mariotaku.RestFu:oauth2:${libVersions['RestFu']}" implementation "com.github.mariotaku.CommonsLibrary:logansquare:${sharedVersions['MariotakuCommons']}"
implementation "com.github.mariotaku.ObjectCursor:core:${libVersions['ObjectCursor']}" implementation "com.github.mariotaku.CommonsLibrary:objectcursor:${sharedVersions['MariotakuCommons']}"
annotationProcessor "com.github.mariotaku.ObjectCursor:processor:${libVersions['ObjectCursor']}" implementation "com.github.mariotaku.ObjectCursor:core:${sharedVersions['ObjectCursor']}"
implementation "com.github.mariotaku.ExportablePreferences:core:${libVersions['ExportablePreferences']}" annotationProcessor "com.github.mariotaku.ObjectCursor:processor:${sharedVersions['ObjectCursor']}"
annotationProcessor "com.github.mariotaku.ExportablePreferences:processor:${libVersions['ExportablePreferences']}" implementation "com.github.mariotaku.RestFu:library:${sharedVersions['RestFu']}"
implementation "com.github.mariotaku.CommonsLibrary:objectcursor:${libVersions['MariotakuCommons']}" implementation "com.github.mariotaku.RestFu:oauth:${sharedVersions['RestFu']}"
implementation "com.github.mariotaku.CommonsLibrary:logansquare:${libVersions['MariotakuCommons']}" implementation "com.github.mariotaku.RestFu:oauth2:${sharedVersions['RestFu']}"
} }
install { install {

View File

@ -29,6 +29,11 @@ android {
minSdkVersion globalMinSdkVersion minSdkVersion globalMinSdkVersion
targetSdkVersion globalTargetSdkVersion targetSdkVersion globalTargetSdkVersion
} }
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
} }
dependencies { dependencies {

View File

@ -25,7 +25,7 @@ buildscript {
if (enableGoogleVariant) { if (enableGoogleVariant) {
// START Non-FOSS component // START Non-FOSS component
classpath "com.google.gms:google-services:${pluginVersions['PlayServices']}" classpath 'com.google.gms:google-services:4.3.3'
// END Non-FOSS component // END Non-FOSS component
} }
} }
@ -91,9 +91,6 @@ android {
signingConfig signingConfigs.twidere signingConfig signingConfigs.twidere
} }
multiDexEnabled true
minifyEnabled false
shrinkResources false
resValue("bool", "debug", "true") resValue("bool", "debug", "true")
} }
release { release {
@ -101,7 +98,6 @@ android {
signingConfig signingConfigs.twidere signingConfig signingConfigs.twidere
} }
multiDexEnabled true
minifyEnabled false minifyEnabled false
shrinkResources false shrinkResources false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
@ -145,7 +141,6 @@ android {
exclude 'sdk-version.txt' exclude 'sdk-version.txt'
exclude 'build-data.properties' exclude 'build-data.properties'
} }
} }
task buildTranslationArray { task buildTranslationArray {
@ -153,16 +148,16 @@ task buildTranslationArray {
foundLocales.append("new String[]{") foundLocales.append("new String[]{")
fileTree("src/main/res-localized").visit { FileVisitDetails details -> fileTree("src/main/res-localized").visit { FileVisitDetails details ->
if(details.file.path.endsWith("strings.xml")){ if (details.file.path.endsWith("strings.xml")) {
def languageCode = details.file.parentFile.name.replaceAll('values-','').replaceAll('-r','-') def languageCode = details.file.parentFile.name.replaceAll('values-', '').replaceAll('-r', '-')
languageCode = (languageCode == "values") ? "en" : languageCode; languageCode = (languageCode == "values") ? "en" : languageCode
foundLocales.append("\"").append(languageCode).append("\"").append(",") foundLocales.append("\"").append(languageCode).append("\"").append(",")
} }
} }
foundLocales.append("}") foundLocales.append("}")
//Don't forget to remove the trailing comma //Don't forget to remove the trailing comma
def foundLocalesString = foundLocales.toString().replaceAll(',}','}') def foundLocalesString = foundLocales.toString().replaceAll(',}', '}')
android.defaultConfig.buildConfigField "String[]", "TRANSLATION_ARRAY", foundLocalesString android.defaultConfig.buildConfigField "String[]", "TRANSLATION_ARRAY", foundLocalesString
} }
@ -175,12 +170,25 @@ tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all {
} }
} }
ext {
libVersions = [
Kovenant : '3.3.0',
Mime4J : '0.7.2',
Dagger : '2.11',
Exoplayer : '2.11.4',
Glide : '4.11.0',
MediaViewerLibrary: '0.9.23',
PlayServices : '17.0.0',
Stetho : '1.5.0',
]
}
dependencies { dependencies {
implementation project(':twidere.component.common') implementation project(':twidere.component.common')
implementation project(':twidere.component.nyan') implementation project(':twidere.component.nyan')
/** Kotlin **/ /** Kotlin **/
implementation "org.jetbrains.kotlin:kotlin-stdlib:${libVersions['Kotlin']}" implementation "org.jetbrains.kotlin:kotlin-stdlib:${sharedVersions['Kotlin']}"
implementation "nl.komponents.kovenant:kovenant:${libVersions['Kovenant']}" implementation "nl.komponents.kovenant:kovenant:${libVersions['Kovenant']}"
implementation "nl.komponents.kovenant:kovenant-android:${libVersions['Kovenant']}" implementation "nl.komponents.kovenant:kovenant-android:${libVersions['Kovenant']}"
implementation "nl.komponents.kovenant:kovenant-combine:${libVersions['Kovenant']}" implementation "nl.komponents.kovenant:kovenant-combine:${libVersions['Kovenant']}"
@ -193,20 +201,20 @@ dependencies {
implementation 'androidx.browser:browser:1.2.0' implementation 'androidx.browser:browser:1.2.0'
implementation 'androidx.cardview:cardview:1.0.0' implementation 'androidx.cardview:cardview:1.0.0'
implementation 'androidx.core:core:1.2.0' implementation 'androidx.core:core:1.2.0'
implementation 'androidx.core:core-ktx:1.2.0'
implementation 'androidx.drawerlayout:drawerlayout:1.1.0-alpha01' implementation 'androidx.drawerlayout:drawerlayout:1.1.0-alpha01'
implementation 'androidx.exifinterface:exifinterface:1.1.0' implementation 'androidx.exifinterface:exifinterface:1.1.0'
implementation "androidx.preference:preference:1.1.1"
implementation 'androidx.legacy:legacy-support-core-ui:1.0.0' implementation 'androidx.legacy:legacy-support-core-ui:1.0.0'
implementation 'androidx.multidex:multidex:2.0.1' implementation 'androidx.multidex:multidex:2.0.1'
implementation 'androidx.palette:palette:1.0.0' implementation 'androidx.palette:palette:1.0.0'
implementation 'androidx.preference:preference:1.1.1'
implementation 'androidx.recyclerview:recyclerview:1.1.0' implementation 'androidx.recyclerview:recyclerview:1.1.0'
implementation 'com.google.android.material:material:1.1.0' implementation 'com.google.android.material:material:1.1.0'
implementation "androidx.core:core-ktx:1.2.0"
/** Third-party dependencies **/ /** Third-party dependencies **/
compileOnly 'javax.annotation:jsr250-api:1.0' compileOnly 'javax.annotation:jsr250-api:1.0'
implementation "com.twitter:twitter-text:${libVersions['TwitterText']}" implementation 'com.twitter:twitter-text:1.14.7'
implementation 'com.davemorrissey.labs:subsampling-scale-image-view:3.6.0' implementation 'com.davemorrissey.labs:subsampling-scale-image-view:3.6.0'
implementation 'com.squareup:otto:1.3.8' implementation 'com.squareup:otto:1.3.8'
implementation 'dnsjava:dnsjava:2.1.8' implementation 'dnsjava:dnsjava:2.1.8'
@ -214,18 +222,18 @@ dependencies {
implementation 'com.rengwuxian.materialedittext:library:2.1.4' implementation 'com.rengwuxian.materialedittext:library:2.1.4'
implementation 'com.pnikosis:materialish-progress:1.7' implementation 'com.pnikosis:materialish-progress:1.7'
implementation 'com.github.uucky:ColorPicker-Android:0.9.7@aar' implementation 'com.github.uucky:ColorPicker-Android:0.9.7@aar'
implementation "pl.droidsonroids.gif:android-gif-drawable:${libVersions['AndroidGIFDrawable']}" implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.6'
implementation 'com.sprylab.android.texturevideoview:texturevideoview:1.2.1' implementation 'com.sprylab.android.texturevideoview:texturevideoview:1.2.1'
implementation 'com.squareup:pollexor:2.0.4' implementation 'com.squareup:pollexor:2.0.4'
implementation "org.apache.james:apache-mime4j-core:${libVersions['Mime4J']}" implementation "org.apache.james:apache-mime4j-core:${libVersions['Mime4J']}"
implementation "org.apache.james:apache-mime4j-storage:${libVersions['Mime4J']}" implementation "org.apache.james:apache-mime4j-storage:${libVersions['Mime4J']}"
implementation "com.bluelinelabs:logansquare:${libVersions['LoganSquare']}" implementation "com.bluelinelabs:logansquare:${sharedVersions['LoganSquare']}"
kapt "com.bluelinelabs:logansquare-compiler:${libVersions['LoganSquare']}" kapt "com.bluelinelabs:logansquare-compiler:${sharedVersions['LoganSquare']}"
implementation "com.fasterxml.jackson.core:jackson-core:2.7.4" implementation "com.fasterxml.jackson.core:jackson-core:${sharedVersions['Jackson']}"
implementation "com.hannesdorfmann.parcelableplease:annotation:${libVersions['ParcelablePlease']}" implementation "com.hannesdorfmann.parcelableplease:annotation:${sharedVersions['ParcelablePlease']}"
kapt "com.hannesdorfmann.parcelableplease:processor:${libVersions['ParcelablePlease']}" kapt "com.hannesdorfmann.parcelableplease:processor:${sharedVersions['ParcelablePlease']}"
implementation "com.squareup.okhttp3:okhttp:${libVersions['OkHttp']}" implementation 'com.squareup.okhttp3:okhttp:3.8.1'
implementation "com.squareup.okio:okio:2.4.3" implementation 'com.squareup.okio:okio:2.4.3'
implementation 'com.lnikkila:extendedtouchview:0.1.1' implementation 'com.lnikkila:extendedtouchview:0.1.1'
implementation "com.google.dagger:dagger:${libVersions['Dagger']}" implementation "com.google.dagger:dagger:${libVersions['Dagger']}"
kapt "com.google.dagger:dagger-compiler:${libVersions['Dagger']}" kapt "com.google.dagger:dagger-compiler:${libVersions['Dagger']}"
@ -236,56 +244,55 @@ dependencies {
implementation "com.google.android.exoplayer:exoplayer-ui:${libVersions['Exoplayer']}" implementation "com.google.android.exoplayer:exoplayer-ui:${libVersions['Exoplayer']}"
implementation "com.google.android.exoplayer:extension-okhttp:${libVersions['Exoplayer']}" implementation "com.google.android.exoplayer:extension-okhttp:${libVersions['Exoplayer']}"
implementation "com.github.bumptech.glide:glide:${libVersions['Glide']}" implementation "com.github.bumptech.glide:glide:${libVersions['Glide']}"
implementation "com.github.bumptech.glide:okhttp3-integration:${libVersions['GlideOkHttp3']}@aar" implementation "com.github.bumptech.glide:okhttp3-integration:${libVersions['Glide']}@aar"
kapt "com.github.bumptech.glide:compiler:${libVersions['Glide']}" kapt "com.github.bumptech.glide:compiler:${libVersions['Glide']}"
implementation "jp.wasabeef:glide-transformations:${libVersions['GlideTransformations']}" implementation 'jp.wasabeef:glide-transformations:4.1.0'
implementation "com.theartofdev.edmodo:android-image-cropper:${libVersions['AndroidImageCropper']}" implementation 'com.theartofdev.edmodo:android-image-cropper:2.4.6'
/** Custom dependencies **/ /** Custom dependencies **/
implementation 'com.github.mariotaku:AbstractTask:0.9.5'
implementation 'com.github.mariotaku:DragSortListView:0.6.1' implementation 'com.github.mariotaku:DragSortListView:0.6.1'
implementation "com.github.mariotaku:MessageBubbleView:${libVersions['MessageBubbleView']}" implementation "com.github.mariotaku.ExportablePreferences:core:${sharedVersions['ExportablePreferences']}"
implementation 'com.github.mariotaku:DragSortListView:0.6.1' implementation("com.github.mariotaku.CommonsLibrary:emojione-android:${sharedVersions['MariotakuCommons']}") {
implementation "com.github.mariotaku.MediaViewerLibrary:base:${libVersions['MediaViewerLibrary']}"
implementation "com.github.mariotaku.MediaViewerLibrary:subsample-image-view:${libVersions['MediaViewerLibrary']}"
implementation "com.github.mariotaku:SQLiteQB:${libVersions['SQLiteQB']}"
implementation "com.github.mariotaku.ObjectCursor:core:${libVersions['ObjectCursor']}"
kapt "com.github.mariotaku.ObjectCursor:processor:${libVersions['ObjectCursor']}"
implementation "com.github.mariotaku.ExportablePreferences:core:${libVersions['ExportablePreferences']}"
implementation "com.github.mariotaku:AbstractTask:${libVersions['AbstractTask']}"
implementation "com.github.mariotaku.CommonsLibrary:parcel:${libVersions['MariotakuCommons']}"
implementation "com.github.mariotaku.CommonsLibrary:io:${libVersions['MariotakuCommons']}"
implementation "com.github.mariotaku.CommonsLibrary:text:${libVersions['MariotakuCommons']}"
implementation "com.github.mariotaku.CommonsLibrary:text-kotlin:${libVersions['MariotakuCommons']}"
implementation("com.github.mariotaku.CommonsLibrary:emojione-android:${libVersions['MariotakuCommons']}") {
exclude group: 'org.apache.commons', module: 'commons-text' exclude group: 'org.apache.commons', module: 'commons-text'
} }
implementation "com.github.mariotaku.CommonsLibrary:objectcursor:${libVersions['MariotakuCommons']}" implementation "com.github.mariotaku.CommonsLibrary:io:${sharedVersions['MariotakuCommons']}"
implementation "com.github.mariotaku.CommonsLibrary:logansquare:${libVersions['MariotakuCommons']}" implementation "com.github.mariotaku.CommonsLibrary:logansquare:${sharedVersions['MariotakuCommons']}"
implementation "com.github.mariotaku:KPreferences:${libVersions['KPreferences']}" implementation "com.github.mariotaku.CommonsLibrary:objectcursor:${sharedVersions['MariotakuCommons']}"
implementation "com.github.mariotaku.UniqR:android:${libVersions['UniqR']}" implementation "com.github.mariotaku.CommonsLibrary:parcel:${sharedVersions['MariotakuCommons']}"
implementation "com.github.mariotaku:PickNCrop:${libVersions['PickNCrop']}" implementation "com.github.mariotaku.CommonsLibrary:text:${sharedVersions['MariotakuCommons']}"
implementation "com.github.mariotaku.RestFu:library:${libVersions['RestFu']}" implementation "com.github.mariotaku.CommonsLibrary:text-kotlin:${sharedVersions['MariotakuCommons']}"
implementation "com.github.mariotaku.RestFu:oauth:${libVersions['RestFu']}" implementation 'com.github.mariotaku:KPreferences:0.9.7'
implementation "com.github.mariotaku.RestFu:oauth2:${libVersions['RestFu']}" implementation "com.github.mariotaku.MediaViewerLibrary:base:${libVersions['MediaViewerLibrary']}"
implementation "com.github.mariotaku.RestFu:okhttp3:${libVersions['RestFu']}" implementation "com.github.mariotaku.MediaViewerLibrary:subsample-image-view:${libVersions['MediaViewerLibrary']}"
implementation "com.github.mariotaku.RestFu:logansquare:${libVersions['RestFu']}" implementation 'com.github.mariotaku:MessageBubbleView:3.5'
implementation "com.github.Tlaster:Chameleon:${libVersions['Chameleon']}" implementation "com.github.mariotaku.ObjectCursor:core:${sharedVersions['ObjectCursor']}"
kapt "com.github.mariotaku.ObjectCursor:processor:${sharedVersions['ObjectCursor']}"
implementation 'com.github.mariotaku:PickNCrop:0.9.27'
implementation "com.github.mariotaku.RestFu:library:${sharedVersions['RestFu']}"
implementation "com.github.mariotaku.RestFu:logansquare:${sharedVersions['RestFu']}"
implementation "com.github.mariotaku.RestFu:oauth:${sharedVersions['RestFu']}"
implementation "com.github.mariotaku.RestFu:oauth2:${sharedVersions['RestFu']}"
implementation "com.github.mariotaku.RestFu:okhttp3:${sharedVersions['RestFu']}"
implementation 'com.github.mariotaku:SQLiteQB:0.9.15'
implementation 'com.github.mariotaku.UniqR:android:0.9.4'
implementation 'com.github.Tlaster:Chameleon:0.9.28'
/** Flavor dependencies **/ /** Flavor dependencies **/
fdroidImplementation "org.osmdroid:osmdroid-android:${libVersions['OSMDroid']}" fdroidImplementation 'org.osmdroid:osmdroid-android:5.6.5'
fdroidImplementation "ch.acra:acra:${libVersions['ACRA']}" fdroidImplementation 'ch.acra:acra:4.9.2'
if (enableGoogleVariant) { if (enableGoogleVariant) {
// START Non-FOSS component // START Non-FOSS component
googleImplementation "com.google.android.gms:play-services-ads:${libVersions['PlayServices']}" googleImplementation "com.google.android.gms:play-services-ads:${libVersions['PlayServices']}"
googleImplementation "com.google.android.gms:play-services-auth:${libVersions['PlayServices']}" googleImplementation "com.google.android.gms:play-services-auth:${libVersions['PlayServices']}"
googleImplementation "com.google.android.gms:play-services-maps:${libVersions['PlayServices']}" googleImplementation "com.google.android.gms:play-services-maps:${libVersions['PlayServices']}"
googleImplementation "com.google.maps.android:android-maps-utils:${libVersions['MapsUtils']}" googleImplementation 'com.google.maps.android:android-maps-utils:0.6.2'
googleImplementation "com.anjlab.android.iab.v3:library:${libVersions['IABv3']}" googleImplementation 'com.anjlab.android.iab.v3:library:1.1.0'
googleImplementation "com.dropbox.core:dropbox-core-sdk:${libVersions['DropboxCoreSdk']}" googleImplementation 'com.dropbox.core:dropbox-core-sdk:3.1.3'
googleImplementation("com.google.apis:google-api-services-drive:${libVersions['GoogleDriveApi']}") { googleImplementation('com.google.apis:google-api-services-drive:v3-rev193-1.25.0') {
exclude group: 'org.apache.httpcomponents' exclude group: 'org.apache.httpcomponents'
} }
implementation 'com.google.guava:guava:28.2-android' implementation 'com.google.guava:guava:28.2-android'
@ -294,8 +301,8 @@ dependencies {
debugImplementation "com.facebook.stetho:stetho:${libVersions['Stetho']}" debugImplementation "com.facebook.stetho:stetho:${libVersions['Stetho']}"
debugImplementation "com.facebook.stetho:stetho-okhttp3:${libVersions['Stetho']}" debugImplementation "com.facebook.stetho:stetho-okhttp3:${libVersions['Stetho']}"
debugImplementation "com.github.mariotaku:StethoBeanShellREPL:${libVersions['StethoBeanShellREPL']}" debugImplementation 'com.github.mariotaku:StethoBeanShellREPL:0.1'
debugImplementation "com.squareup.leakcanary:leakcanary-android:${libVersions['LeakCanary']}" debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.1'
debugImplementation('com.jayway.jsonpath:json-path:2.2.0') { debugImplementation('com.jayway.jsonpath:json-path:2.2.0') {
exclude group: 'net.minidev', module: 'json-smart' exclude group: 'net.minidev', module: 'json-smart'
} }