apply plugin: "java-library" apply plugin: "groovy" apply plugin: 'jacoco' apply plugin: 'maven-publish' repositories { mavenCentral() } dependencies { implementation("org.slf4j:slf4j-api:${slf4jVersion}") implementation("com.google.code.gson:gson:2.10") implementation("com.squareup.okhttp3:okhttp:4.10.0") testImplementation("org.slf4j:slf4j-simple:${slf4jVersion}") testImplementation("com.squareup.okhttp3:mockwebserver:4.10.0") testImplementation("org.codehaus.groovy:groovy-all:${groovyVersion}") testImplementation("org.spockframework:spock-core:${spockVersion}") { exclude group: "org.codehaus.groovy" } testImplementation('com.athaydes:spock-reports:2.3.2-groovy-3.0') { transitive = false // this avoids affecting your version of Groovy/Spock } } publishing { publications { maven(MavenPublication) { groupId = 'biz.nellemann.libs' artifactId = 'libpaqle' from components.java } } repositories { maven { name = "gitea" url = uri("https://git.data.coop/api/packages/$System.env.DRONE_REPO_OWNER/maven") credentials { username = "$System.env.DRONE_REPO_OWNER" password = "$System.env.AUTH_TOKEN" } } mavenLocal() } } java { sourceCompatibility = JavaVersion.VERSION_1_8 targetCompatibility = JavaVersion.VERSION_1_8 } test { useJUnitPlatform() } jacoco { toolVersion = "0.8.8" } jacocoTestReport { group = "verification" reports { xml.required = false csv.required = false html.destination file("${buildDir}/reports/coverage") } afterEvaluate { classDirectories.setFrom(files(classDirectories.files.collect { fileTree(dir: it, exclude: 'biz/nellemann/libpaqle/pojo/**') })) } } test.finalizedBy jacocoTestReport jacocoTestCoverageVerification { violationRules { rule { element = 'CLASS' limit { counter = 'LINE' value = 'COVEREDRATIO' minimum = 0.7 } excludes = [ 'biz.nellemann.libpaqle.pojo.*' ] } } } check.dependsOn jacocoTestCoverageVerification