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}