From fc30f1b5ecf6d6f1a65bf1bec378ece2c8273239 Mon Sep 17 00:00:00 2001 From: Dmitry Brant Date: Tue, 11 Sep 2018 04:51:28 -0400 Subject: [PATCH] Sweeping update of gradle and dependency versions. (#1858) * Sweeping update of gradle and library versions. This updates all of the dependencies of the project to their latest versions. Everyone should please upgrade to the latest version of Android Studio, update your build tools, and keep your version of Gradle and the Kotlin plugin up to date. * Update build tools in travis. * Remove cruft and fix tests. * Remove even more stuff. * Reinstate instrumented tests. * Update emulator image in travis. * Localisation updates from https://translatewiki.net. * Work towards eliminating string literals from code. (#1861) String literals are being used in many places in the code, instead of proper string resources which are automatically localized. This PR replaces many of the string literals with pre-packaged resources, or will add the appropriate string if necessary. * Add button on image details to copy wikicode to clipboard (#1849) * Add button on image details to copy wikicode to clipboard * Make copy wikicode button width the same as the nominate deletion button width by filling in background * Build fix * Enable ProGuard for Debug and Release builds. This enables ProGuard minification, which significantly shrinks the APK (for both debug and release configurations) and vastly decreases the method count. * Add ProGuard rules for test builds. --- .gitreview | 6 -- .travis.yml | 7 +-- app/build.gradle | 51 +++++++--------- app/libs/java-json.jar | Bin 84697 -> 0 bytes app/proguard-rules.txt | 56 +++++++++++++++++- .../free/nrw/commons/CommonsApplication.java | 12 +++- .../nrw/commons/nearby/NearbyController.java | 12 +++- .../free/nrw/commons/NearbyControllerTest.kt | 2 +- app/test-proguard-rules.txt | 4 ++ build.gradle | 8 +-- gradle.properties | 13 +--- gradle/wrapper/gradle-wrapper.properties | 4 +- 12 files changed, 112 insertions(+), 63 deletions(-) delete mode 100644 .gitreview delete mode 100644 app/libs/java-json.jar create mode 100644 app/test-proguard-rules.txt diff --git a/.gitreview b/.gitreview deleted file mode 100644 index 2dd0b4bb2..000000000 --- a/.gitreview +++ /dev/null @@ -1,6 +0,0 @@ -[gerrit] -host=gerrit.wikimedia.org -port=29418 -project=apps/android/commons.git -defaultbranch=master -defaultrebase=0 diff --git a/.travis.yml b/.travis.yml index 5e76e09d9..d9abeedbe 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,19 +12,16 @@ env: - ADB_INSTALL_TIMEOUT=12 # in minutes jdk: - # - openjdk8 # not yet available - oraclejdk8 android: components: - tools - platform-tools - - build-tools-27.0.0 + - build-tools-27.0.3 - extra-google-m2repository - extra-android-m2repository - - ${ANDROID_TARGET} - - android-25 - - android-26 + - android-22 - android-27 - sys-img-${ANDROID_ABI}-${ANDROID_TARGET} licenses: diff --git a/app/build.gradle b/app/build.gradle index 994710fda..33d9f4a2f 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -4,7 +4,6 @@ apply plugin: 'kotlin-android' apply plugin: 'kotlin-kapt' apply plugin: 'jacoco-android' apply from: 'quality.gradle' -apply plugin: 'com.getkeepsafe.dexcount' dependencies { implementation 'com.prof.rssparser:rssparser:1.1' @@ -16,12 +15,12 @@ dependencies { implementation 'org.mediawiki:api:1.3' implementation 'commons-codec:commons-codec:1.10' implementation 'com.github.pedrovgs:renderers:3.3.3' - implementation 'com.google.code.gson:gson:2.8.1' - implementation 'com.jakewharton.timber:timber:4.5.1' + implementation 'com.google.code.gson:gson:2.8.5' + implementation 'com.jakewharton.timber:timber:4.6.0' implementation 'info.debatty:java-string-similarity:0.24' implementation 'com.borjabravo:readmoretextview:2.1.0' - implementation 'com.android.support.constraint:constraint-layout:1.1.0' + implementation 'com.android.support.constraint:constraint-layout:1.1.3' implementation('com.mapbox.mapboxsdk:mapbox-android-sdk:5.5.0@aar') { transitive = true } @@ -34,35 +33,35 @@ dependencies { implementation "com.android.support:cardview-v7:$SUPPORT_LIB_VERSION" implementation "com.jakewharton:butterknife:$BUTTERKNIFE_VERSION" kapt "com.jakewharton:butterknife-compiler:$BUTTERKNIFE_VERSION" - implementation 'com.squareup.okhttp3:okhttp:3.9.1' - implementation 'com.squareup.okio:okio:1.13.0' - implementation 'io.reactivex.rxjava2:rxandroid:2.0.1' + implementation 'com.squareup.okhttp3:okhttp:3.10.0' + implementation 'com.squareup.okio:okio:1.14.0' + implementation 'io.reactivex.rxjava2:rxandroid:2.1.0' // Because RxAndroid releases are few and far between, it is recommended you also // explicitly depend on RxJava's latest version for bug fixes and new features. - implementation 'io.reactivex.rxjava2:rxjava:2.1.2' - implementation 'com.jakewharton.rxbinding2:rxbinding:2.0.0' - implementation 'com.jakewharton.rxbinding2:rxbinding-support-v4:2.0.0' - implementation 'com.jakewharton.rxbinding2:rxbinding-appcompat-v7:2.0.0' - implementation 'com.jakewharton.rxbinding2:rxbinding-design:2.0.0' + implementation 'io.reactivex.rxjava2:rxjava:2.2.0' + implementation 'com.jakewharton.rxbinding2:rxbinding:2.1.1' + implementation 'com.jakewharton.rxbinding2:rxbinding-support-v4:2.1.1' + implementation 'com.jakewharton.rxbinding2:rxbinding-appcompat-v7:2.1.1' + implementation 'com.jakewharton.rxbinding2:rxbinding-design:2.1.1' implementation 'org.jsoup:jsoup:1.11.3' - implementation 'com.facebook.fresco:fresco:1.5.0' + implementation 'com.facebook.fresco:fresco:1.10.0' implementation 'com.facebook.stetho:stetho:1.5.0' implementation "com.google.dagger:dagger:$DAGGER_VERSION" implementation "com.google.dagger:dagger-android-support:$DAGGER_VERSION" kapt "com.google.dagger:dagger-android-processor:$DAGGER_VERSION" kapt "com.google.dagger:dagger-compiler:$DAGGER_VERSION" - testImplementation "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version" + testImplementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" testImplementation "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version" testImplementation 'junit:junit:4.12' testImplementation 'org.robolectric:robolectric:3.7.1' testImplementation 'com.nhaarman:mockito-kotlin:1.5.0' - testImplementation 'com.squareup.okhttp3:mockwebserver:3.8.1' + testImplementation 'com.squareup.okhttp3:mockwebserver:3.10.0' implementation 'com.dinuscxj:circleprogressbar:1.1.1' implementation 'com.tspoon.traceur:traceur:1.0.1' - androidTestImplementation "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version" - androidTestImplementation 'com.squareup.okhttp3:mockwebserver:3.8.1' + androidTestImplementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" + androidTestImplementation 'com.squareup.okhttp3:mockwebserver:3.10.0' androidTestImplementation "com.android.support:support-annotations:$SUPPORT_LIB_VERSION" androidTestImplementation 'com.android.support.test:rules:1.0.2' androidTestImplementation 'com.android.support.test:runner:1.0.2' @@ -81,16 +80,14 @@ android { compileSdkVersion project.compileSdkVersion buildToolsVersion project.buildToolsVersion - useLibrary 'org.apache.http.legacy' - defaultConfig { applicationId 'fr.free.nrw.commons' versionCode 90 versionName '2.8.3' setProperty("archivesBaseName", "app-commons-v$versionName-" + getBranchName()) - minSdkVersion project.minSdkVersion - targetSdkVersion project.targetSdkVersion + minSdkVersion 15 + targetSdkVersion 27 testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" vectorDrawables.useSupportLibrary = true } @@ -112,11 +109,15 @@ android { buildTypes { release { - minifyEnabled false // See https://stackoverflow.com/questions/40232404/google-play-apk-and-android-studio-apk-usb-debug-behaving-differently - proguard.cfg modification alone insufficient. + minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' + testProguardFile 'test-proguard-rules.txt' } debug { + minifyEnabled true testCoverageEnabled true + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' + testProguardFile 'test-proguard-rules.txt' versionNameSuffix "-debug-" + getBranchName() + "~" + getBuildVersion() } } @@ -189,11 +190,5 @@ android { targetCompatibility JavaVersion.VERSION_1_8 } - //FIXME: Temporary fix for https://github.com/commons-app/apps-android-commons/issues/709 - configurations.all { - resolutionStrategy.force 'com.android.support:support-annotations:25.2.0' - exclude module: 'httpclient' - exclude module: 'commons-logging' - } buildToolsVersion buildToolsVersion } diff --git a/app/libs/java-json.jar b/app/libs/java-json.jar deleted file mode 100644 index 2f211e3660a0f7637cd055e3dfb011fcc5b4f167..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 84697 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%0A^eARL~vZq+#%}VrSrx_m=pVc%a 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

8NQ;9Ans?P}n^>gcO>e>oYyAlbCB*-T|9&C$M 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%0A{lnE||A9G*TwwATGQ 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 CY#!SH diff --git a/app/proguard-rules.txt b/app/proguard-rules.txt index 39b618718..12550f3fa 100644 --- a/app/proguard-rules.txt +++ b/app/proguard-rules.txt @@ -1,4 +1,58 @@ -dontobfuscate +-ignorewarnings + -keep class org.apache.http.** { *; } -dontwarn org.apache.http.** --keep class android.support.v7.widget.ShareActionProvider { *; } \ No newline at end of file +-keep class android.support.v7.widget.ShareActionProvider { *; } + +# --- Butter Knife --- +# Finder.castParam() is stripped when not needed and ProGuard notes it +# unnecessarily. When castParam() is needed, it's not stripped. e.g.: +# +# @OnItemSelected(value = R.id.history_entry_list) +# void foo(ListView bar) { +# L.d("baz"); +# } + +-dontnote butterknife.internal.** +# --- /Butter Knife --- + +# --- Retrofit2 --- +# Platform calls Class.forName on types which do not exist on Android to determine platform. +-dontnote retrofit2.Platform +# Platform used when running on Java 8 VMs. Will not be used at runtime. +-dontwarn retrofit2.Platform$Java8 +# Retain generic type information for use by reflection by converters and adapters. +-keepattributes Signature +# Retain declared checked exceptions for use by a Proxy instance. +-keepattributes Exceptions +# --- /Retrofit --- + +# --- OkHttp + Okio --- +-dontwarn okhttp3.** +-dontwarn okio.** +# --- /OkHttp + Okio --- + +# --- Gson --- +# https://github.com/google/gson/blob/master/examples/android-proguard-example/proguard.cfg + +# Gson uses generic type information stored in a class file when working with fields. Proguard +# removes such information by default, so configure it to keep all of it. +-keepattributes Signature + +# For using GSON @Expose annotation +-keepattributes *Annotation* + +# Gson specific classes +-dontwarn sun.misc.** +#-keep class com.google.gson.stream.** { *; } + +# Application classes that will be serialized/deserialized over Gson +-keep class com.google.gson.examples.android.model.** { *; } + +# Prevent proguard from stripping interface information from TypeAdapterFactory, +# JsonSerializer, JsonDeserializer instances (so they can be used in @JsonAdapter) +-keep class * implements com.google.gson.TypeAdapterFactory +-keep class * implements com.google.gson.JsonSerializer +-keep class * implements com.google.gson.JsonDeserializer +# --- /Gson --- diff --git a/app/src/main/java/fr/free/nrw/commons/CommonsApplication.java b/app/src/main/java/fr/free/nrw/commons/CommonsApplication.java index e2c7f367b..09b39c6e1 100644 --- a/app/src/main/java/fr/free/nrw/commons/CommonsApplication.java +++ b/app/src/main/java/fr/free/nrw/commons/CommonsApplication.java @@ -97,19 +97,25 @@ public class CommonsApplication extends Application { .getInstance(this) .getCommonsApplicationComponent() .inject(this); + + Timber.plant(new Timber.DebugTree()); + // Set DownsampleEnabled to True to downsample the image in case it's heavy ImagePipelineConfig config = ImagePipelineConfig.newBuilder(this) .setDownsampleEnabled(true) .build(); - Fresco.initialize(this,config); + try { + Fresco.initialize(this, config); + } catch (Exception e) { + Timber.e(e); + // TODO: Remove when we're able to initialize Fresco in test builds. + } if (setupLeakCanary() == RefWatcher.DISABLED) { return; } // Empty temp directory in case some temp files are created and never removed. ContributionUtils.emptyTemporaryDirectory(); - Timber.plant(new Timber.DebugTree()); - if (!BuildConfig.DEBUG) { ACRA.init(this); } else { diff --git a/app/src/main/java/fr/free/nrw/commons/nearby/NearbyController.java b/app/src/main/java/fr/free/nrw/commons/nearby/NearbyController.java index 4f777aeb4..39deee7ad 100644 --- a/app/src/main/java/fr/free/nrw/commons/nearby/NearbyController.java +++ b/app/src/main/java/fr/free/nrw/commons/nearby/NearbyController.java @@ -2,6 +2,7 @@ package fr.free.nrw.commons.nearby; import android.content.Context; import android.content.SharedPreferences; +import android.content.res.Resources; import android.graphics.Bitmap; import android.support.graphics.drawable.VectorDrawableCompat; @@ -135,9 +136,14 @@ public class NearbyController { placeList = placeList.subList(0, Math.min(placeList.size(), MAX_RESULTS)); - VectorDrawableCompat vectorDrawable = VectorDrawableCompat.create( - context.getResources(), R.drawable.ic_custom_map_marker, context.getTheme() - ); + VectorDrawableCompat vectorDrawable = null; + try { + vectorDrawable = VectorDrawableCompat.create( + context.getResources(), R.drawable.ic_custom_map_marker, context.getTheme() + ); + } catch (Resources.NotFoundException e) { + // ignore when running tests. + } if (vectorDrawable != null) { Bitmap icon = UiUtils.getBitmap(vectorDrawable); diff --git a/app/src/test/kotlin/fr/free/nrw/commons/NearbyControllerTest.kt b/app/src/test/kotlin/fr/free/nrw/commons/NearbyControllerTest.kt index fc0be84d0..755473dc8 100644 --- a/app/src/test/kotlin/fr/free/nrw/commons/NearbyControllerTest.kt +++ b/app/src/test/kotlin/fr/free/nrw/commons/NearbyControllerTest.kt @@ -10,7 +10,7 @@ import org.robolectric.RuntimeEnvironment import org.robolectric.annotation.Config @RunWith(RobolectricTestRunner::class) -@Config(constants = BuildConfig::class, sdk = intArrayOf(21), application = TestCommonsApplication::class) +@Config(constants = BuildConfig::class, sdk = [21], application = TestCommonsApplication::class) class NearbyControllerTest { @Test diff --git a/app/test-proguard-rules.txt b/app/test-proguard-rules.txt new file mode 100644 index 000000000..3b560b25a --- /dev/null +++ b/app/test-proguard-rules.txt @@ -0,0 +1,4 @@ +-dontobfuscate +-dontoptimize +-dontshrink +-ignorewarnings diff --git a/build.gradle b/build.gradle index 42dfeec75..c1677b2ff 100644 --- a/build.gradle +++ b/build.gradle @@ -1,15 +1,15 @@ // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { - ext.kotlin_version = '1.2.31' + ext.kotlin_version = '1.2.60' repositories { jcenter() mavenCentral() google() } dependencies { - classpath 'com.android.tools.build:gradle:3.0.1' - classpath 'com.dicedmelon.gradle:jacoco-android:0.1.1' - classpath 'com.getkeepsafe.dexcount:dexcount-gradle-plugin:0.7.1' + classpath 'com.android.tools.build:gradle:3.1.4' + classpath 'com.dicedmelon.gradle:jacoco-android:0.1.3' + classpath 'com.getkeepsafe.dexcount:dexcount-gradle-plugin:0.8.2' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } diff --git a/gradle.properties b/gradle.properties index 05aa34949..1757a16bb 100644 --- a/gradle.properties +++ b/gradle.properties @@ -15,18 +15,11 @@ #Thu Mar 01 15:28:48 IST 2018 systemProp.http.proxyPort=0 compileSdkVersion=android-27 -android.useDeprecatedNdk=true -BUTTERKNIFE_VERSION=8.6.0 +BUTTERKNIFE_VERSION=8.8.1 org.gradle.jvmargs=-Xmx1536M -buildToolsVersion=27.0.0 -targetSdkVersion=27 +buildToolsVersion=27.0.3 -#TODO: Temporary disabled. https://developer.android.com/studio/build/gradle-plugin-3-0-0-migration.html#aapt2 -#Refer to PR: https://github.com/commons-app/apps-android-commons/pull/932 -android.enableAapt2=false SUPPORT_LIB_VERSION=27.1.1 -minSdkVersion=15 systemProp.http.proxyHost= LEAK_CANARY=1.5.4 -DAGGER_VERSION=2.13 -gradleVersion=3.0.0 +DAGGER_VERSION=2.15 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index c25f3eb11..001321773 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Sat Mar 03 13:58:47 IST 2018 +#Sat Aug 25 23:38:03 EDT 2018 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip