apply plugin: 'android'
apply plugin: 'android-test'

sourceSets {
    androidTest {
        java.srcDir file('src/test/java')
        // configure the set of classes for JUnit tests
        // include '**/*Test.class'
    }
}

dependencies {
    // NOTE: Always use fixed version codes not dynamic ones, e.g. 0.7.3 instead of 0.7.+, see README for more information

    compile 'com.android.support:support-v4:19.1.0'
    compile 'com.android.support:appcompat-v7:19.1.0'
    compile project(':extern:openpgp-api-lib')
    compile project(':extern:openkeychain-api-lib')
    compile project(':extern:html-textview')
    compile project(':extern:StickyListHeaders:library')
    compile project(':extern:AndroidBootstrap:AndroidBootstrap')
    compile project(':extern:zxing-qr-code')
    compile project(':extern:zxing-android-integration')
    compile project(':extern:spongycastle:core')
    compile project(':extern:spongycastle:pg')
    compile project(':extern:spongycastle:pkix')
    compile project(':extern:spongycastle:prov')
    compile project(':extern:AppMsg:library')
    compile project(':extern:dnsjava')

    // Dependencies for the `instrumentTest` task, make sure to list all your global dependencies here as well
    androidTestCompile 'junit:junit:4.10'
    androidTestCompile 'org.robolectric:robolectric:2.3'
    androidTestCompile 'com.squareup:fest-android:1.0.8'
    androidTestCompile 'com.google.android:android:4.1.1.4'
    androidTestCompile 'com.android.support:support-v4:19.1.0'
    androidTestCompile 'com.android.support:appcompat-v7:19.1.0'
    androidTestCompile project(':extern:openpgp-api-lib')
    androidTestCompile project(':extern:openkeychain-api-lib')
    androidTestCompile project(':extern:html-textview')
    androidTestCompile project(':extern:StickyListHeaders:library')
    androidTestCompile project(':extern:AndroidBootstrap:AndroidBootstrap')
    androidTestCompile project(':extern:zxing-qr-code')
    androidTestCompile project(':extern:zxing-android-integration')
    androidTestCompile project(':extern:spongycastle:core')
    androidTestCompile project(':extern:spongycastle:pg')
    androidTestCompile project(':extern:spongycastle:pkix')
    androidTestCompile project(':extern:spongycastle:prov')
    androidTestCompile project(':extern:AppMsg:library')
}

android {
    compileSdkVersion 19
    buildToolsVersion "19.0.3"

    defaultConfig {
        minSdkVersion 9
        targetSdkVersion 19
    }

    /*
     * To sign release build, create file gradle.properties in ~/.gradle/ with this content:
     *
     * signingStoreLocation=/home/key.store
     * signingStorePassword=xxx
     * signingKeyAlias=alias
     * signingKeyPassword=xxx
     */
    if (project.hasProperty('signingStoreLocation') &&
            project.hasProperty('signingStorePassword') &&
            project.hasProperty('signingKeyAlias') &&
            project.hasProperty('signingKeyPassword')) {
        println "Found sign properties in gradle.properties! Signing build…"
        
        signingConfigs {
            release {
                storeFile file(signingStoreLocation)
                storePassword signingStorePassword
                keyAlias signingKeyAlias
                keyPassword signingKeyPassword
            }
        }

        buildTypes.release.signingConfig = signingConfigs.release
    } else {
        buildTypes.release.signingConfig = null
    }
    
    // NOTE: Lint is disabled because it slows down builds,
    // to enable it comment out the code at the bottom of this build.gradle
    lintOptions {
        // Do not abort build if lint finds errors
        abortOnError false

        checkAllWarnings true
        htmlReport true
        htmlOutput file("lint-report.html")
    }
}

// NOTE: This disables Lint!
tasks.whenTaskAdded { task ->
    if (task.name.equals("lint")) {
        task.enabled = false
    }
}

