plugins { id 'java' id 'idea' id 'jacoco' id 'com.diffplug.gradle.spotless' version '4.5.1' 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.6.21' id 'org.unbroken-dome.test-sets' version '4.0.0' id 'de.undercouch.download' version '4.0.0' } description 'web3j Quorum API' apply { [ '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 false 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:$version" 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:$version:tests", "org.hamcrest:hamcrest-library:$hamcrestVersion" } tasks.withType(Test) { reports.html.destination = file("${reporting.baseDir}/${name}") useJUnitPlatform() } compileKotlin { kotlinOptions { jvmTarget = "17" } } compileTestKotlin { kotlinOptions { jvmTarget = "17" } } testSets { integrationTest { dirName = 'integration-test' } } integrationTest.mustRunAfter test compileIntegrationTestKotlin { kotlinOptions.jvmTarget = '17' }