buildscript { repositories { maven { url "https://repo1.maven.org/maven2" } } dependencies { classpath 'com.android.tools.build:gradle:1.0.1' classpath files('libs/gradle-witness.jar') } } apply plugin: 'com.android.application' apply plugin: 'witness' repositories { maven { url "https://repo1.maven.org/maven2/" } maven { url "https://raw.github.com/whispersystems/maven/master/preferencefragment/releases/" } maven { url "https://raw.github.com/whispersystems/maven/master/smil/releases/" } maven { url "https://raw.github.com/whispersystems/maven/master/shortcutbadger/releases/" } jcenter() } dependencies { compile 'me.leolin:ShortcutBadger:1.0.2-WS2' compile 'se.emilsjolander:stickylistheaders:2.2.0' compile 'com.google.android.gms:play-services-base:6.5.87' compile 'com.astuetz:pagerslidingtabstrip:1.0.1' compile 'org.w3c:smil:1.0.0' compile 'org.apache.httpcomponents:httpclient-android:4.3.5' compile 'com.github.chrisbanes.photoview:library:1.2.3' compile 'com.makeramen:roundedimageview:1.5.0' compile 'com.afollestad:material-dialogs:0.6.1.5' compile 'com.soundcloud.android:android-crop:0.9.10@aar' compile 'com.android.support:appcompat-v7:21.0.3' compile 'com.android.support:recyclerview-v7:21.0.3' compile 'com.melnykov:floatingactionbutton:1.1.0' compile 'com.google.zxing:android-integration:3.1.0' compile ('com.android.support:support-v4-preferencefragment:1.0.0@aar'){ exclude module: 'support-v4' } compile 'com.squareup.dagger:dagger:1.2.2' compile ("com.doomonafireball.betterpickers:library:1.5.3") { exclude group: 'com.android.support', module: 'support-v4' } compile 'com.madgag.spongycastle:prov:1.51.0.0' provided 'com.squareup.dagger:dagger-compiler:1.2.2' compile 'org.whispersystems:jobmanager:0.10.0' compile 'org.whispersystems:libpastelog:1.0.4' androidTestCompile 'com.google.dexmaker:dexmaker:1.2' androidTestCompile 'com.google.dexmaker:dexmaker-mockito:1.2' androidTestCompile ('org.assertj:assertj-core:1.7.1') { exclude group: 'org.hamcrest', module: 'hamcrest-core' } androidTestCompile ('com.squareup.assertj:assertj-android:1.0.0') { exclude group: 'org.hamcrest', module: 'hamcrest-core' } androidTestCompile ('com.android.support.test.espresso:espresso-core:2.0') { exclude group: 'javax.inject' } androidTestCompile 'com.android.support.test:testing-support-lib:0.1' compile project(':libtextsecure') } android { compileSdkVersion 21 buildToolsVersion '21.1.2' dexOptions { javaMaxHeapSize "4g" } defaultConfig { minSdkVersion 9 targetSdkVersion 19 testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" buildConfigField "long", "BUILD_TIMESTAMP", System.currentTimeMillis() + "L" } compileOptions { sourceCompatibility JavaVersion.VERSION_1_7 targetCompatibility JavaVersion.VERSION_1_7 } packagingOptions { exclude 'LICENSE.txt' exclude 'LICENSE' exclude 'NOTICE' exclude 'asm-license.txt' } signingConfigs { release } buildTypes { debug { minifyEnabled true proguardFiles 'proguard.cfg' } release { minifyEnabled true proguardFiles 'proguard.cfg' signingConfig signingConfigs.release } } sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src'] resources.srcDirs = ['src'] aidl.srcDirs = ['src'] renderscript.srcDirs = ['src'] res.srcDirs = ['res'] assets.srcDirs = ['assets'] } androidTest { java.srcDirs = ['androidTest/java'] resources.srcDirs = ['androidTest/java'] aidl.srcDirs = ['androidTest/java'] renderscript.srcDirs = ['androidTest/java'] } } packagingOptions { exclude 'META-INF/LICENSE' exclude 'META-INF/NOTICE' } lintOptions { abortOnError false } } tasks.whenTaskAdded { task -> if (task.name.equals("lint")) { task.enabled = false } } def Properties props = new Properties() def propFile = new File('signing.properties') if (propFile.canRead()){ props.load(new FileInputStream(propFile)) if (props !=null && props.containsKey('STORE_FILE') && props.containsKey('STORE_PASSWORD') && props.containsKey('KEY_ALIAS') && props.containsKey('KEY_PASSWORD')) { android.signingConfigs.release.storeFile = file(props['STORE_FILE']) android.signingConfigs.release.storePassword = props['STORE_PASSWORD'] android.signingConfigs.release.keyAlias = props['KEY_ALIAS'] android.signingConfigs.release.keyPassword = props['KEY_PASSWORD'] } else { println 'signing.properties found but some entries are missing' android.buildTypes.release.signingConfig = null } }else { println 'signing.properties not found' android.buildTypes.release.signingConfig = null }