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        maven {
  8            url 'https://maven.google.com'
  9        }
 10    }
 11    dependencies {
 12        classpath 'com.android.tools.build:gradle:2.3.3'
 13    }
 14}
 15
 16apply plugin: 'com.android.application'
 17
 18repositories {
 19    jcenter()
 20    mavenCentral()
 21}
 22
 23configurations {
 24    playstoreCompile
 25}
 26
 27dependencies {
 28    compile project(':libs:MemorizingTrustManager')
 29    playstoreCompile 'com.google.android.gms:play-services-gcm:11.0.4'
 30    compile 'org.sufficientlysecure:openpgp-api:10.0'
 31    compile 'com.soundcloud.android:android-crop:1.0.1@aar'
 32    compile 'com.android.support:support-v13:25.3.1'
 33    compile 'com.android.support:appcompat-v7:25.3.1'
 34    compile 'org.bouncycastle:bcprov-jdk15on:1.52'
 35    compile 'org.bouncycastle:bcmail-jdk15on:1.52'
 36    compile 'org.jitsi:org.otr4j:0.22'
 37    compile 'org.gnu.inet:libidn:1.15'
 38    compile 'com.google.zxing:core:3.2.1'
 39    compile 'com.google.zxing:android-integration:3.2.1'
 40    compile 'de.measite.minidns:minidns-hla:0.2.4'
 41    compile 'de.timroes.android:EnhancedListView:0.3.4'
 42    compile 'me.leolin:ShortcutBadger:1.1.17@aar'
 43    compile 'com.kyleduo.switchbutton:library:1.2.8'
 44    compile 'org.whispersystems:signal-protocol-java:2.6.2'
 45    compile 'com.makeramen:roundedimageview:2.3.0'
 46    compile "com.wefika:flowlayout:0.4.1"
 47    compile 'net.ypresto.androidtranscoder:android-transcoder:0.2.0'
 48    compile('com.vdurmont:emoji-java:3.3.0') {
 49        exclude group: 'org.json', module: 'json'
 50    }
 51}
 52
 53ext {
 54    travisBuild = System.getenv("TRAVIS") == "true"
 55    preDexEnabled = System.getProperty("pre-dex", "true")
 56}
 57
 58android {
 59    compileSdkVersion 25
 60    buildToolsVersion "26.0.1"
 61
 62    defaultConfig {
 63        minSdkVersion 14
 64        targetSdkVersion 25
 65        versionCode 234
 66        versionName "1.20.1"
 67        archivesBaseName += "-$versionName"
 68        applicationId "eu.siacs.conversations"
 69    }
 70
 71    dexOptions {
 72        // Skip pre-dexing when running on Travis CI or when disabled via -Dpre-dex=false.
 73        preDexLibraries = preDexEnabled && !travisBuild
 74        jumboMode true
 75    }
 76
 77    compileOptions {
 78        sourceCompatibility JavaVersion.VERSION_1_7
 79        targetCompatibility JavaVersion.VERSION_1_7
 80    }
 81
 82    productFlavors {
 83        playstore
 84        free
 85    }
 86    if (project.hasProperty('mStoreFile') &&
 87            project.hasProperty('mStorePassword') &&
 88            project.hasProperty('mKeyAlias') &&
 89            project.hasProperty('mKeyPassword')) {
 90        signingConfigs {
 91            release {
 92                storeFile file(mStoreFile)
 93                storePassword mStorePassword
 94                keyAlias mKeyAlias
 95                keyPassword mKeyPassword
 96            }
 97        }
 98        buildTypes.release.signingConfig = signingConfigs.release
 99    } else {
100        buildTypes.release.signingConfig = null
101    }
102
103    lintOptions {
104        disable 'MissingTranslation', 'InvalidPackage', 'MissingQuantity', 'AppCompatResource'
105    }
106
107    subprojects {
108
109        afterEvaluate {
110            if (getPlugins().hasPlugin('android') ||
111                    getPlugins().hasPlugin('android-library')) {
112
113                configure(android.lintOptions) {
114                    disable 'AndroidGradlePluginVersion', 'MissingTranslation'
115                }
116            }
117
118        }
119    }
120
121    packagingOptions {
122        exclude 'META-INF/BCKEY.DSA'
123        exclude 'META-INF/BCKEY.SF'
124    }
125}