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.21'
id 'org.unbroken-dome.test-sets' version '2.2.0'
}
description 'web3j Quorum API'
ext {
web3jVersion = project.property('version')
jacksonKotlinVersion = '2.9.0'
logbackVersion = '1.2.3'
junitVersion = '4.12'
mockitoVersion = '1.10.19'
assertjCoreVersion = '3.8.0'
ktlintVersion = '0.31.0'
}
nexusStaging {
username System.getenv('OSSRH_USERNAME')
password System.getenv('OSSRH_PASSWORD')
}
apply {
[
'jacoco',
'java',
'javadoc',
'repositories',
'spotless',
'publish'
].each {
from("$rootDir/gradle/$it/build.gradle")
}
}
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.21",
"com.fasterxml.jackson.module:jackson-module-kotlin:$jacksonKotlinVersion",
"org.web3j:core:$web3jVersion"
implementation("com.github.shyiko:ktlint:${ktlintVersion}") { exclude group: 'org.slf4j' }
testImplementation "junit:junit:$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"
}
tasks.withType(Test) {
reports.html.destination = file("${reporting.baseDir}/${name}")
}
compileKotlin {
kotlinOptions {
jvmTarget = "1.8"
}
}
compileTestKotlin {
kotlinOptions {
jvmTarget = "1.8"
}
}
testSets {
integrationTest {
dirName = 'integration-test'
}
}
integrationTest.mustRunAfter test
compileIntegrationTestKotlin { kotlinOptions.jvmTarget = '1.8' }