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

allprojects {
	repositories {
	}
}

apply plugin: 'com.android.application'

repositories {
    flatDir {
        dirs 'libs/3rdParty/jcenter', 'libs/3rdParty/maven', 'libs/3rdParty'
    }
	maven {
		url "http://snippets.thedevstack.de/mvn"
	}
}

dependencies {
    // Local JAR files
    //compile fileTree(dir: 'libs/zxing', includes: ['core-3.1.0.jar', 'android-integration-3.1.0.jar'])
	compile name: 'zxing-core-3.2.1' //zxing
	compile name: 'zxing-android-integration-3.2.1' //zxing
    compile name: 'libidn-1.15'
    compile name: 'minidns-0.1.7'
    compile name: 'org.otr4j-0.22'
    compile name: 'bcprov-jdk15on-1.52'
    compile name: 'bcmail-jdk15on-1.52'
    compile name: 'bcpkix-jdk15on-1.52'
    compile name: 'EnhancedListView-0.3.4', ext: 'aar'
    compile name: 'com.nineoldandroids.view.ViewHelper-2.4.0'
    compile name: 'ShortcutBadger-1.1.4', ext: 'aar'
    compile name: 'swipy-1.2.1', ext: 'aar'
	compile name: 'axolotl-android-1.3.4', ext: 'aar'
    compile name: 'axolotl-java-1.3.4'
    compile name: 'curve25519-android-0.2.4', ext: 'aar' // axolotl, loaded from jcenter
    compile name: 'curve25519-java-0.2.4' // axolotl, loaded from jcenter
	compile name: 'protobuf-java-2.5.0' // axolotl, loaded from maven
    compile name: 'android-crop-1.0.1', ext: 'aar'
    compile name: 'roundedimageview-2.2.0', ext: 'aar'
    compile name: 'openpgp-api-10.0', ext: 'aar' // loaded from jcenter
    compile name: 'okio-1.9.0'
    compile name: 'okhttp-3.4.1'

    // Local modules
    compile project(':libs:MemorizingTrustManager')
    compile project(':libs:emojicon')
	compile project(':libs:colorpicker')
	compile project(':libs:thedevstacklogcat')

    // Android dependencies
    compile 'com.android.support:support-v13:23.2.0'

	testCompile 'junit:junit:4.12'
	// Optional -- Mockito framework
	testCompile 'org.mockito:mockito-core:1.10.19'
}

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 9
		versionName "0.0.8"
		archivesBaseName += "-$versionName"
		apply from: 'configuration.gradle'
	}

	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
	}
	testOptions {
		unitTests.all {
			// All the usual Gradle options.
			jvmArgs '-XX:MaxPermSize=256m'
		}
	}
	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'
	}
}