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    maven {
 21        url "https://jitpack.io"
 22    }
 23}
 24
 25configurations {
 26    playstoreCompile
 27    freeCompile
 28}
 29
 30ext {
 31    supportLibVersion = '27.0.2'
 32}
 33
 34dependencies {
 35    compile project(':libs:MemorizingTrustManager')
 36    playstoreCompile 'com.google.android.gms:play-services-gcm:11.6.2'
 37    compile 'org.sufficientlysecure:openpgp-api:10.0'
 38    compile 'com.soundcloud.android:android-crop:1.0.1@aar'
 39    compile "com.android.support:support-v13:$supportLibVersion"
 40    compile "com.android.support:appcompat-v7:$supportLibVersion"
 41    compile "com.android.support:support-emoji:$supportLibVersion"
 42    freeCompile "com.android.support:support-emoji-bundled:$supportLibVersion"
 43    compile 'org.jitsi:org.otr4j:0.22'
 44    compile 'org.bouncycastle:bcmail-jdk15on:1.56'
 45    compile 'org.gnu.inet:libidn:1.15'
 46    compile 'com.google.zxing:core:3.2.1'
 47    compile 'com.google.zxing:android-integration:3.2.1'
 48    compile 'de.measite.minidns:minidns-hla:0.2.4'
 49    compile 'de.timroes.android:EnhancedListView:0.3.4'
 50    compile 'me.leolin:ShortcutBadger:1.1.19@aar'
 51    compile 'com.kyleduo.switchbutton:library:1.2.8'
 52    compile 'org.whispersystems:signal-protocol-java:2.6.2'
 53    compile 'com.makeramen:roundedimageview:2.3.0'
 54    compile "com.wefika:flowlayout:0.4.1"
 55    compile 'net.ypresto.androidtranscoder:android-transcoder:0.2.0'
 56    compile 'com.github.scottyab:showhidepasswordedittext:0.8'
 57
 58}
 59
 60ext {
 61    travisBuild = System.getenv("TRAVIS") == "true"
 62    preDexEnabled = System.getProperty("pre-dex", "true")
 63}
 64
 65android {
 66    compileSdkVersion 26
 67    buildToolsVersion "26.0.2"
 68
 69    defaultConfig {
 70        minSdkVersion 14
 71        targetSdkVersion 25
 72        versionCode 245
 73        versionName "1.23.1"
 74        archivesBaseName += "-$versionName"
 75        applicationId "eu.siacs.conversations"
 76    }
 77
 78    dexOptions {
 79        // Skip pre-dexing when running on Travis CI or when disabled via -Dpre-dex=false.
 80        preDexLibraries = preDexEnabled && !travisBuild
 81        jumboMode true
 82    }
 83
 84    compileOptions {
 85        sourceCompatibility JavaVersion.VERSION_1_7
 86        targetCompatibility JavaVersion.VERSION_1_7
 87    }
 88
 89    productFlavors {
 90        playstore
 91        free
 92    }
 93
 94    buildTypes {
 95        release {
 96            shrinkResources true
 97            minifyEnabled true
 98            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
 99        }
100        debug {
101            shrinkResources true
102            minifyEnabled true
103            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
104        }
105    }
106
107
108
109    if(new File("signing.properties").exists()) {
110        Properties props = new Properties()
111        props.load(new FileInputStream(file("signing.properties")))
112
113        signingConfigs {
114            release {
115                storeFile file(props['keystore'])
116                storePassword props['keystore.password']
117                keyAlias props['keystore.alias']
118                keyPassword props['keystore.password']
119            }
120        }
121        buildTypes.release.signingConfig = signingConfigs.release
122    }
123
124    lintOptions {
125        disable 'MissingTranslation', 'InvalidPackage', 'MissingQuantity', 'AppCompatResource'
126    }
127
128    subprojects {
129
130        afterEvaluate {
131            if (getPlugins().hasPlugin('android') ||
132                    getPlugins().hasPlugin('android-library')) {
133
134                configure(android.lintOptions) {
135                    disable 'AndroidGradlePluginVersion', 'MissingTranslation'
136                }
137            }
138
139        }
140    }
141
142    packagingOptions {
143        exclude 'META-INF/BCKEY.DSA'
144        exclude 'META-INF/BCKEY.SF'
145    }
146}