plugins { id 'java' id 'idea' id 'jacoco' id "com.diffplug.gradle.spotless" version "3.25.0" id 'io.codearte.nexus-staging' version '0.21.1' id "de.marcphilipp.nexus-publish" version "0.4.0" id 'org.jetbrains.kotlin.jvm' version '1.3.60' id 'org.unbroken-dome.test-sets' version '2.2.0' id "de.undercouch.download" version "4.0.0" id "com.jfrog.bintray" version "1.8.4" } description 'web3j Quorum API' ext { web3jVersion = project.property('version') jacksonKotlinVersion = '2.9.0' logbackVersion = '1.2.3' junitVersion = '5.5.2' mockitoVersion = '3.1.0' assertjCoreVersion = '3.8.0' hamcrestVersion = '2.1' } apply { [ 'bintray', 'jacoco', 'java', 'javadoc', 'repositories', 'publish', 'spotless', ].each { buildScript -> download { src "https://raw.githubusercontent.com/web3j/build-tools/master/gradle/$buildScript/build.gradle" dest "$rootDir/gradle/$buildScript/build.gradle" overwrite true quiet true onlyIfModified true } from("$rootDir/gradle/$buildScript/build.gradle") } } publishing { publications { maven(MavenPublication) { artifactId = "quorum" } } } dependencies { implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8", "com.fasterxml.jackson.module:jackson-module-kotlin:$jacksonKotlinVersion", "org.web3j:core:$web3jVersion" testImplementation "org.junit.jupiter:junit-jupiter:$junitVersion", "ch.qos.logback:logback-core:$logbackVersion", "ch.qos.logback:logback-classic:$logbackVersion", "org.mockito:mockito-core:$mockitoVersion", "org.assertj:assertj-core:$assertjCoreVersion", "org.web3j:core:$web3jVersion:tests", "org.hamcrest:hamcrest-library:$hamcrestVersion" } tasks.withType(Test) { reports.html.destination = file("${reporting.baseDir}/${name}") useJUnitPlatform() } compileKotlin { kotlinOptions { jvmTarget = "1.8" } } compileTestKotlin { kotlinOptions { jvmTarget = "1.8" } } testSets { integrationTest { dirName = 'integration-test' } } integrationTest.mustRunAfter test compileIntegrationTestKotlin { kotlinOptions.jvmTarget = '1.8' }