plugins {
    id 'com.github.johnrengelman.shadow' version '5.0.0' apply false
    id 'maven-publish'
    id 'signing'
}
group = 'pro.gravit.launcher'
version = '5.0.5-SNAPSHOT'

configure(subprojects.findAll { it.name != 'modules' }) {
    apply plugin: 'idea'
    apply plugin: 'eclipse'
    apply plugin: 'java'

    group = 'pro.gravit'

    repositories {
        mavenCentral()
        maven { url 'http://oss.sonatype.org/content/groups/public' }
        maven {
            url "http://clojars.org/repo/"
        }
    }

    configurations {
        apt
        aptCompileOnly
        aptOnly
        aptOnly.extendsFrom apt, aptCompileOnly
        compile.extendsFrom apt
        compileOnly.extendsFrom aptCompileOnly
    }

    tasks.withType(JavaCompile) {
        options.encoding = "UTF-8"
        options.annotationProcessorPath = configurations.aptOnly
        options.incremental = true // one flag, and things will get MUCH faster    
    }
}

wrapper {
    distributionType = Wrapper.DistributionType.ALL
}

defaultTasks 'build'
if (hasProperty('mavenUsername') && hasProperty('mavenPassword') && hasProperty('mavenReleaseRepository') && hasProperty('mavenSnapshotRepository')) {
    publishing {
        repositories {
            maven {
                url = version.endsWith('SNAPSHOT') ? getProperty('mavenSnapshotRepository') : getProperty('mavenReleaseRepository')
                credentials {
                    username getProperty('mavenUsername')
                    password getProperty('mavenPassword')
                }
            }
        }
    }
}