Newer
Older
id "com.diffplug.gradle.spotless" version "3.27.1"
id "com.github.johnrengelman.shadow" version "5.2.0"
id "com.github.spotbugs" version "3.0.0"
id "com.star-zero.gradle.githook" version "1.2.0"
id "net.ltgt.apt-eclipse" version "0.21"
}
sourceCompatibility = JavaVersion.VERSION_11
compileJava.options.encoding = "UTF-8"
mainClassName = "gov.usgs.earthquake.nshmp.netcdf.www.Application"
repositories {
jcenter()
maven {
url "https://artifacts.unidata.ucar.edu/repository/unidata-all/"
}
}
implementation("https://code.usgs.gov/ghsc/nshmp/nshmp-lib.git", {
})
}
ext {
nshmpLib = "libs/nshmp-netcdf-dep--nshmp-lib"
nshmpLibGradleDir = "${nshmpLib}/gradle"
spotbugsDir = "${nshmpLib}/gradle"
spotlessDir = "${nshmpLib}/src/main/resources"
swaggerDir = "swagger-files"
}
apply from: "${nshmpLibGradleDir}/git-hooks.gradle"
apply from: "${nshmpLibGradleDir}/spotbugs.gradle"
apply from: "${nshmpLibGradleDir}/spotless.gradle"
dependencies {
// NetCDF
implementation "edu.ucar:cdm:${cdmVersion}"
implementation "edu.ucar:netcdf4:${netcdfVersion}"
implementation "org.slf4j:slf4j-jdk14:${slfVersion}"
annotationProcessor platform("io.micronaut:micronaut-bom:${mnVersion}")
annotationProcessor "io.micronaut:micronaut-inject-java"
annotationProcessor "io.micronaut:micronaut-validation"
implementation platform("io.micronaut:micronaut-bom:${mnVersion}")
implementation "io.micronaut:micronaut-http-client"
implementation "io.micronaut:micronaut-inject"
implementation "io.micronaut:micronaut-validation"
implementation "io.micronaut:micronaut-runtime"
implementation "io.micronaut:micronaut-http-server-netty"
implementation "com.fasterxml.jackson.module:jackson-module-parameter-names:${jacksonVersion}"
runtimeOnly "ch.qos.logback:logback-classic:${logbackVersion}"
// Swagger
annotationProcessor("io.micronaut.configuration:micronaut-openapi:${mnOpenAPIVersion}")
implementation("io.swagger.core.v3:swagger-annotations:${swaggerVersion}")
implementation("io.swagger.core.v3:swagger-models:${swaggerVersion}")
// junit
testAnnotationProcessor "io.micronaut:micronaut-inject-java:${mnVersion}"
testImplementation platform("io.micronaut:micronaut-bom:${mnVersion}")
testImplementation "org.junit.jupiter:junit-jupiter:${junitVersion}"
testImplementation "org.junit.jupiter:junit-jupiter-api"
testImplementation "io.micronaut.test:micronaut-test-junit5"
testImplementation "io.micronaut.test:micronaut-test-spock"
testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine"
}
test {
useJUnitPlatform()
}
jacoco {
toolVersion = "0.8.4"
}
jacocoTestReport {
reports {
xml.enabled true
html.enabled true
}
}
check.dependsOn jacocoTestReport
shadowJar {
mergeServiceFiles()
}
tasks.withType(JavaCompile) {
options.encoding = "UTF-8"
options.compilerArgs.add("-parameters")
}
tasks.withType(JavaExec) {
jvmArgs('-noverify', '-XX:TieredStopAtLevel=1', '-Dcom.sun.management.jmxremote')
}
/* Add HTML reports to SpotBugs */
tasks.withType(com.github.spotbugs.SpotBugsTask) {
ignoreFailures = false // TODO remove when nshmp-lib is updated
reports {
xml.enabled = false
html.enabled = true
}
}
classpath sourceSets.main.runtimeClasspath
main = "gov.usgs.earthquake.nshmp.netcdf.swagger.UpdateSwagger"
}
task swaggerClean(type: Delete) {
delete swaggerDir
}
clean.dependsOn swaggerClean