Skip to content
Snippets Groups Projects
build.gradle 2.41 KiB
Newer Older
plugins {
Clayton, Brandon Scott's avatar
Clayton, Brandon Scott committed
  id "application"
Powers, Peter M.'s avatar
Powers, Peter M. committed
  id "com.diffplug.spotless" version "${spotlessVersion}"
Clayton, Brandon Scott's avatar
Clayton, Brandon Scott committed
  id "com.github.johnrengelman.shadow" version "${shadowVersion}"
  id "com.github.node-gradle.node" version "${nodePluginVersion}"
  id "com.github.spotbugs" version "${spotbugsVersion}"
  id "com.palantir.git-version" version "${gitVersionVersion}" apply false
Clayton, Brandon Scott's avatar
Clayton, Brandon Scott committed
  id "com.star-zero.gradle.githook" version "${githooksVersion}"
  id "de.undercouch.download" version "${downloadVersion}"
Clayton, Brandon Scott's avatar
Clayton, Brandon Scott committed
  id "eclipse-wtp"
  id "jacoco"
Clayton, Brandon Scott's avatar
Clayton, Brandon Scott committed
  id "maven-publish"
Powers, Peter M.'s avatar
Powers, Peter M. committed

apply from: "${projectDir}/gradle/app-version.gradle"
Clayton, Brandon Scott's avatar
Clayton, Brandon Scott committed
apply from: "${projectDir}/gradle/dependencies.gradle"
apply from: "${projectDir}/gradle/ext.gradle"
apply from: "${projectDir}/gradle/jar.gradle"
apply from: "${projectDir}/gradle/git-hooks.gradle"
apply from: "${projectDir}/gradle/node.gradle"
apply from: "${projectDir}/gradle/nshm.gradle"
Clayton, Brandon Scott's avatar
Clayton, Brandon Scott committed
apply from: "${projectDir}/gradle/repositories.gradle"
apply from: "${projectDir}/gradle/spotbugs.gradle"
apply from: "${projectDir}/gradle/spotless.gradle"
compileJava.options.encoding = "UTF-8"
compileTestJava.options.encoding = "UTF-8"
Clayton, Brandon Scott's avatar
Clayton, Brandon Scott committed
mainClassName = "gov.usgs.earthquake.nshmp.www.Application"
sourceCompatibility = JavaVersion.VERSION_11
Powers, Peter M.'s avatar
Powers, Peter M. committed
jacoco {
Clayton, Brandon Scott's avatar
Clayton, Brandon Scott committed
  toolVersion = "0.8.4"
Powers, Peter M.'s avatar
Powers, Peter M. committed
jacocoTestReport {
  getExecutionData().setFrom(fileTree(buildDir).include("/jacoco/*.exec"))

Powers, Peter M.'s avatar
Powers, Peter M. committed
  reports {
    xml.enabled true
Powers, Peter M.'s avatar
Powers, Peter M. committed
    html.enabled true
    classDirectories.from(files(classDirectories.files.collect {
          dir: it,
Clayton, Brandon Scott's avatar
Clayton, Brandon Scott committed
          exclude: ["**/etc/**"])
Powers, Peter M.'s avatar
Powers, Peter M. committed
check.dependsOn jacocoTestReport
tasks.withType(Test) {
  finalizedBy jacocoTestReport
}

Clayton, Brandon Scott's avatar
Clayton, Brandon Scott committed
tasks.withType(JavaCompile) {
  options.encoding = "UTF-8"
  options.compilerArgs.add("-parameters")
}

tasks.withType(JavaExec) {
  doFirst {
    def defaultRepo = "nshm-conus"
    def defaultYear = 2018

    if (!(new File("${nshmDir}/${defaultRepo}-${defaultYear}").exists())) {
Clayton, Brandon Scott's avatar
Clayton, Brandon Scott committed
      downloadNshm(findNshm(defaultRepo, defaultYear))
  jvmArgs(
Clayton, Brandon Scott's avatar
Clayton, Brandon Scott committed
      '-noverify',
      '-Xms2g',
      '-Xmx8g',
      '-XX:TieredStopAtLevel=1',
      '-Dcom.sun.management.jmxremote',
      )
/* Add HTML reports to SpotBugs */
Clayton, Brandon Scott's avatar
Clayton, Brandon Scott committed
tasks.withType(com.github.spotbugs.snom.SpotBugsTask) {
  reports {
Clayton, Brandon Scott's avatar
Clayton, Brandon Scott committed
    html {
      enabled true
      stylesheet = 'fancy-hist.xsl'
    }
Clayton, Brandon Scott's avatar
Clayton, Brandon Scott committed

test {
  useJUnitPlatform()

  filter {
Clayton, Brandon Scott's avatar
Clayton, Brandon Scott committed
    excludeTestsMatching "gov.usgs.earthquake.nshmp.model.NshmTests"