diff --git a/build.gradle b/build.gradle index 0782b5aae1541181e46b4635d0c137ccd0b35961..81b7d42cd587b33f3748ca4abf67e4a56ddd3dd7 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,60 +16,20 @@ compileJava.options.encoding = "UTF-8" mainClassName = "gov.usgs.earthquake.nshmp.www.Application" -repositories { - jcenter() +configurations { + nshmp } -// TODO uncomment once nshmp-lib is stable -// git { -// implementation("https://code.usgs.gov/ghsc/nshmp/nshmp-lib.git", { -// name "nshmp-ws-dep--nshmp-lib" -// tag "v0.0.5" -// }) -// } - ext { - // nshmpLib = "libs/nshmp-ws-dep--nshmp-lib" - nshmpLib = "../nshmp-lib" + libsDir = "libs" + nshmpLib = "${libsDir}/nshmp-lib-artifacts" nshmpLibGradleDir = "${nshmpLib}/gradle" spotbugsDir = "${nshmpLib}/gradle" spotlessDir = "${nshmpLib}/src/main/resources" } -apply from: "${nshmpLibGradleDir}/git-hooks.gradle" -apply from: "${nshmpLibGradleDir}/spotbugs.gradle" -apply from: "${nshmpLibGradleDir}/spotless.gradle" - -dependencies { - // TODO remove once nshmp-lib is stable - implementation project(":nshmp-lib") - - // 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}") - - // 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() @@ -100,6 +61,12 @@ tasks.withType(JavaExec) { jvmArgs('-noverify', '-XX:TieredStopAtLevel=1', '-Dcom.sun.management.jmxremote') } +task libsClean(type: Delete) { + delete libsDir +} +clean.dependsOn libsClean + + /* Add HTML reports to SpotBugs */ tasks.withType(com.github.spotbugs.snom.SpotBugsTask) { reports { @@ -109,3 +76,15 @@ tasks.withType(com.github.spotbugs.snom.SpotBugsTask) { } } } + +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" +}