sourceCompatibility = '1.8'
targetCompatibility = '1.8'

dependencies {
    compileOnly 'org.fusesource.jansi:jansi:1.18'
    compileOnly 'org.jline:jline:3.11.0'
    compileOnly 'org.jline:jline-reader:3.11.0'
    compileOnly 'org.jline:jline-terminal:3.11.0'
    compileOnly 'org.bouncycastle:bcprov-jdk15:1.46'
    api 'com.google.code.gson:gson:2.8.5'
    testImplementation 'org.junit.jupiter:junit-jupiter:5.4.1'
}

test {
    useJUnitPlatform()
    testLogging {
        events "passed", "skipped", "failed"
    }
}
sourceSets {
    java9 {
        java {
            srcDirs = ['src/main/java9']
        }
        dependencies {
            java9Implementation files(sourceSets.main.output.classesDirs) { builtBy compileJava }
        }
    }
}
jar {
    into('META-INF/versions/9') {
        from sourceSets.java9.output
    }
    classifier = 'clean'
}
compileJava9Java {
    sourceCompatibility = 9
    targetCompatibility = 9
}

task sourcesJar(type: Jar) {
    from sourceSets.main.allJava
    archiveClassifier = 'sources'
}

task javadocJar(type: Jar) {
    from javadoc
    archiveClassifier = 'javadoc'
}

publishing {
    publications {
        launchercore(MavenPublication) {
            artifactId = 'launcher-core'
            artifact(jar) {
                classifier ""
            }
            artifact sourcesJar
            artifact javadocJar
            pom {
                name = 'GravitLauncher Core Utils'
                description = 'GravitLauncher Core Utils'
                url = 'https://launcher.gravit.pro'
                licenses {
                    license {
                        name = 'GNU General Public License, Version 3.0'
                        url = 'https://www.gnu.org/licenses/gpl-3.0.html'
                    }
                }
                developers {
                    developer {
                        id = 'gravit'
                        name = 'Gravit'
                        email = 'gravit.min@ya.ru'
                    }
                    developer {
                        id = 'zaxar163'
                        name = 'Zaxar163'
                        email = 'zahar.vcherachny@yandex.ru'
                    }
                }
                scm {
                    connection = 'scm:git:https://github.com/GravitLauncher/Launcher.git'
                    developerConnection = 'scm:git:ssh://git@github.com:GravitLauncher/Launcher.git'
                    url = 'https://launcher.gravit.pro/'
                }
            }
        }
    }
}

signing {
    sign publishing.publications.launchercore
}