hmci/build.gradle

100 lines
2.1 KiB
Groovy

plugins {
// Apply the groovy plugin to add support for Groovy
id 'groovy'
// Apply the application plugin to add support for building a CLI application.
id 'application'
// Code coverage of tests
id 'jacoco'
id "com.github.johnrengelman.shadow" version "6.0.0"
id "nebula.ospackage" version "8.4.1"
}
repositories {
jcenter()
}
dependencies {
implementation 'org.codehaus.groovy:groovy-all:3.0.5'
implementation 'com.squareup.okhttp3:okhttp:4.8.0'
implementation 'org.influxdb:influxdb-java:2.19'
implementation 'org.slf4j:slf4j-api:1.7.+'
runtimeOnly 'ch.qos.logback:logback-classic:1.+'
testImplementation('org.spockframework:spock-core:2.0-M3-groovy-3.0')
testImplementation("org.slf4j:slf4j-simple:1.7.+")
testImplementation('com.squareup.okhttp3:mockwebserver:4.8.0')
//implementation platform('org.testcontainers:testcontainers-bom:1.14.3') //import bom
//testCompile "org.testcontainers:influxdb:1.14.3"
}
application {
mainClassName = 'biz.nellemann.hmci.App'
}
test {
useJUnitPlatform()
}
apply plugin: 'nebula.ospackage'
ospackage {
packageName = 'hmci'
release = '1'
user = 'root'
packager = "Mark Nellemann <mark.nellemann@gmail.com>"
into '/opt/hmci'
from(shadowJar.outputs.files) {
into 'lib'
}
from('build/scriptsShadow') {
into 'bin'
}
from('doc/') {
into 'doc'
}
}
buildRpm {
dependsOn startShadowScripts
requires('java-1.8.0-openjdk-headless')
os = LINUX
}
buildDeb {
dependsOn startShadowScripts
requires('default-jre-headless')
}
jacoco {
toolVersion = "0.8.5"
}
jacocoTestReport {
group = "verification"
reports {
xml.enabled false
csv.enabled false
html.destination file("${buildDir}/reports/coverage")
}
}
test.finalizedBy jacocoTestReport
jacocoTestCoverageVerification {
violationRules {
rule {
limit {
minimum = 0.3 // FIXME: Raise when more tests are implemented
}
}
}
}
check.dependsOn jacocoTestCoverageVerification