build.gradle

  1// Top-level build file where you can add configuration options common to all
  2// sub-projects/modules.
  3buildscript {
  4    repositories {
  5        jcenter()
  6        mavenCentral()
  7    }
  8    dependencies {
  9        classpath 'com.android.tools.build:gradle:1.5.0'
 10    }
 11}
 12
 13allprojects {
 14    repositories {
 15        jcenter()
 16        mavenCentral()
 17        maven {
 18            url 'http://lorenzo.villani.me/android-cropimage/'
 19        }
 20    }
 21}
 22
 23apply plugin: 'com.android.application'
 24
 25repositories {
 26    jcenter()
 27    mavenCentral()
 28}
 29
 30configurations {
 31    playstoreCompile
 32}
 33
 34dependencies {
 35    compile project(':libs:MemorizingTrustManager')
 36    compile 'org.sufficientlysecure:openpgp-api:10.0'
 37    compile 'com.soundcloud.android:android-crop:1.0.1@aar'
 38    compile 'com.android.support:support-v13:23.1.1'
 39    compile 'org.bouncycastle:bcprov-jdk15on:1.52'
 40    compile 'org.bouncycastle:bcmail-jdk15on:1.52'
 41    compile 'org.jitsi:org.otr4j:0.22'
 42    compile 'org.gnu.inet:libidn:1.15'
 43    compile 'com.google.zxing:core:3.2.1'
 44    compile 'com.google.zxing:android-integration:3.2.1'
 45    compile 'de.measite.minidns:minidns:0.1.7'
 46    compile 'de.timroes.android:EnhancedListView:0.3.4'
 47    compile 'me.leolin:ShortcutBadger:1.1.3@aar'
 48    compile 'com.kyleduo.switchbutton:library:1.2.8'
 49    compile 'org.whispersystems:axolotl-android:1.3.4'
 50    compile 'com.makeramen:roundedimageview:2.2.0'
 51    playstoreCompile 'com.google.android.gms:play-services-gcm:8.3.0'
 52}
 53
 54android {
 55    compileSdkVersion 23
 56    buildToolsVersion "23.0.2"
 57
 58    defaultConfig {
 59        minSdkVersion 14
 60        targetSdkVersion 23
 61        versionCode 127
 62        versionName "1.10.0"
 63        archivesBaseName += "-$versionName"
 64        applicationId "eu.siacs.conversations"
 65    }
 66
 67    compileOptions {
 68        sourceCompatibility JavaVersion.VERSION_1_7
 69        targetCompatibility JavaVersion.VERSION_1_7
 70    }
 71
 72    productFlavors {
 73        playstore
 74        free
 75    }
 76    if (project.hasProperty('mStoreFile') &&
 77            project.hasProperty('mStorePassword') &&
 78            project.hasProperty('mKeyAlias') &&
 79            project.hasProperty('mKeyPassword')) {
 80        signingConfigs {
 81            release {
 82                storeFile file(mStoreFile)
 83                storePassword mStorePassword
 84                keyAlias mKeyAlias
 85                keyPassword mKeyPassword
 86            }
 87        }
 88        buildTypes.release.signingConfig = signingConfigs.release
 89    } else {
 90        buildTypes.release.signingConfig = null
 91    }
 92
 93    lintOptions {
 94        disable 'ExtraTranslation', 'MissingTranslation', 'InvalidPackage', 'MissingQuantity', 'AppCompatResource'
 95    }
 96
 97    subprojects {
 98
 99        afterEvaluate {
100            if (getPlugins().hasPlugin('android') ||
101                    getPlugins().hasPlugin('android-library')) {
102
103                configure(android.lintOptions) {
104                    disable 'AndroidGradlePluginVersion', 'MissingTranslation'
105                }
106            }
107
108        }
109
110        project.plugins.whenPluginAdded { plugin ->
111            if ("com.android.build.gradle.AppPlugin".equals(plugin.class.name)) {
112                project.android.dexOptions.preDexLibraries = !project.hasProperty('disablePreDex')
113            } else if ("com.android.build.gradle.LibraryPlugin".equals(plugin.class.name)) {
114                project.android.dexOptions.preDexLibraries = !project.hasProperty('disablePreDex')
115            }
116        }
117    }
118
119    packagingOptions {
120        exclude 'META-INF/BCKEY.DSA'
121        exclude 'META-INF/BCKEY.SF'
122    }
123}