Skip to content
Snippets Groups Projects
build.gradle 3.07 KiB
Newer Older
  • Learn to ignore specific revisions
  • Clayton, Brandon Scott's avatar
    Clayton, Brandon Scott committed
    plugins {
    
    Clayton, Brandon Scott's avatar
    Clayton, Brandon Scott committed
      id "application"
    
      id "java"
    
      id "com.github.johnrengelman.shadow" version "5.2.0"
    
    Clayton, Brandon Scott's avatar
    Clayton, Brandon Scott committed
      id "net.ltgt.apt-eclipse" version "0.21"
      id "eclipse-wtp"
      id "jacoco"
    
      id "com.star-zero.gradle.githook" version "1.2.0"
      id "com.github.spotbugs" version "3.0.0"
      id "com.diffplug.gradle.spotless" version "3.27.1"
    
    apply from: project(":nshmp-lib").file("gradle/git-hooks.gradle")
    apply from: project(":nshmp-lib").file("gradle/spotbugs.gradle")
    apply from: project(":nshmp-lib").file("gradle/spotless.gradle")
    
    
    Clayton, Brandon Scott's avatar
    Clayton, Brandon Scott committed
    sourceCompatibility = JavaVersion.VERSION_11
    
    Clayton, Brandon Scott's avatar
    Clayton, Brandon Scott committed
    compileJava.options.encoding = "UTF-8"
    
    Clayton, Brandon Scott's avatar
    Clayton, Brandon Scott committed
    
    repositories {
      jcenter()
    }
    
    dependencies {
    
      implementation project(":nshmp-lib")
    
    
    Clayton, Brandon Scott's avatar
    Clayton, Brandon Scott committed
      // micronaut
    
      annotationProcessor platform("io.micronaut:micronaut-bom:${mnVersion}")
    
    Clayton, Brandon Scott's avatar
    Clayton, Brandon Scott committed
      annotationProcessor "io.micronaut:micronaut-inject-java"
      annotationProcessor "io.micronaut:micronaut-validation"
    
      implementation platform("io.micronaut:micronaut-bom:${mnVersion}")
    
    Clayton, Brandon Scott's avatar
    Clayton, Brandon Scott committed
      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 "io.micronaut:micronaut-runtime-osx"
    
      runtimeOnly "ch.qos.logback:logback-classic:${logbackVersion}"
    
    Clayton, Brandon Scott's avatar
    Clayton, Brandon Scott committed
    
      // 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"
    
    Clayton, Brandon Scott's avatar
    Clayton, Brandon Scott committed
    sourceSets {
      main {
        java {
          srcDirs = ['src/main']
        }
        resources {
          srcDirs = ['src/resources']
          exclude '**/*.java'
        }
      }
      test {
        java {
          srcDirs = ['test']
        }
        resources {
          srcDirs = ['test']
          exclude '**/*.java'
        }
      }
    }
    
    
    Clayton, Brandon Scott's avatar
    Clayton, Brandon Scott committed
    test {
    
    Clayton, Brandon Scott's avatar
    Clayton, Brandon Scott committed
      useJUnitPlatform()
    
    
    Clayton, Brandon Scott's avatar
    Clayton, Brandon Scott committed
      reports {
        junitXml.enabled = true
        html.enabled = true
      }
    
    
      filter {
        excludeTestsMatching "gov.usgs.earthquake.nshmp.www.BasinTermControllerTests"
        excludeTestsMatching "gov.usgs.earthquake.nshmp.www.FaultSectionsControllerTests"
      }
    
    Clayton, Brandon Scott's avatar
    Clayton, Brandon Scott committed
    }
    
    jacocoTestReport {
      reports {
        xml.enabled true
        html.enabled true
      }
    }
    
    check.dependsOn jacocoTestReport
    
    
    Clayton, Brandon Scott's avatar
    Clayton, Brandon Scott committed
    mainClassName = "gov.usgs.earthquake.nshmp.www.Application"
    
    shadowJar {
      mergeServiceFiles()
    }
    
    tasks.withType(JavaCompile){
    
      options.encoding = "UTF-8"
    
    Clayton, Brandon Scott's avatar
    Clayton, Brandon Scott committed
      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
      }
    }