2021-04-29 18:57:08 +00:00
|
|
|
plugins {
|
|
|
|
id 'java'
|
|
|
|
id 'idea'
|
2021-06-04 11:45:00 +00:00
|
|
|
id "org.sonarqube" version "3.2.0"
|
2021-08-05 21:13:56 +00:00
|
|
|
id 'jacoco'
|
2021-04-29 18:57:08 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
repositories {
|
|
|
|
mavenCentral()
|
|
|
|
jcenter()
|
|
|
|
}
|
|
|
|
|
|
|
|
test {
|
2021-05-28 12:46:17 +00:00
|
|
|
useJUnitPlatform {
|
|
|
|
includeEngines 'jqwik', 'junit-jupiter'
|
|
|
|
}
|
2021-04-29 18:57:08 +00:00
|
|
|
|
2021-06-03 21:08:34 +00:00
|
|
|
maxParallelForks = 1
|
2021-04-29 18:57:08 +00:00
|
|
|
}
|
|
|
|
|
2021-08-06 16:23:07 +00:00
|
|
|
|
|
|
|
|
|
|
|
// Fancy live test output (from https://stackoverflow.com/questions/3963708/gradle-how-to-display-test-results-in-the-console-in-real-time)
|
|
|
|
|
|
|
|
import org.gradle.api.tasks.testing.logging.TestExceptionFormat
|
|
|
|
import org.gradle.api.tasks.testing.logging.TestLogEvent
|
|
|
|
|
|
|
|
tasks.withType(Test) {
|
|
|
|
testLogging {
|
|
|
|
// set options for log level LIFECYCLE
|
|
|
|
events TestLogEvent.FAILED,
|
|
|
|
TestLogEvent.PASSED,
|
|
|
|
TestLogEvent.SKIPPED
|
|
|
|
// TestLogEvent.STANDARD_OUT
|
|
|
|
exceptionFormat TestExceptionFormat.FULL
|
|
|
|
showExceptions true
|
|
|
|
showCauses true
|
|
|
|
showStackTraces true
|
|
|
|
|
|
|
|
// set options for log level DEBUG and INFO
|
|
|
|
debug {
|
|
|
|
events TestLogEvent.STARTED,
|
|
|
|
TestLogEvent.FAILED,
|
|
|
|
TestLogEvent.PASSED,
|
|
|
|
TestLogEvent.SKIPPED,
|
|
|
|
TestLogEvent.STANDARD_ERROR
|
|
|
|
TestLogEvent.STANDARD_OUT
|
|
|
|
exceptionFormat TestExceptionFormat.FULL
|
|
|
|
}
|
|
|
|
// info.events = debug.events
|
|
|
|
// info.exceptionFormat = debug.exceptionFormat
|
|
|
|
|
|
|
|
afterSuite { desc, result ->
|
|
|
|
if (!desc.parent) { // will match the outermost suite
|
|
|
|
def output = "Results: ${result.resultType} (${result.testCount} tests, ${result.successfulTestCount} passed, ${result.failedTestCount} failed, ${result.skippedTestCount} skipped)"
|
|
|
|
def startItem = '| ', endItem = ' |'
|
|
|
|
def repeatLength = startItem.length() + output.length() + endItem.length()
|
|
|
|
println('\n' + ('-' * repeatLength) + '\n' + startItem + output + endItem + '\n' + ('-' * repeatLength))
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2021-08-05 21:13:56 +00:00
|
|
|
jacocoTestReport {
|
|
|
|
reports {
|
|
|
|
html.enabled true
|
|
|
|
xml.enabled true
|
|
|
|
xml.destination file("${buildDir}/reports/jacoco.xml")
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
plugins.withType(JacocoPlugin) {
|
|
|
|
tasks["test"].finalizedBy 'jacocoTestReport'
|
|
|
|
}
|
|
|
|
|
|
|
|
sonarqube {
|
|
|
|
properties {
|
|
|
|
property "sonar.java.coveragePlugin", "jacoco"
|
|
|
|
property "sonar.host.url", "https://sonarqube.yandrik.dev"
|
|
|
|
property "sonar.coverage.jacoco.xmlReportPath", "${buildDir}/reports/jacoco.xml"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-04-29 18:57:08 +00:00
|
|
|
dependencies {
|
2021-08-03 18:10:56 +00:00
|
|
|
implementation 'com.fasterxml.jackson.core:jackson-core:2.12.4'
|
|
|
|
implementation 'com.fasterxml.jackson.core:jackson-annotations:2.12.4'
|
|
|
|
implementation 'com.fasterxml.jackson.core:jackson-databind:2.12.4'
|
2021-06-05 13:57:33 +00:00
|
|
|
|
|
|
|
implementation "org.hibernate.validator:hibernate-validator:7.0.1.Final"
|
|
|
|
implementation "org.glassfish:jakarta.el:4.0.1"
|
|
|
|
|
2021-06-04 17:37:53 +00:00
|
|
|
implementation "org.tinylog:tinylog-api:2.4.0-M1"
|
|
|
|
implementation "org.tinylog:tinylog-impl:2.4.0-M1"
|
2021-04-29 18:57:08 +00:00
|
|
|
|
2021-08-03 18:10:56 +00:00
|
|
|
testImplementation 'net.jqwik:jqwik:1.5.3'
|
2021-04-29 18:57:08 +00:00
|
|
|
testImplementation "org.junit.jupiter:junit-jupiter-api:5.8.0-M1"
|
2021-08-03 18:10:56 +00:00
|
|
|
testImplementation 'org.mockito:mockito-core:3.11.2'
|
|
|
|
testImplementation 'org.assertj:assertj-core:3.20.2'
|
2021-04-29 18:57:08 +00:00
|
|
|
testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:5.8.0-M1"
|
2021-05-01 21:06:22 +00:00
|
|
|
}
|
2021-05-11 03:06:28 +00:00
|
|
|
|
|
|
|
tasks.withType(JavaCompile) {
|
|
|
|
options.encoding = "UTF-8"
|
|
|
|
}
|