diff --git a/OpenScienceJournal/app/build.gradle b/OpenScienceJournal/app/build.gradle index 97db78b2..283b8159 100644 --- a/OpenScienceJournal/app/build.gradle +++ b/OpenScienceJournal/app/build.gradle @@ -53,13 +53,13 @@ android { } dependencies { - annotationProcessor "com.google.dagger:dagger-compiler:$daggerVersion" + annotationProcessor deps.daggerCompiler - implementation 'androidx.core:core:1.5.0-alpha02' - implementation 'androidx.appcompat:appcompat:1.2.0' + implementation deps.core + implementation deps.appCompat - implementation 'io.reactivex.rxjava2:rxjava:2.1.3' - implementation("com.google.guava:guava:$guavaVersion") { + implementation deps.rxJava + implementation(deps.guava) { // Avoid error "Program type already present: javax.annotation.CheckForNull" exclude group: 'com.google.code.findbugs' // Avoid error "Program type already present: org.checkerframework.checker.nullness.compatqual.NullableType" @@ -69,7 +69,7 @@ dependencies { // Avoid error "Program type already present: org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement" exclude group: 'org.codehaus.mojo' } - implementation('com.google.android.gms:play-services-auth:17.0.0') { + implementation(deps.playServicesAuth) { // Avoid error "Program type already present: com.google.common.annotations.Beta". exclude group: 'com.google.guava' // Avoid error "Program type already present: javax.annotation.CheckForNull" @@ -77,7 +77,7 @@ dependencies { // Avoid error "Program type already present: com.google.j2objc.annotations.AutoreleasePool" exclude group: 'com.google.j2objc' } - implementation('com.google.api-client:google-api-client-android:1.25.0') { + implementation(deps.googleApiClient) { // Avoid error "Program type already present: com.google.common.annotations.Beta". exclude group: 'com.google.guava' // Avoid error "Program type already present: javax.annotation.CheckForNull" @@ -85,7 +85,7 @@ dependencies { // Avoid error "Program type already present: com.google.j2objc.annotations.AutoreleasePool" exclude group: 'com.google.j2objc' } - implementation('com.google.apis:google-api-services-drive:v2-rev362-1.25.0') { + implementation(deps.driveApi) { // Avoid error "Program type already present: com.google.common.annotations.Beta". exclude group: 'com.google.guava' // Avoid error "Program type already present: javax.annotation.CheckForNull" @@ -93,10 +93,10 @@ dependencies { // Avoid error "Program type already present: com.google.j2objc.annotations.AutoreleasePool" exclude group: 'com.google.j2objc' } - implementation "com.google.dagger:dagger:$daggerVersion" - implementation 'com.google.protobuf:protobuf-lite:3.0.0' + implementation deps.dagger + implementation deps.protobufLite implementation project(':whistlepunk_library') - testImplementation "junit:junit:$junitVersion" + testImplementation deps.junit } diff --git a/OpenScienceJournal/whistlepunk_library/build.gradle b/OpenScienceJournal/whistlepunk_library/build.gradle index b80efc05..f253aa05 100644 --- a/OpenScienceJournal/whistlepunk_library/build.gradle +++ b/OpenScienceJournal/whistlepunk_library/build.gradle @@ -110,36 +110,42 @@ protobuf { } dependencies { - implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0' - androidTestImplementation("junit:junit:$junitVersion") { - exclude module: 'hamcrest-core' - } + implementation fileTree(dir: 'libs', include: ['*.jar']) + implementation project(':scalarinputapi') - annotationProcessor "com.github.bumptech.glide:compiler:$glideVersion" - annotationProcessor "com.google.dagger:dagger-compiler:$daggerVersion" + implementation deps.glide + annotationProcessor deps.glideCompiler - debugImplementation "com.squareup.leakcanary:leakcanary-android:$leakCanaryVersion" + implementation deps.dagger + annotationProcessor deps.daggerCompiler - implementation 'androidx.cardview:cardview:1.0.0' - implementation 'androidx.exifinterface:exifinterface:1.2.0' - implementation 'androidx.recyclerview:recyclerview:1.1.0' - implementation "androidx.constraintlayout:constraintlayout:2.0.1" - implementation 'com.google.android.material:material:1.3.0-alpha02' - implementation 'com.bignerdranch.android:expandablerecyclerview:2.1.1' - implementation 'com.jakewharton.rxbinding2:rxbinding:2.0.0' - implementation "com.github.bumptech.glide:glide:$glideVersion" - implementation('com.google.api-client:google-api-client-android:1.25.0') { - // Avoid error "Program type already present: com.google.common.annotations.Beta". - exclude group: 'com.google.guava' - // Avoid error "Program type already present: javax.annotation.CheckForNull" - exclude group: 'com.google.code.findbugs' - // Avoid error "Program type already present: com.google.j2objc.annotations.AutoreleasePool" - exclude group: 'com.google.j2objc' - } - implementation 'com.google.ar:core:1.9.0' - implementation "com.google.ar.sceneform.ux:sceneform-ux:1.9.0" - implementation "com.google.dagger:dagger:$daggerVersion" - implementation("com.google.guava:guava:$guavaVersion") { + implementation deps.cardview + implementation deps.exifinterface + implementation deps.recyclerview + implementation deps.constraintlayout + implementation deps.material + implementation deps.expandablerecyclerview + implementation deps.swiperefreshlayout + + implementation deps.rxJava + implementation deps.rxAndroid + implementation deps.rxbinding + implementation deps.rxPermissions + + implementation deps.jodaTime + implementation deps.jodaConvert + + implementation deps.crypto + implementation deps.jwtdecode + implementation deps.androidsvg + implementation deps.protobufLite + // Depend on jsyn maven repo. + implementation deps.jsyn + + implementation deps.arcore + implementation deps.sceneform + + implementation(deps.guava) { // Avoid error "Program type already present: javax.annotation.CheckForNull" exclude group: 'com.google.code.findbugs' // Avoid error "Program type already present: org.checkerframework.checker.nullness.compatqual.NullableType" @@ -149,29 +155,10 @@ dependencies { // Avoid error "Program type already present: org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement" exclude group: 'org.codehaus.mojo' } - implementation 'com.google.protobuf:protobuf-lite:3.0.0' - // Depend on jsyn maven repo. - implementation 'com.jsyn:jsyn:20170815' - implementation 'com.tbruyelle.rxpermissions2:rxpermissions:0.9.4@aar' - implementation 'io.reactivex.rxjava2:rxandroid:2.0.1' - implementation 'io.reactivex.rxjava2:rxjava:2.1.3' - implementation 'joda-time:joda-time:2.9.9' - implementation 'org.joda:joda-convert:1.8' implementation 'com.google.android.gms:play-services-auth:19.0.0' - implementation 'com.google.api-client:google-api-client-android:1.25.0' - - implementation fileTree(dir: 'libs', include: ['*.jar']) - - implementation project(':scalarinputapi') - implementation 'androidx.security:security-crypto:1.0.0-rc04' - - implementation 'com.auth0.android:jwtdecode:2.0.0' - - implementation 'com.caverock:androidsvg-aar:1.4' - - implementation('com.google.api-client:google-api-client-android:1.25.0') { + implementation(deps.googleApiClient) { // Avoid error "Program type already present: com.google.common.annotations.Beta". exclude group: 'com.google.guava' // Avoid error "Program type already present: javax.annotation.CheckForNull" @@ -179,7 +166,8 @@ dependencies { // Avoid error "Program type already present: com.google.j2objc.annotations.AutoreleasePool" exclude group: 'com.google.j2objc' } - implementation('com.google.apis:google-api-services-drive:v2-rev362-1.25.0') { + + implementation(deps.driveApi) { // Avoid error "Program type already present: com.google.common.annotations.Beta". exclude group: 'com.google.guava' // Avoid error "Program type already present: javax.annotation.CheckForNull" @@ -188,11 +176,14 @@ dependencies { exclude group: 'com.google.j2objc' } - releaseImplementation "com.squareup.leakcanary:leakcanary-android-no-op:$leakCanaryVersion" + debugImplementation deps.leakCanary + releaseImplementation deps.leakCanaryNoop - testImplementation "junit:junit:$junitVersion" - - testImplementation("org.robolectric:robolectric:$robolectricVersion") { + testImplementation deps.junit + androidTestImplementation(deps.junit) { + exclude module: 'hamcrest-core' + } + testImplementation(deps.robolectric) { exclude group: 'commons-logging', module: 'commons-logging' exclude group: 'org.apache.httpcomponents', module: 'httpclient' } diff --git a/OpenScienceJournal/whistlepunk_library/dependencyVersions.gradle b/OpenScienceJournal/whistlepunk_library/dependencyVersions.gradle index 2a3fd7f2..995e527b 100644 --- a/OpenScienceJournal/whistlepunk_library/dependencyVersions.gradle +++ b/OpenScienceJournal/whistlepunk_library/dependencyVersions.gradle @@ -1,4 +1,7 @@ ext { + appCompatVersion = "1.2.0" + rxJavaVersion = "2.1.3" + daggerVersion = "2.29.1" glideVersion = "4.11.0" guavaVersion = "29.0-android" @@ -6,4 +9,53 @@ ext { junitVersion = "4.12" leakCanaryVersion = "1.5.4" robolectricVersion = "3.7" + + deps = [ + 'core': 'androidx.core:core:1.5.0-alpha02', + 'appCompat': "androidx.appcompat:appcompat:$appCompatVersion", + 'swiperefreshlayout': "androidx.swiperefreshlayout:swiperefreshlayout:1.1.0", + + 'glide': "com.github.bumptech.glide:glide:$glideVersion", + 'glideCompiler': "com.github.bumptech.glide:compiler:$glideVersion", + + "leakCanary": "com.squareup.leakcanary:leakcanary-android:$leakCanaryVersion", + "leakCanaryNoop": "com.squareup.leakcanary:leakcanary-android-no-op:$leakCanaryVersion", + + "cardview": "androidx.cardview:cardview:1.0.0", + "exifinterface": "androidx.exifinterface:exifinterface:1.2.0", + "recyclerview": "androidx.recyclerview:recyclerview:1.1.0", + "constraintlayout": "androidx.constraintlayout:constraintlayout:2.0.1", + "material": "com.google.android.material:material:1.3.0-alpha02", + "expandablerecyclerview": "com.bignerdranch.android:expandablerecyclerview:2.1.1", + + 'rxJava' : "io.reactivex.rxjava2:rxjava:$rxJavaVersion", + 'rxAndroid' : "io.reactivex.rxjava2:rxandroid:2.0.1", + "rxbinding": "com.jakewharton.rxbinding2:rxbinding:2.0.0", + "rxPermissions": "com.tbruyelle.rxpermissions2:rxpermissions:0.9.4@aar", + + "jodaTime": "joda-time:joda-time:2.9.9", + "jodaConvert": "org.joda:joda-convert:1.8", + + 'daggerCompiler': "com.google.dagger:dagger-compiler:$daggerVersion", + 'dagger': "com.google.dagger:dagger:$daggerVersion", + 'protobufLite': 'com.google.protobuf:protobuf-lite:3.0.0', + 'guava': "com.google.guava:guava:$guavaVersion", + + "arcore" : "com.google.ar:core:1.9.0", + "sceneform" : "com.google.ar.sceneform.ux:sceneform-ux:1.9.0", + + 'playServicesAuth': 'com.google.android.gms:play-services-auth:17.0.0', + 'googleApiClient': 'com.google.api-client:google-api-client-android:1.25.0', + 'driveApi' : "com.google.apis:google-api-services-drive:v2-rev362-1.25.0", + + "crypto": "androidx.security:security-crypto:1.0.0-rc04", + + "jsyn": "com.jsyn:jsyn:20170815", + + "jwtdecode": "com.auth0.android:jwtdecode:2.0.0", + "androidsvg": "com.caverock:androidsvg-aar:1.4", + + 'junit': "junit:junit:$junitVersion", + "robolectric": "org.robolectric:robolectric:$robolectricVersion" + ] }