<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.cerner.beadledom</groupId>
  <artifactId>beadledom-parent</artifactId>
  <version>3.0</version>
  <packaging>pom</packaging>
  <name>Beadledom (Parent)</name>
  <description>A simple, composable framework for building RESTFul services</description>
  <url>${beadledom.url}</url>

  <organization>
    <name>Cerner Innovation, Inc.</name>
    <url>www.cerner.com</url>
  </organization>

  <developers>
    <developer>
      <name>John Leacox</name>
      <url>https://github.com/johnlcox</url>
    </developer>
    <developer>
      <name>Sundeep Paruvu</name>
      <url>https://github.com/sparuvu</url>
    </developer>
    <developer>
      <name>Nimesh Subramanian</name>
      <url>https://github.com/nimeshsubramanian</url>
    </developer>
    <developer>
      <name>Brian van de Boogaard</name>
      <url>https://github.com/b-boogaard</url>
    </developer>
    <developer>
      <name>Supriya Lal</name>
      <url>https://github.com/lal-s</url>
    </developer>
  </developers>

  <modules>
    <module>archetype</module>
    <module>avro</module>
    <module>bom</module>
    <module>client</module>
    <module>common</module>
    <module>configuration</module>
    <module>core</module>
    <module>docs</module>
    <module>guice</module>
    <module>guice-dynamicbindings</module>
    <module>health</module>
    <module>jackson</module>
    <module>jaxrs</module>
    <module>jaxrs-genericresponse</module>
    <module>jooq</module>
    <module>json-common</module>
    <module>lifecycle</module>
    <module>lifecycle-governator</module>
    <module>newrelic-jaxrs</module>
    <module>resteasy</module>
    <module>resteasy-genericresponse</module>
    <module>stagemonitor</module>
    <module>swagger1</module>
    <module>testing</module>
  </modules>

  <scm>
    <url>https://github.com/cerner/beadledom</url>
    <connection>scm:git:https://github.com/cerner/beadledom.git</connection>
    <developerConnection>scm:git:https://github.com/cerner/beadledom.git</developerConnection>
    <tag>3.0</tag>
  </scm>

  <issueManagement>
    <system>GitHub Issues</system>
    <url>http://github.com/cerner/beadledom/issues</url>
  </issueManagement>

  <licenses>
    <license>
      <name>The Apache License, Version 2.0</name>
      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
    </license>
  </licenses>

  <properties>
    <beadledom.url>http://cerner.github.io/beadledom/${project.version}</beadledom.url>
    <autovalue.version>1.6.2</autovalue.version>
    <java.version>1.8</java.version>
    <scala.version>2.11.12</scala.version>
    <scala.binary.version>2.11</scala.binary.version>
    <governator.version>1.17.5</governator.version>
    <jackson.version>2.9.6</jackson.version>
    <resteasy.version>3.6.0.Final</resteasy.version>
    <spotbugs.version>3.1.6</spotbugs.version>
    <stagemonitor.version>0.22.0</stagemonitor.version>
    <swagger-core.version>1.3.12</swagger-core.version>
    <tomcat-embed.version>7.0.42</tomcat-embed.version>
    <wagon.version>2.10</wagon.version>
    <maven-checkstyle-plugin.version>3.0.0</maven-checkstyle-plugin.version>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <maven-javadoc-plugin.version>3.0.1</maven-javadoc-plugin.version>
    <maven-project-info-reports-plugin.version>3.0.0</maven-project-info-reports-plugin.version>
    <scala-maven-plugin.version>3.4.1</scala-maven-plugin.version>
    <spotbugs.plugin.version>3.1.5</spotbugs.plugin.version>
  </properties>

  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>com.cerner.beadledom</groupId>
        <artifactId>beadledom-client</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>com.cerner.beadledom</groupId>
        <artifactId>beadledom-client-guice</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>com.cerner.beadledom</groupId>
        <artifactId>beadledom-client-jackson</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>com.cerner.beadledom</groupId>
        <artifactId>beadledom-common</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>com.cerner.beadledom</groupId>
        <artifactId>beadledom-configuration</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>com.cerner.beadledom</groupId>
        <artifactId>beadledom-core</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>com.cerner.beadledom</groupId>
        <artifactId>beadledom-guice</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>com.cerner.beadledom</groupId>
        <artifactId>beadledom-guice-dynamicbindings</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>com.cerner.beadledom</groupId>
        <artifactId>beadledom-health</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>com.cerner.beadledom</groupId>
        <artifactId>beadledom-health-api</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>com.cerner.beadledom</groupId>
        <artifactId>beadledom-jackson</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>com.cerner.beadledom</groupId>
        <artifactId>beadledom-jaxrs</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>com.cerner.beadledom</groupId>
        <artifactId>beadledom-jaxrs-clientproxy</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>com.cerner.beadledom</groupId>
        <artifactId>beadledom-jaxrs-genericresponse</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>com.cerner.beadledom</groupId>
        <artifactId>beadledom-json-common</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>com.cerner.beadledom</groupId>
        <artifactId>beadledom-lifecycle</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>com.cerner.beadledom</groupId>
        <artifactId>beadledom-lifecycle-governator</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>com.cerner.beadledom</groupId>
        <artifactId>beadledom-newrelic-jaxrs</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>com.cerner.beadledom</groupId>
        <artifactId>beadledom-resteasy-genericresponse</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>com.cerner.beadledom</groupId>
        <artifactId>beadledom-stagemonitor</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>com.cerner.beadledom</groupId>
        <artifactId>beadledom-swagger1</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>com.cerner.beadledom</groupId>
        <artifactId>resteasy-client</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>com.cerner.beadledom.avro</groupId>
        <artifactId>beadledom-avro-jackson</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>com.cerner.beadledom.avro</groupId>
        <artifactId>beadledom-avro-swagger</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-annotations</artifactId>
        <version>${jackson.version}</version>
      </dependency>
      <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-core</artifactId>
        <version>${jackson.version}</version>
      </dependency>
      <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>${jackson.version}</version>
      </dependency>
      <dependency>
        <groupId>com.fasterxml.jackson.datatype</groupId>
        <artifactId>jackson-datatype-jdk8</artifactId>
        <version>${jackson.version}</version>
      </dependency>
      <dependency>
        <groupId>com.fasterxml.jackson.datatype</groupId>
        <artifactId>jackson-datatype-jsr310</artifactId>
        <version>${jackson.version}</version>
      </dependency>
      <dependency>
        <groupId>com.fasterxml.jackson.jaxrs</groupId>
        <artifactId>jackson-jaxrs-base</artifactId>
        <version>${jackson.version}</version>
      </dependency>
      <dependency>
        <groupId>com.fasterxml.jackson.jaxrs</groupId>
        <artifactId>jackson-jaxrs-json-provider</artifactId>
        <version>${jackson.version}</version>
      </dependency>
      <dependency>
        <groupId>com.github.spullara.mustache.java</groupId>
        <artifactId>compiler</artifactId>
        <version>0.9.5</version>
      </dependency>
      <dependency>
        <groupId>com.google.auto.value</groupId>
        <artifactId>auto-value</artifactId>
        <version>${autovalue.version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>com.google.auto.value</groupId>
        <artifactId>auto-value-annotations</artifactId>
        <version>${autovalue.version}</version>
      </dependency>
      <dependency>
        <groupId>com.google.code.findbugs</groupId>
        <artifactId>jsr305</artifactId>
        <version>3.0.2</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>com.google.guava</groupId>
        <artifactId>guava</artifactId>
        <version>26.0-jre</version>
      </dependency>
      <dependency>
        <groupId>com.google.inject</groupId>
        <artifactId>guice</artifactId>
        <version>4.2.0</version>
      </dependency>
      <dependency>
        <groupId>com.google.inject.extensions</groupId>
        <artifactId>guice-multibindings</artifactId>
        <version>4.2.0</version>
      </dependency>
      <dependency>
        <groupId>com.netflix.governator</groupId>
        <artifactId>governator-core</artifactId>
        <version>${governator.version}</version>
      </dependency>
      <dependency>
        <groupId>com.newrelic.agent.java</groupId>
        <artifactId>newrelic-api</artifactId>
        <version>4.3.0</version>
      </dependency>
      <dependency>
        <groupId>com.typesafe.play</groupId>
        <artifactId>play-json_${scala.binary.version}</artifactId>
        <version>2.6.9</version>
      </dependency>
      <dependency>
        <groupId>com.wordnik</groupId>
        <artifactId>swagger-annotations</artifactId>
        <version>${swagger-core.version}</version>
      </dependency>
      <dependency>
        <groupId>com.wordnik</groupId>
        <artifactId>swagger-core_${scala.binary.version}</artifactId>
        <version>${swagger-core.version}</version>
      </dependency>
      <dependency>
        <groupId>com.wordnik</groupId>
        <artifactId>swagger-jaxrs_${scala.binary.version}</artifactId>
        <version>${swagger-core.version}</version>
        <exclusions>
          <exclusion>
            <artifactId>jsr311-api</artifactId>
            <groupId>javax.ws.rs</groupId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>commons-beanutils</groupId>
        <artifactId>commons-beanutils</artifactId>
        <version>1.9.3</version>
      </dependency>
      <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>2.6</version>
      </dependency>
      <dependency>
        <groupId>javax.annotation</groupId>
        <artifactId>javax.annotation-api</artifactId>
        <version>1.3.2</version>
      </dependency>
      <dependency>
        <groupId>javax.inject</groupId>
        <artifactId>javax.inject</artifactId>
        <version>1</version>
      </dependency>
      <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>4.0.1</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>javax.ws.rs</groupId>
        <artifactId>javax.ws.rs-api</artifactId>
        <version>2.1</version>
      </dependency>
      <!-- For JDK 9+ the JAXB dependency must be explicit. Additionally, 2.2.12 is the latest -->
      <!-- version that supports JDK 8 (2.3.x causes issues with Jetty on JDK 8) -->
      <dependency>
        <groupId>javax.xml.bind</groupId>
        <artifactId>jaxb-api</artifactId>
        <version>2.2.12</version>
      </dependency>
      <dependency>
        <groupId>org.apache.avro</groupId>
        <artifactId>avro</artifactId>
        <version>1.7.7</version>
      </dependency>
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-configuration2</artifactId>
        <version>2.2</version>
      </dependency>
      <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpclient</artifactId>
        <version>4.5.6</version>
      </dependency>
      <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpcore</artifactId>
        <version>4.4.10</version>
      </dependency>
      <dependency>
        <groupId>org.apache.tomcat</groupId>
        <artifactId>tomcat-jasper</artifactId>
        <version>${tomcat-embed.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.tomcat</groupId>
        <artifactId>tomcat-servlet-api</artifactId>
        <version>${tomcat-embed.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.tomcat.embed</groupId>
        <artifactId>tomcat-embed-core</artifactId>
        <version>${tomcat-embed.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.tomcat.embed</groupId>
        <artifactId>tomcat-embed-logging-juli</artifactId>
        <version>${tomcat-embed.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.tomcat.embed</groupId>
        <artifactId>tomcat-embed-jasper</artifactId>
        <version>${tomcat-embed.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.hamcrest</groupId>
        <artifactId>hamcrest-all</artifactId>
        <version>1.3</version>
      </dependency>
      <dependency>
        <groupId>org.javassist</groupId>
        <artifactId>javassist</artifactId>
        <version>3.22.0-GA</version>
      </dependency>
      <dependency>
        <groupId>org.jboss.resteasy</groupId>
        <artifactId>resteasy-client</artifactId>
        <version>${resteasy.version}</version>
      </dependency>
      <dependency>
        <groupId>org.jboss.resteasy</groupId>
        <artifactId>resteasy-guice</artifactId>
        <version>${resteasy.version}</version>
      </dependency>
      <dependency>
        <groupId>org.jboss.resteasy</groupId>
        <artifactId>resteasy-jaxrs</artifactId>
        <version>${resteasy.version}</version>
      </dependency>
      <dependency>
        <groupId>org.jooq</groupId>
        <artifactId>jooq</artifactId>
        <version>3.11.3</version>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>1.7.25</version>
      </dependency>
      <dependency>
        <groupId>org.stagemonitor</groupId>
        <artifactId>stagemonitor-core</artifactId>
        <version>${stagemonitor.version}</version>
      </dependency>
      <dependency>
        <groupId>org.stagemonitor</groupId>
        <artifactId>stagemonitor-requestmonitor</artifactId>
        <version>${stagemonitor.version}</version>
      </dependency>
      <dependency>
        <groupId>org.stagemonitor</groupId>
        <artifactId>stagemonitor-web</artifactId>
        <version>${stagemonitor.version}</version>
      </dependency>
      <dependency>
        <groupId>org.tukaani</groupId>
        <artifactId>xz</artifactId>
        <version>1.8</version>
      </dependency>

      <!--Test Dependencies-->
      <dependency>
        <groupId>com.cerner.beadledom</groupId>
        <artifactId>beadledom-testing</artifactId>
        <version>${project.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.mockito</groupId>
        <artifactId>mockito-core</artifactId>
        <version>2.21.0</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.scala-lang</groupId>
        <artifactId>scalap</artifactId>
        <version>${scala.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.scala-lang</groupId>
        <artifactId>scala-compiler</artifactId>
        <version>${scala.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.scala-lang</groupId>
        <artifactId>scala-library</artifactId>
        <version>${scala.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.scala-lang</groupId>
        <artifactId>scala-reflect</artifactId>
        <version>${scala.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.scalacheck</groupId>
        <artifactId>scalacheck_${scala.binary.version}</artifactId>
        <version>1.14.0</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.scalatest</groupId>
        <artifactId>scalatest_${scala.binary.version}</artifactId>
        <version>3.0.5</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.skyscreamer</groupId>
        <artifactId>jsonassert</artifactId>
        <version>1.5.0</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>1.7.25</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>uk.org.lidalia</groupId>
        <artifactId>slf4j-test</artifactId>
        <version>1.2.0</version>
        <scope>test</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <dependencies>
    <!-- Must be included here as a dependency for the scalatest-maven-plugin -->
    <dependency>
      <groupId>org.scalatest</groupId>
      <artifactId>scalatest_${scala.binary.version}</artifactId>
      <scope>test</scope>
    </dependency>
  </dependencies>

  <build>
    <plugins>
      <plugin>
        <groupId>net.alchim31.maven</groupId>
        <artifactId>scala-maven-plugin</artifactId>
        <version>${scala-maven-plugin.version}</version>
        <configuration>
          <scalaCompatVersion>${scala.binary.version}</scalaCompatVersion>
          <scalaVersion>${scala.version}</scalaVersion>
          <jvmArgs>
            <jvmArg>-Xms64m</jvmArg>
            <jvmArg>-Xmx256m</jvmArg>
          </jvmArgs>
          <args>
            <arg>-nobootcp</arg>
          </args>
        </configuration>
        <executions>
          <execution>
            <id>scala-add-sources</id>
            <phase>process-resources</phase>
            <goals>
              <goal>add-source</goal>
            </goals>
          </execution>
          <execution>
            <goals>
              <goal>testCompile</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.7.0</version>
        <configuration>
          <showDeprecation>true</showDeprecation>
          <source>${java.version}</source>
          <target>${java.version}</target>
          <compilerVersion>${java.version}</compilerVersion>
        </configuration>
        <dependencies>
          <dependency>
            <groupId>org.ow2.asm</groupId>
            <artifactId>asm</artifactId>
            <version>6.2</version>
          </dependency>
        </dependencies>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-checkstyle-plugin</artifactId>
        <version>${maven-checkstyle-plugin.version}</version>
        <dependencies>
          <dependency>
            <groupId>com.puppycrawl.tools</groupId>
            <artifactId>checkstyle</artifactId>
            <version>8.11</version>
          </dependency>
        </dependencies>
        <configuration>
          <configLocation>google_checks_1.8.xml</configLocation>
          <suppressionsLocation>checkstyle-suppressions.xml</suppressionsLocation>
          <consoleOutput>true</consoleOutput>
          <failsOnError>true</failsOnError>
        </configuration>
        <executions>
          <execution>
            <phase>verify</phase>
            <goals>
              <goal>checkstyle</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-project-info-reports-plugin</artifactId>
        <version>${maven-project-info-reports-plugin.version}</version>
      </plugin>
      <plugin>
        <artifactId>maven-resources-plugin</artifactId>
        <version>3.1.0</version>
        <inherited>false</inherited>
        <executions>
          <execution>
            <id>copy-resources-site</id>
            <phase>site</phase>
            <goals>
              <goal>copy-resources</goal>
            </goals>
            <configuration>
              <outputDirectory>target/</outputDirectory>
              <resources>
                <resource>
                  <directory>src/main/resources</directory>
                  <filtering>true</filtering>
                </resource>
              </resources>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-release-plugin</artifactId>
        <version>2.5.3</version>
        <configuration>
          <autoVersionSubmodules>true</autoVersionSubmodules>
          <tagNameFormat>@{project.version}</tagNameFormat>
          <useReleaseProfile>false</useReleaseProfile>
        </configuration>
        <dependencies>
          <dependency>
            <groupId>org.apache.maven.scm</groupId>
            <artifactId>maven-scm-provider-gitexe</artifactId>
            <version>1.10.0</version>
          </dependency>
        </dependencies>
      </plugin>
      <plugin>
        <groupId>org.owasp</groupId>
        <artifactId>dependency-check-maven</artifactId>
        <version>3.2.1</version>
        <configuration>
          <failBuildOnAnyVulnerability>true</failBuildOnAnyVulnerability>
          <suppressionFile>dependency-check-suppressions.xml</suppressionFile>
        </configuration>
        <executions>
          <execution>
            <goals>
              <goal>aggregate</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>com.github.spotbugs</groupId>
        <artifactId>spotbugs-maven-plugin</artifactId>
        <version>${spotbugs.plugin.version}</version>
        <configuration>
          <effort>Max</effort>
          <excludeFilterFile>spotbugs-exclude.xml</excludeFilterFile>
        </configuration>
        <executions>
          <execution>
            <goals>
              <goal>check</goal>
            </goals>
          </execution>
        </executions>
        <dependencies>
          <dependency>
            <groupId>org.ow2.asm</groupId>
            <artifactId>asm</artifactId>
            <version>6.2</version>
          </dependency>
        </dependencies>
      </plugin>
      <plugin>
        <groupId>org.scalatest</groupId>
        <artifactId>scalatest-maven-plugin</artifactId>
        <version>2.0.0</version>
        <executions>
          <execution>
            <id>test</id>
            <goals>
              <goal>test</goal>
            </goals>
          </execution>
        </executions>
        <dependencies>
          <dependency>
            <groupId>org.scalatest</groupId>
            <artifactId>scalatest_${scala.binary.version}</artifactId>
            <version>3.0.5</version>
          </dependency>
        </dependencies>
        <configuration>
          <reportsDirectory>${project.build.directory}/surefire-reports</reportsDirectory>
          <junitxml>.</junitxml>
          <filereports>WDF TestSuite.txt</filereports>
          <argLine>-Xms256m -Xmx512m</argLine>
        </configuration>
      </plugin>
    </plugins>

    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.7.0</version>
          <configuration>
            <source>${java.version}</source>
            <target>${java.version}</target>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-gpg-plugin</artifactId>
          <version>1.6</version>
          <executions>
            <execution>
              <id>sign-artifacts</id>
              <phase>verify</phase>
              <goals>
                <goal>sign</goal>
              </goals>
            </execution>
          </executions>
        </plugin>
        <plugin>
          <groupId>org.sonatype.plugins</groupId>
          <artifactId>nexus-staging-maven-plugin</artifactId>
          <version>1.6.8</version>
          <extensions>true</extensions>
          <configuration>
            <serverId>ossrh</serverId>
            <nexusUrl>https://oss.sonatype.org/</nexusUrl>
            <autoReleaseAfterClose>false</autoReleaseAfterClose>
          </configuration>
        </plugin>
        <plugin>
          <groupId>com.github.spotbugs</groupId>
          <artifactId>spotbugs-maven-plugin</artifactId>
          <version>${spotbugs.plugin.version}</version>
          <configuration>
            <effort>Max</effort>
            <xmlOutput>true</xmlOutput>
            <excludeFilterFile>spotbugs-exclude.xml</excludeFilterFile>
          </configuration>
          <executions>
            <execution>
              <goals>
                <goal>check</goal>
              </goals>
            </execution>
          </executions>
          <dependencies>
            <dependency>
              <groupId>com.github.spotbugs</groupId>
              <artifactId>spotbugs</artifactId>
              <version>${spotbugs.version}</version>
            </dependency>
          </dependencies>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>2.22.0</version>
        </plugin>
        <plugin>
          <artifactId>maven-deploy-plugin</artifactId>
          <version>2.8.2</version>
          <dependencies>
            <dependency>
              <groupId>org.apache.maven.wagon</groupId>
              <artifactId>wagon-ssh</artifactId>
              <version>${wagon.version}</version>
            </dependency>
            <dependency>
              <groupId>org.apache.maven.wagon</groupId>
              <artifactId>wagon-webdav-jackrabbit</artifactId>
              <version>${wagon.version}</version>
            </dependency>
          </dependencies>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-site-plugin</artifactId>
          <version>3.6</version>
          <dependencies>
            <dependency>
              <groupId>org.apache.maven.wagon</groupId>
              <artifactId>wagon-ssh</artifactId>
              <version>${wagon.version}</version>
            </dependency>
          </dependencies>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-javadoc-plugin</artifactId>
          <version>${maven-javadoc-plugin.version}</version>
          <configuration>
            <additionalOptions>-Xdoclint:none</additionalOptions>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-project-info-reports-plugin</artifactId>
          <version>${maven-project-info-reports-plugin.version}</version>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>build-helper-maven-plugin</artifactId>
          <version>3.0.0</version>
          <executions>
            <execution>
              <id>add-source</id>
              <phase>generate-sources</phase>
              <goals>
                <goal>add-source</goal>
              </goals>
              <configuration>
                <sources>
                  <source>${project.basedir}/target/generated-sources/</source>
                </sources>
              </configuration>
            </execution>
          </executions>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>

  <reporting>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <version>${maven-javadoc-plugin.version}</version>
        <configuration>
          <charset>${project.reporting.outputEncoding}</charset>
          <docencoding>${project.reporting.outputEncoding}</docencoding>
          <docfilessubdirs>true</docfilessubdirs>
          <detectLinks>true</detectLinks>
          <source>${java.version}</source>
          <show>protected</show>
          <!--java 8 javadoc command fails on error by default-->
          <failOnError>false</failOnError>
        </configuration>
        <reportSets>
          <reportSet>
            <id>aggregate</id>
            <reports>
              <report>aggregate</report>
            </reports>
          </reportSet>
        </reportSets>

      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-project-info-reports-plugin</artifactId>
        <version>${maven-project-info-reports-plugin.version}</version>
        <reportSets>
          <reportSet>
            <reports />
          </reportSet>
        </reportSets>
      </plugin>
    </plugins>
  </reporting>

  <repositories>
    <repository>
      <id>cloudera-release</id>
      <name>Cloudera release repository</name>
      <url>https://repository.cloudera.com/artifactory/cloudera-repos/</url>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>
    <repository>
      <id>typesafe-release</id>
      <name>Typesafe Release Repository</name>
      <url>http://repo.typesafe.com/typesafe/releases</url>
    </repository>
    <repository>
      <id>oauth-httpclient4-repo</id>
      <name>oauth-httpclient4 Repository</name>
      <url>http://oauth.googlecode.com/svn/code/maven/</url>
    </repository>
  </repositories>

  <distributionManagement>
    <snapshotRepository>
      <id>ossrh</id>
      <url>https://oss.sonatype.org/content/repositories/snapshots</url>
    </snapshotRepository>
    <repository>
      <id>ossrh</id>
      <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
    </repository>
    <site>
      <id>beadledom-site</id>
      <name>Beadledom Site</name>
      <url>${beadledom.url}</url>
    </site>
  </distributionManagement>

  <profiles>
    <profile>
      <id>ossrh</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.sonatype.plugins</groupId>
            <artifactId>nexus-staging-maven-plugin</artifactId>
            <version>1.6.8</version>
            <extensions>true</extensions>
            <configuration>
              <serverId>ossrh</serverId>
              <nexusUrl>https://oss.sonatype.org/</nexusUrl>
              <autoReleaseAfterClose>false</autoReleaseAfterClose>
            </configuration>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-source-plugin</artifactId>
            <version>3.0.1</version>
            <executions>
              <execution>
                <id>attach-sources</id>
                <goals>
                  <goal>jar-no-fork</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-javadoc-plugin</artifactId>
            <version>${maven-javadoc-plugin.version}</version>
            <executions>
              <execution>
                <id>attach-javadocs</id>
                <goals>
                  <goal>jar</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-gpg-plugin</artifactId>
            <version>1.6</version>
            <executions>
              <execution>
                <id>sign-artifacts</id>
                <phase>verify</phase>
                <goals>
                  <goal>sign</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
</project>
