plugins { id "application" 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 "eclipse-wtp" id "jacoco" id "java" 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/" } } git { implementation("git@code.usgs.gov:ghsc/nshmp/nshmp-lib.git", { name "nshmp-netcdf-dep--nshmp-lib" tag "v0.0.5" }) } 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}" // Micronaut 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 } } task swagger(type: JavaExec) { doFirst { mkdir swaggerDir } classpath sourceSets.main.runtimeClasspath main = "gov.usgs.earthquake.nshmp.netcdf.swagger.UpdateSwagger" } task swaggerClean(type: Delete) { delete swaggerDir } clean.dependsOn swaggerClean assemble.dependsOn swagger