buildscript { ext.kotlin_version = '1.1.4-3' repositories { mavenCentral() } dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } plugins { id 'com.github.ben-manes.versions' version '0.15.0' id "io.spring.dependency-management" version "1.0.3.RELEASE" } subprojects { apply plugin: 'kotlin' apply plugin: 'maven' apply plugin: 'signing' apply plugin: 'jacoco' apply plugin: 'gitflow-version' apply plugin: 'io.spring.dependency-management' apply plugin: 'com.github.ben-manes.versions' sourceCompatibility = 1.7 targetCompatibility = 1.7 group = 'ch.dissem.jabit' repositories { mavenCentral() maven { url 'https://oss.sonatype.org/content/repositories/snapshots/' } jcenter() } dependencies { compile "org.jetbrains.kotlin:kotlin-stdlib-jre7" compile "org.jetbrains.kotlin:kotlin-reflect" } test { testLogging { exceptionFormat = 'full' } } task javadocJar(type: Jar) { classifier = 'javadoc' from javadoc } task sourcesJar(type: Jar) { classifier = 'sources' from sourceSets.main.allSource } compileKotlin { kotlinOptions.jvmTarget = "1.6" } compileTestKotlin { kotlinOptions.jvmTarget = "1.6" } artifacts { archives javadocJar, sourcesJar } jar { manifest { attributes 'Implementation-Title': "Jabit ${project.name.capitalize()}", 'Implementation-Version': version } baseName "jabit-${project.name}" } signing { required { isRelease && project.getProperties().get("signing.keyId")?.length() > 0 } sign configurations.archives } uploadArchives { repositories { mavenDeployer { beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) } repository(url: "https://oss.sonatype.org/service/local/staging/deploy/maven2/") { authentication(userName: ossrhUsername, password: ossrhPassword) } snapshotRepository(url: "https://oss.sonatype.org/content/repositories/snapshots/") { authentication(userName: ossrhUsername, password: ossrhPassword) } pom.project { name 'Jabit' packaging 'jar' url 'https://github.com/Dissem/Jabit' scm { connection 'scm:git:https://github.com/Dissem/Jabit.git' developerConnection 'scm:git:git@github.com:Dissem/Jabit.git' url 'https://github.com/Dissem/Jabit.git' } licenses { license { name 'The Apache License, Version 2.0' url 'http://www.apache.org/licenses/LICENSE-2.0.txt' } } developers { developer { name 'Christian Basler' email 'chrigu.meyer@gmail.com' } } } } } } jacocoTestReport { reports { xml.enabled = true html.enabled = true } } check.dependsOn jacocoTestReport dependencyManagement { dependencies { dependencySet(group: 'org.jetbrains.kotlin', version: "$kotlin_version") { entry 'kotlin-stdlib-jre7' entry 'kotlin-reflect' } dependencySet(group: 'org.slf4j', version: '1.7.25') { entry 'slf4j-api' entry 'slf4j-simple' } dependency 'ch.dissem.msgpack:msgpack:1.0.0' dependency 'org.bouncycastle:bcprov-jdk15on:1.57' dependency 'com.madgag.spongycastle:prov:1.56.0.0' dependency 'org.apache.commons:commons-lang3:3.6' dependency 'org.flywaydb:flyway-core:4.2.0' dependency 'com.beust:klaxon:0.31' dependency 'args4j:args4j:2.33' dependency 'org.ini4j:ini4j:0.5.4' dependency 'com.h2database:h2:1.4.196' dependency 'junit:junit:4.12' dependency 'org.hamcrest:hamcrest-library:1.3' dependency 'com.nhaarman:mockito-kotlin:1.5.0' } } }