From ad063d00ccbfc4a9c72c707d11b13a2da0912d28 Mon Sep 17 00:00:00 2001
From: Daniel Gultsch <daniel@gultsch.de>
Date: Tue, 23 Feb 2016 14:25:13 +0100
Subject: [PATCH] disable predexing on travis

---
 .travis.yml  |   2 +-
 build.gradle | 178 +++++++++++++++++++++++++++------------------------
 2 files changed, 94 insertions(+), 86 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index e26ccaa4..82531aa0 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -16,4 +16,4 @@ android:
   licenses:
     - '.+'
 script:
-    - ./gradlew assembleFreeRelease
+    - ./gradlew assembleFreeRelease -PdisablePreDex
diff --git a/build.gradle b/build.gradle
index deaae0e2..7abae97c 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,115 +1,123 @@
 // Top-level build file where you can add configuration options common to all
 // sub-projects/modules.
 buildscript {
-	repositories {
-		jcenter()
-		mavenCentral()
-	}
-	dependencies {
-		classpath 'com.android.tools.build:gradle:1.5.0'
-	}
+    repositories {
+        jcenter()
+        mavenCentral()
+    }
+    dependencies {
+        classpath 'com.android.tools.build:gradle:1.5.0'
+    }
 }
 
 allprojects {
-	repositories {
-		jcenter()
-		mavenCentral()
-		maven {
-			url 'http://lorenzo.villani.me/android-cropimage/'
-		}
-	}
+    repositories {
+        jcenter()
+        mavenCentral()
+        maven {
+            url 'http://lorenzo.villani.me/android-cropimage/'
+        }
+    }
 }
 
 apply plugin: 'com.android.application'
 
 repositories {
-	jcenter()
-	mavenCentral()
+    jcenter()
+    mavenCentral()
 }
 
 configurations {
-	playstoreCompile
+    playstoreCompile
 }
 
 dependencies {
-	compile project(':libs:MemorizingTrustManager')
-	compile 'org.sufficientlysecure:openpgp-api:10.0'
-	compile 'com.soundcloud.android:android-crop:1.0.1@aar'
-	compile 'com.android.support:support-v13:23.1.1'
-	compile 'org.bouncycastle:bcprov-jdk15on:1.52'
-	compile 'org.bouncycastle:bcmail-jdk15on:1.52'
-	compile 'org.jitsi:org.otr4j:0.22'
-	compile 'org.gnu.inet:libidn:1.15'
-	compile 'com.google.zxing:core:3.2.1'
-	compile 'com.google.zxing:android-integration:3.2.1'
-	compile 'de.measite.minidns:minidns:0.1.7'
-	compile 'de.timroes.android:EnhancedListView:0.3.4'
-	compile 'me.leolin:ShortcutBadger:1.1.3@aar'
-	compile 'com.kyleduo.switchbutton:library:1.2.8'
-	compile 'org.whispersystems:axolotl-android:1.3.4'
-	compile 'com.makeramen:roundedimageview:2.2.0'
-	playstoreCompile 'com.google.android.gms:play-services-gcm:8.3.0'
+    compile project(':libs:MemorizingTrustManager')
+    compile 'org.sufficientlysecure:openpgp-api:10.0'
+    compile 'com.soundcloud.android:android-crop:1.0.1@aar'
+    compile 'com.android.support:support-v13:23.1.1'
+    compile 'org.bouncycastle:bcprov-jdk15on:1.52'
+    compile 'org.bouncycastle:bcmail-jdk15on:1.52'
+    compile 'org.jitsi:org.otr4j:0.22'
+    compile 'org.gnu.inet:libidn:1.15'
+    compile 'com.google.zxing:core:3.2.1'
+    compile 'com.google.zxing:android-integration:3.2.1'
+    compile 'de.measite.minidns:minidns:0.1.7'
+    compile 'de.timroes.android:EnhancedListView:0.3.4'
+    compile 'me.leolin:ShortcutBadger:1.1.3@aar'
+    compile 'com.kyleduo.switchbutton:library:1.2.8'
+    compile 'org.whispersystems:axolotl-android:1.3.4'
+    compile 'com.makeramen:roundedimageview:2.2.0'
+    playstoreCompile 'com.google.android.gms:play-services-gcm:8.3.0'
 }
 
 android {
-	compileSdkVersion 23
-	buildToolsVersion "23.0.2"
+    compileSdkVersion 23
+    buildToolsVersion "23.0.2"
 
-	defaultConfig {
-		minSdkVersion 14
-		targetSdkVersion 23
-		versionCode 127
-		versionName "1.10.0"
-		archivesBaseName += "-$versionName"
-		applicationId "eu.siacs.conversations"
-	}
+    defaultConfig {
+        minSdkVersion 14
+        targetSdkVersion 23
+        versionCode 127
+        versionName "1.10.0"
+        archivesBaseName += "-$versionName"
+        applicationId "eu.siacs.conversations"
+    }
 
-	compileOptions {
-		sourceCompatibility JavaVersion.VERSION_1_7
-		targetCompatibility JavaVersion.VERSION_1_7
-	}
+    compileOptions {
+        sourceCompatibility JavaVersion.VERSION_1_7
+        targetCompatibility JavaVersion.VERSION_1_7
+    }
 
-   productFlavors {
-		playstore
-		free
-	}
-	if (project.hasProperty('mStoreFile') &&
-			project.hasProperty('mStorePassword') &&
-			project.hasProperty('mKeyAlias') &&
-			project.hasProperty('mKeyPassword')) {
-		signingConfigs {
-			release {
-				storeFile file(mStoreFile)
-					storePassword mStorePassword
-					keyAlias mKeyAlias
-					keyPassword mKeyPassword
-			}
-		}
-		buildTypes.release.signingConfig = signingConfigs.release
-	} else {
-		buildTypes.release.signingConfig = null
-	}
+    productFlavors {
+        playstore
+        free
+    }
+    if (project.hasProperty('mStoreFile') &&
+            project.hasProperty('mStorePassword') &&
+            project.hasProperty('mKeyAlias') &&
+            project.hasProperty('mKeyPassword')) {
+        signingConfigs {
+            release {
+                storeFile file(mStoreFile)
+                storePassword mStorePassword
+                keyAlias mKeyAlias
+                keyPassword mKeyPassword
+            }
+        }
+        buildTypes.release.signingConfig = signingConfigs.release
+    } else {
+        buildTypes.release.signingConfig = null
+    }
 
-	lintOptions {
-		disable 'ExtraTranslation', 'MissingTranslation', 'InvalidPackage', 'MissingQuantity', 'AppCompatResource'
-	}
+    lintOptions {
+        disable 'ExtraTranslation', 'MissingTranslation', 'InvalidPackage', 'MissingQuantity', 'AppCompatResource'
+    }
 
-	subprojects {
+    subprojects {
 
-		afterEvaluate {
-			if (getPlugins().hasPlugin('android') ||
-					getPlugins().hasPlugin('android-library')) {
+        afterEvaluate {
+            if (getPlugins().hasPlugin('android') ||
+                    getPlugins().hasPlugin('android-library')) {
 
-				configure(android.lintOptions) {
-					disable 'AndroidGradlePluginVersion', 'MissingTranslation'
-				}
-			}
+                configure(android.lintOptions) {
+                    disable 'AndroidGradlePluginVersion', 'MissingTranslation'
+                }
+            }
 
-		}
-	}
+        }
 
-	packagingOptions {
-		exclude 'META-INF/BCKEY.DSA'
-		exclude 'META-INF/BCKEY.SF'
-	}
+        project.plugins.whenPluginAdded { plugin ->
+            if ("com.android.build.gradle.AppPlugin".equals(plugin.class.name)) {
+                project.android.dexOptions.preDexLibraries = !project.hasProperty('disablePreDex')
+            } else if ("com.android.build.gradle.LibraryPlugin".equals(plugin.class.name)) {
+                project.android.dexOptions.preDexLibraries = !project.hasProperty('disablePreDex')
+            }
+        }
+    }
+
+    packagingOptions {
+        exclude 'META-INF/BCKEY.DSA'
+        exclude 'META-INF/BCKEY.SF'
+    }
 }