mirror of
https://github.com/commons-app/apps-android-commons.git
synced 2025-10-26 04:13:53 +01:00
* Update gradle version. Also update jacoco plugin to work with latest gradle. * Update target sdk to 28. * Update other dependencies to latest versions. * Remove totally unused(?) local jar file. * Remove dependency on nineoldandroids. The functions it provides are no longer necessary. This also removes a homemade "evaluate" function, which is readily available in the Support library. * Remove dependency on Traceur. This library has not been updated in two years (may no longer be maintained?), and no longer works with the latest RxJava. * Enable test coverage only when performing CI. Running test coverage on every single build while developing in the IDE is quite a waste of time. * Suppress gradle Notes and Warnings from reflection-using packages. The build output was getting extremely long, and was actually causing the build to fail because of the sheer size of the log. * Suppress gradle Note messages during tests and CI. Stop CI messages from exploding to 10k+ lines. * Temporarily remove instrumented test(s). The project's instrumented tests consist of a single test which sets a SharedPreference, then verified that the SharedPreference was set. I humbly submit that this is not worth the trouble of having the CI server download the system image, spin up an emulator, load the APK, and run it just for this purpose. Once the instrumented tests are ready for prime time, we can reinstate instrumented tests in CI.
76 lines
2.3 KiB
Text
76 lines
2.3 KiB
Text
-dontobfuscate
|
|
-ignorewarnings
|
|
|
|
-dontnote **
|
|
-dontwarn net.bytebuddy.**
|
|
-dontwarn org.mockito.**
|
|
|
|
-keep class org.apache.http.** { *; }
|
|
-dontwarn org.apache.http.**
|
|
-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 ---
|
|
|
|
|
|
# --- /logback ---
|
|
|
|
-keep class ch.qos.** { *; }
|
|
-keep class org.slf4j.** { *; }
|
|
-keepattributes *Annotation*
|
|
|
|
-dontwarn ch.qos.logback.core.net.*
|
|
|
|
# --- /acra ---
|
|
-keep class org.acra.** { *; }
|
|
-keepattributes SourceFile,LineNumberTable
|
|
-keepattributes *Annotation*
|