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