// Top-level build file where you can add configuration options common to all
// sub-projects/modules.
buildscript {
	repositories {
		jcenter()
		mavenCentral()
	}
	dependencies {
		classpath 'com.android.tools.build:gradle:2.0.0'
	}
}

apply plugin: 'com.android.application'

repositories {
	jcenter()
	mavenCentral()
}

configurations {
	playstoreCompile
}

dependencies {
	compile project(':libs:MemorizingTrustManager')
	compile 'org.sufficientlysecure:openpgp-api:10.0'
	compile 'com.soundcloud.android:android-crop:1.0.1@aar'
	compile 'com.android.support:support-v13:23.2.0'
	compile 'org.bouncycastle:bcprov-jdk15on:1.52'
	compile 'org.bouncycastle:bcmail-jdk15on:1.52'
	compile 'org.jitsi:org.otr4j:0.22'
	compile 'org.gnu.inet:libidn:1.15'
	compile 'com.google.zxing:core:3.2.1'
	compile 'com.google.zxing:android-integration:3.2.1'
	compile 'de.measite.minidns:minidns:0.1.7'
	compile 'de.timroes.android:EnhancedListView:0.3.4'
	compile 'me.leolin:ShortcutBadger:1.1.4@aar'
	compile 'com.kyleduo.switchbutton:library:1.2.8'
	compile 'org.whispersystems:axolotl-android:1.3.4'
	compile 'com.makeramen:roundedimageview:2.2.0'
	playstoreCompile 'com.google.android.gms:play-services-gcm:8.4.0'
}

ext {
	travisBuild = System.getenv("TRAVIS") == "true"
	// allows for -Dpre-dex=false to be set
	preDexEnabled = "true".equals(System.getProperty("pre-dex", "true"))
}

android {
	compileSdkVersion 23
	buildToolsVersion "23.0.2"

	defaultConfig {
		minSdkVersion 14
		targetSdkVersion 23
		versionCode 166
		versionName "1.13.8"
		archivesBaseName += "-$versionName"
		applicationId "eu.siacs.conversations"
	}

	dexOptions {
		// Skip pre-dexing when running on Travis CI or when disabled via -Dpre-dex=false.
		preDexLibraries = preDexEnabled && !travisBuild
	}

	compileOptions {
		sourceCompatibility JavaVersion.VERSION_1_7
		targetCompatibility JavaVersion.VERSION_1_7
	}

   productFlavors {
		playstore
		free
	}
	if (project.hasProperty('mStoreFile') &&
			project.hasProperty('mStorePassword') &&
			project.hasProperty('mKeyAlias') &&
			project.hasProperty('mKeyPassword')) {
		signingConfigs {
			release {
				storeFile file(mStoreFile)
					storePassword mStorePassword
					keyAlias mKeyAlias
					keyPassword mKeyPassword
			}
		}
		buildTypes.release.signingConfig = signingConfigs.release
	} else {
		buildTypes.release.signingConfig = null
	}

	lintOptions {
		disable 'ExtraTranslation', 'MissingTranslation', 'InvalidPackage', 'MissingQuantity', 'AppCompatResource'
	}

	subprojects {

		afterEvaluate {
			if (getPlugins().hasPlugin('android') ||
					getPlugins().hasPlugin('android-library')) {

				configure(android.lintOptions) {
					disable 'AndroidGradlePluginVersion', 'MissingTranslation'
				}
			}

		}
	}

	packagingOptions {
		exclude 'META-INF/BCKEY.DSA'
		exclude 'META-INF/BCKEY.SF'
	}
}
