// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        jcenter()
    }

    dependencies {
        // Android Gradle plugin
        classpath 'com.android.tools.build:gradle:1.3.1'

        classpath 'io.codearte.gradle.nexus:gradle-nexus-staging-plugin:0.8.0'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {

    repositories {
        jcenter()
    }

    // Workaround for preventing Gradle from stealing focus from other apps
    // https://gist.github.com/artem-zinnatullin/4c250e04636e25797165
    tasks.withType(JavaForkOptions) {
        jvmArgs '-Djava.awt.headless=true'
    }

    project.plugins.whenPluginAdded { plugin ->

        // Ignore 'debug' buildType for library projects
        // Because we don't have debug-specific code and we don't need to build debug variants
        // https://gist.github.com/artem-zinnatullin/ec3bce6dcb2cd524c435
        if ('com.android.build.gradle.LibraryPlugin'.equals(plugin.class.name)) {
            project.android.variantFilter {
                if (it.buildType.name.equals('debug')) {
                    it.ignore = true
                }
            }
        }
    }
}

task wrapper(type: Wrapper) {
    gradleVersion = '2.4'
}

ext {
    buildToolsVersion = '26.0.1'
    minSdkVersion = 9
    compileSdkVersion = 25
}

subprojects {
    project.plugins.whenPluginAdded { plugin ->
        if ('com.android.build.gradle.AppPlugin'.equals(plugin.class.name)
                || 'com.android.build.gradle.LibraryPlugin'.equals(plugin.class.name)) {

            // treat all Android Lint warning in all sub-projects as errors
            project.android.lintOptions.warningsAsErrors = true

            // StorIO should support Java 6
            project.android.compileOptions.sourceCompatibility = JavaVersion.VERSION_1_6
            project.android.compileOptions.targetCompatibility = JavaVersion.VERSION_1_6

            project.android.testOptions.unitTests.all {
                testLogging {
                    events 'passed', 'skipped', 'failed', 'standardOut', 'standardError'
                    exceptionFormat 'full'
                }
            }
        }
    }
}

apply plugin: 'io.codearte.nexus-staging'

nexusStaging {
    packageGroup = 'com.artemzin'
}
