From 9e6ac76c7554a59202aaa7411aaa20c0390e8fab Mon Sep 17 00:00:00 2001
From: Lennart Goedhart <lennart@omnibase.com.au>
Date: Sun, 23 Jul 2017 21:08:50 +0800
Subject: [PATCH] - Make signing optional - Enable smaller builds on release

---
 app/build.gradle       | 16 ++++------------
 app/proguard-rules.txt | 12 ++++++++++++
 app/signing.gradle     | 20 ++++++++++++++++++++
 3 files changed, 36 insertions(+), 12 deletions(-)
 create mode 100644 app/proguard-rules.txt
 create mode 100644 app/signing.gradle

diff --git a/app/build.gradle b/app/build.gradle
index 2196be3..cae6ac0 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -74,21 +74,11 @@ android {
         buildConfigField "String", "BUGFENDER_API_KEY", getBugfenderApiKey()
     }
 
-    signingConfigs {
-        release {
-            storeFile file(RELEASE_STORE_FILE)
-            storePassword RELEASE_STORE_PASSWORD
-            keyAlias RELEASE_KEY_ALIAS
-            keyPassword RELEASE_KEY_PASSWORD
-        }
-    }
-
     buildTypes {
         release {
-            minifyEnabled false
+            minifyEnabled true
             zipAlignEnabled true
             proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
-            signingConfig signingConfigs.release
         }
     }
 
@@ -138,4 +128,6 @@ dependencies {
         transitive = true
     }
     compile 'com.github.javiersantos:AppUpdater:2.6.1'
-}
\ No newline at end of file
+}
+
+apply from: "signing.gradle"
\ No newline at end of file
diff --git a/app/proguard-rules.txt b/app/proguard-rules.txt
new file mode 100644
index 0000000..7119370
--- /dev/null
+++ b/app/proguard-rules.txt
@@ -0,0 +1,12 @@
+-dontobfuscate
+-verbose
+-dump class_files.txt
+-printseeds seeds.txt
+-printusage unused.txt
+
+-keepattributes *Annotation*
+-keepattributes SourceFile,LineNumberTable
+
+-dontwarn okio.**
+-dontwarn org.slf4j.**
+-dontwarn retrofit2.Platform$Java8
diff --git a/app/signing.gradle b/app/signing.gradle
new file mode 100644
index 0000000..b28407d
--- /dev/null
+++ b/app/signing.gradle
@@ -0,0 +1,20 @@
+if (project.hasProperty("RELEASE_KEY_ALIAS") &&
+        project.hasProperty("RELEASE_KEY_PASSWORD") &&
+        project.hasProperty("RELEASE_STORE_PASSWORD") &&
+        file(RELEASE_STORE_FILE).exists()) {
+    android {
+        signingConfigs {
+            releaseSigningConfig {
+                storeFile file(RELEASE_STORE_FILE)
+                storePassword RELEASE_STORE_PASSWORD
+                keyAlias RELEASE_KEY_ALIAS
+                keyPassword RELEASE_KEY_PASSWORD
+            }
+        }
+        buildTypes {
+            release {
+                signingConfig signingConfigs.releaseSigningConfig
+            }
+        }
+    }
+}
\ No newline at end of file
-- 
GitLab