diff --git a/build.gradle b/build.gradle index 4afb7b48952a215e2896070a5f3b989961abbf0e..1baa4b322ff240be3053bad94c5b5d93958d9d61 100644 --- a/build.gradle +++ b/build.gradle @@ -7,6 +7,7 @@ plugins { id "eclipse-wtp" id "jacoco" id "java" + id "maven-publish" id "net.ltgt.apt-eclipse" version "${aptEclipseVersion}" } @@ -15,66 +16,21 @@ 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("https://code.usgs.gov/ghsc/nshmp/nshmp-lib.git", { - name "nshmp-netcdf-dep--nshmp-lib" - tag "v0.1.1" - }) +configurations { + nshmp } ext { - nshmpLib = "libs/nshmp-netcdf-dep--nshmp-lib" + libsDir = "libs" + nshmpLib = "${libsDir}/nshmp-lib-artifacts" 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" -} +apply from: "${projectDir}/gradle/repositories.gradle" +apply from: "${projectDir}/gradle/dependencies.gradle" test { useJUnitPlatform() @@ -105,7 +61,7 @@ tasks.withType(JavaExec) { jvmArgs('-noverify', '-XX:TieredStopAtLevel=1', '-Dcom.sun.management.jmxremote') } -/* Add HTML reports to SpotBugs */ +/* SpotBugs */ tasks.withType(com.github.spotbugs.snom.SpotBugsTask) { reports { html { @@ -115,6 +71,7 @@ tasks.withType(com.github.spotbugs.snom.SpotBugsTask) { } } +/* Run UpdateSwagger */ task swagger(type: JavaExec) { doFirst { mkdir swaggerDir @@ -122,10 +79,26 @@ task swagger(type: JavaExec) { classpath sourceSets.main.runtimeClasspath main = "gov.usgs.earthquake.nshmp.netcdf.swagger.UpdateSwagger" } +assemble.dependsOn swagger task swaggerClean(type: Delete) { delete swaggerDir } - clean.dependsOn swaggerClean -assemble.dependsOn swagger + +task libsClean(type: Delete) { + delete libsDir +} +clean.dependsOn += libsClean + +gradle.afterProject { + copy { + from { + configurations.nshmp.collect { zipTree(it) } + } + into nshmpLib + } + apply from: "${nshmpLibGradleDir}/spotbugs.gradle" + apply from: "${nshmpLibGradleDir}/git-hooks.gradle" + apply from: "${nshmpLibGradleDir}/spotless.gradle" +}