<?xml version="1.0"?>
<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>
  <parent>
    <groupId>org.onap.oparent</groupId>
    <artifactId>oparent</artifactId>
    <version>2.1.0</version>
    <relativePath />
  </parent>
  <groupId>org.onap.so</groupId>
  <artifactId>so</artifactId>
  <packaging>pom</packaging>
  <version>1.6.0-SNAPSHOT</version>
  <name>so</name>
  <description>This Maven project is responsible to build and package all child projects - contributions in the MSO project.
	This build can be configured to run Functional tests and to start/stop a jboss server + Mysql DB.
	"mvn clean install -P with-integration-tests -Dintegration-tests-user=root -Dintegration-tests-group=root -Dintegration-tests-db-type=MYSQL"
	</description>
  <organization>
    <name>ONAP - SO</name>
    <url>http://www.onap.org/</url>
  </organization>
  <modules>
    <module>deployment-configs</module>
    <module>common</module>
    <module>mso-catalog-db</module>
    <module>mso-api-handlers</module>
    <module>adapters</module>
    <module>asdc-controller</module>
    <module>bpmn</module>
    <module>cloudify-client</module>
    <module>cxf-logging</module>
    <module>so-monitoring</module>
    <module>so-simulator</module>
    <module>packages</module>
  </modules>
  <properties>
    <project.mso.base.folder>.</project.mso.base.folder>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <sonar.language>java</sonar.language>
    <sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>
    <sonar.surefire.reportsPath>${project.build.directory}/surefire-reports</sonar.surefire.reportsPath>
    <sonar.coverage.jacoco.xmlReportPaths>${project.reporting.outputDirectory}/jacoco-ut/jacoco.xml</sonar.coverage.jacoco.xmlReportPaths>
    <!--sonar.jacoco.itReportPath>${project.mso.base.folder}/packages/arquillian-unit-tests/target/mso-automated-tests/jacoco-it.exec</sonar.jacoco.itReportPath -->
    <sonar.jacoco.reportMissing.force.zero>true</sonar.jacoco.reportMissing.force.zero>
    <sonar.projectVersion>${project.version}</sonar.projectVersion>
    <sonar.cpd.exclusions>**/*</sonar.cpd.exclusions>
    <jacoco.version>0.8.5</jacoco.version>
    <org.apache.maven.user-settings />
    <openstack.version>1.6.1-SNAPSHOT</openstack.version>
    <maven.build.timestamp.format>yyyyMMdd'T'HHmm</maven.build.timestamp.format>
    <originalClassifier>original</originalClassifier>
    <docker.skip>true</docker.skip>
    <docker.skip.build>true</docker.skip.build>
    <docker.skip.push>true</docker.skip.push>
    <docker.buildArg.project_version>${project.version}</docker.buildArg.project_version>
    <docker.buildArg.artifact_id>${project.artifactId}</docker.buildArg.artifact_id>
    <docker.buildArg.docker_repository>${dockerPullRepo}</docker.buildArg.docker_repository>
    <enforcer.skip>false</enforcer.skip>
    <nexusproxy>https://nexus.onap.org</nexusproxy>
    <releaseNexusPath>content/repositories/releases/</releaseNexusPath>
    <snapshotNexusPath>content/repositories/snapshots/</snapshotNexusPath>
    <publicNexusPath>content/repositories/public/</publicNexusPath>
    <siteNexusPath>content/sites/site/org/onap/so/${project.version}/</siteNexusPath>
    <cxf.version>3.2.6</cxf.version>
    <jax.ws.rs>2.1</jax.ws.rs>
    <springboot.version>2.1.5.RELEASE</springboot.version>
    <camunda.springboot.version>3.2.0</camunda.springboot.version>
    <format.skipValidate>false</format.skipValidate>
    <format.skipExecute>true</format.skipExecute>
    <io.fabric8.version>4.1.0</io.fabric8.version>
  </properties>
  <distributionManagement>
    <repository>
      <id>ecomp-releases</id>
      <url>${nexusproxy}/${releaseNexusPath}</url>
    </repository>
    <snapshotRepository>
      <id>ecomp-snapshots</id>
      <url>${nexusproxy}/${snapshotNexusPath}</url>
    </snapshotRepository>
    <site>
      <id>ecomp-site</id>
      <url>dav:${nexusproxy}${siteNexusPath}</url>
    </site>
  </distributionManagement>
  <reporting>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <version>2.10.4</version>
        <configuration>
          <failOnError>false</failOnError>
          <doclet>org.umlgraph.doclet.UmlGraphDoc</doclet>
          <docletArtifact>
            <groupId>org.umlgraph</groupId>
            <artifactId>umlgraph</artifactId>
            <version>5.6</version>
          </docletArtifact>
          <additionalparam>-views</additionalparam>
          <useStandardDocletOptions>true</useStandardDocletOptions>
        </configuration>
      </plugin>
    </plugins>
  </reporting>
  <!-- configure build -->
  <!-- *********************************************************************************************************** -->
  <!-- Plugins and repositories -->
  <pluginRepositories>
    <pluginRepository>
      <id>central</id>
      <url>http://repo1.maven.org/maven2</url>
    </pluginRepository>
    <pluginRepository>
      <id>restlet</id>
      <url>http://maven.restlet.com</url>
    </pluginRepository>
    <pluginRepository>
      <id>ecomp-public</id>
      <url>${nexusproxy}/${publicNexusPath}</url>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </pluginRepository>
    <pluginRepository>
      <id>ecomp-release</id>
      <url>${nexusproxy}/${releaseNexusPath}</url>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </pluginRepository>
    <pluginRepository>
      <id>ecomp-snapshots</id>
      <url>${nexusproxy}/${snapshotNexusPath}</url>
      <releases>
        <enabled>false</enabled>
      </releases>
    </pluginRepository>
  </pluginRepositories>
  <repositories>
    <repository>
      <id>ecomp-public</id>
      <url>https://nexus.onap.org/content/repositories/public/</url>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>
    <repository>
      <id>ecomp-releases</id>
      <url>https://nexus.onap.org/content/repositories/releases/</url>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>
    <repository>
      <id>ecomp-snapshots</id>
      <url>https://nexus.onap.org/content/repositories/snapshots/</url>
      <releases>
        <enabled>false</enabled>
      </releases>
    </repository>
    <repository>
      <id>camunda-bpm</id>
      <url>https://app.camunda.com/nexus/content/repositories/camunda-bpm/</url>
    </repository>
    <repository>
      <id>camunda-public</id>
      <url>https://app.camunda.com/nexus/content/groups/public</url>
    </repository>
    <repository>
      <!-- TODO: remove from ONAP environemnt -->
      <id>onap-releases</id>
      <url>https://nexus.onap.org/content/repositories/releases/</url>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>
    <repository>
      <!-- TODO: remove from ONAP environemnt -->
      <id>onap-snapshots</id>
      <url>https://nexus.onap.org/content/repositories/snapshots/</url>
      <releases>
        <enabled>false</enabled>
      </releases>
    </repository>
  </repositories>
  <!-- *********************************************************************************************************** -->
  <!-- Build -->
  <build>
    <resources>
      <resource>
        <directory>src/main/resources</directory>
        <filtering>true</filtering>
      </resource>
      <resource>
        <directory>target/generated-sources/license</directory>
        <includes>
          <include>third-party-licenses.txt</include>
        </includes>
      </resource>
      <resource>
        <directory>target/generated-resources/licenses</directory>
        <includes>
          <include>*.*</include>
        </includes>
        <targetPath>third-party-licenses</targetPath>
      </resource>
    </resources>
    <plugins>
      <!-- <plugin>
        <groupId>org.sonatype.plugins</groupId>
        <artifactId>nexus-staging-maven-plugin</artifactId>
        <version>1.6.7</version>
        <extensions>true</extensions>
        <configuration>
          <nexusUrl>${nexusproxy}</nexusUrl>
          <stagingProfileId>176c31dfe190a</stagingProfileId>
          <serverId>ecomp-staging</serverId>
        </configuration>
      </plugin> -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-deploy-plugin</artifactId>
        <version>2.8</version>
        <!-- This version supports the "deployAtEnd" parameter -->
        <configuration>
          <skip />
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.6.1</version>
        <configuration>
          <debug>true</debug>
          <compilerArgument>-Xlint</compilerArgument>
          <verbose>true</verbose>
          <showDeprecation>true</showDeprecation>
          <showWarnings>true</showWarnings>
          <source>1.8</source>
          <target>1.8</target>
          <compilerArgs>
            <arg>-parameters</arg>
          </compilerArgs>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-ejb-plugin</artifactId>
        <version>2.2.1</version>
        <configuration>
          <ejbVersion>3.0</ejbVersion>
          <archive>
            <manifest>
              <addClasspath>true</addClasspath>
            </manifest>
          </archive>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-checkstyle-plugin</artifactId>
        <version>2.17</version>
        <configuration>
          <skip>true</skip>
          <includes>**/org/openecomp/**/*.java</includes>
          <configLocation>/google_checks.xml</configLocation>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>findbugs-maven-plugin</artifactId>
        <version>2.5.2</version>
        <configuration>
          <includeFilterFile>project-configs/code-tools/findbugs_include_filter.xml</includeFilterFile>
          <nested>true</nested>
          <findbugsXmlOutput>true</findbugsXmlOutput>
          <findbugsXmlWithMessages>true</findbugsXmlWithMessages>
          <xmlOutput>true</xmlOutput>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>sonar-maven-plugin</artifactId>
        <version>5.1</version>
      </plugin>
      <plugin>
        <artifactId>maven-scm-plugin</artifactId>
        <version>1.8.1</version>
        <configuration>
          <tag>${project.artifactId}-${project.version}</tag>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <version>2.9</version>
      </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-webdav-jackrabbit</artifactId>
            <version>2.10</version>
          </dependency>
        </dependencies>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>cobertura-maven-plugin</artifactId>
        <version>2.5.2</version>
        <configuration>
          <formats>
            <format>xml</format>
          </formats>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>versions-maven-plugin</artifactId>
        <version>1.3.1</version>
      </plugin>

      <plugin>
        <groupId>com.fortify.ps.maven.plugin</groupId>
        <artifactId>sca-maven-plugin</artifactId>
        <version>4.20</version>
        <configuration>
          <buildId>mso-${project.version}</buildId>
          <source>1.8</source>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.jacoco</groupId>
        <artifactId>jacoco-maven-plugin</artifactId>
        <version>${jacoco.version}</version>
        <executions>
          <execution>
            <id>prepare-agent</id>
            <goals>
              <goal>prepare-agent</goal>
            </goals>
          </execution>
          <execution>
            <id>report</id>
            <goals>
              <goal>report</goal>
            </goals>
            <configuration>
              <dataFile>${project.build.directory}/code-coverage/jacoco.exec</dataFile>
              <outputDirectory>${project.reporting.outputDirectory}/jacoco-ut</outputDirectory>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>license-maven-plugin</artifactId>
        <version>1.15</version>
        <configuration>
          <inceptionYear>2017</inceptionYear>
          <projectName>ONAP - SO</projectName>
          <licenseName>apache_v2</licenseName>
          <addJavaLicenseAfterPackage>false</addJavaLicenseAfterPackage>
          <emptyLineAfterHeader>true</emptyLineAfterHeader>
          <trimHeaderLine>true</trimHeaderLine>
          <processStartTag>============LICENSE_START=======================================================</processStartTag>
          <sectionDelimiter>================================================================================</sectionDelimiter>
          <processEndTag>============LICENSE_END=========================================================</processEndTag>
          <includes>
            <include>**/*.java</include>
            <include>**/*.groovy</include>
          </includes>
          <excludes>
            <exclude>**/com/att/**</exclude>
          </excludes>
        </configuration>
        <executions>
          <execution>
            <id>verify-headers</id>
            <goals>
              <goal>check-file-header</goal>
            </goals>
            <configuration>
              <failOnNotUptodateHeader>true</failOnNotUptodateHeader>
              <failOnMissingHeader>true</failOnMissingHeader>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.codehaus.gmaven</groupId>
        <artifactId>groovy-maven-plugin</artifactId>
        <version>2.0</version>
        <executions>
          <!-- set absolute base path from super pom -->
          <execution>
            <id>find-basepath</id>
            <phase>validate</phase>
            <goals>
              <goal>execute</goal>
            </goals>
            <configuration>
              <source>
                <![CDATA[
                    import java.io.File;
                    log.info('## define projects super pom absolute path through basepath_marker')
                    String p = "basepath_marker";
                    File f = null;
                    if( p != null ) {
                        def _max_child_poms = 0
                        while( _max_child_poms++ < 5 ) {
                            f = new File( p );
                            if( f.exists() ) {
                                break;
                            }   
                            p = "../" + p;
                        }
                    }
                    if( f != null ) {
                        String basePath = f.getCanonicalPath();
                        basePath = basePath.substring( 0, basePath.lastIndexOf( File.separator ) ); 
                        project.properties['base-path'] = basePath.replace( '\\' , '/');
                        log.info(' - used base path = ' + project.properties['base-path'] );
                    } else {
                        log.error( 'Could not find basepath_marker marker file!' );
                        System.stop( 0 );
                    }
                ]]>
              </source>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>net.revelc.code.formatter</groupId>
        <artifactId>formatter-maven-plugin</artifactId>
        <version>2.9.0</version>
        <executions>
          <execution>
            <id>format-java</id>
            <goals>
              <goal>format</goal>
            </goals>
            <phase>process-sources</phase>
            <configuration>
              <skip>${format.skipExecute}</skip>
              <configFile>${base-path}/project-configs/code-tools/onap-eclipse-format.xml</configFile>
            </configuration>
          </execution>
          <execution>
            <id>format-xml</id>
            <goals>
              <goal>format</goal>
            </goals>
            <phase>process-sources</phase>
            <configuration>
              <skip>${format.skipExecute}</skip>
              <sourceDirectory>${project.basedir}</sourceDirectory>
              <configXmlFile>${base-path}/project-configs/code-tools/pom-format.properties</configXmlFile>
              <includes>
                <include>pom.xml</include>
              </includes>
            </configuration>
          </execution>
          <execution>
            <id>validate-java</id>
            <goals>
              <goal>validate</goal>
            </goals>
            <configuration>
              <skip>${format.skipValidate}</skip>
              <configFile>${base-path}/project-configs/code-tools/onap-eclipse-format.xml</configFile>
            </configuration>
          </execution>
          <execution>
            <id>validate-poms</id>
            <goals>
              <goal>validate</goal>
            </goals>
            <configuration>
              <skip>${format.skipValidate}</skip>
              <configFile>${base-path}/project-configs/code-tools/pom-format.properties</configFile>
              <includes>
                <include>pom.xml</include>
              </includes>
            </configuration>
          </execution>
        </executions>
        <dependencies>
          <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-annotations</artifactId>
            <version>2.9.8</version>
          </dependency>
        </dependencies>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-enforcer-plugin</artifactId>
        <version>3.0.0-M3</version>
        <executions>
          <execution>
            <id>enforce-property</id>
            <configuration>
              <skip>true</skip>
            </configuration>
          </execution>
          <execution>
            <id>enforce-no-snapshots</id>
            <configuration>
              <skip>true</skip>
            </configuration>
          </execution>
          <execution>
            <id>enforce-banned-dependencies</id>
            <goals>
              <goal>enforce</goal>
            </goals>
            <configuration>
              <rules>
                <bannedDependencies>
                  <excludes>
                    <exclude>org.powermock</exclude>
                  </excludes>
                  <searchTransitive>false</searchTransitive>
                </bannedDependencies>
              </rules>
              <fail>true</fail>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>io.fabric8</groupId>
          <artifactId>fabric8-maven-plugin</artifactId>
          <version>${io.fabric8.version}</version>
          <configuration>
            <skip>${docker.skip}</skip>
            <skipBuild>${docker.skip.build}</skipBuild>
            <skipPush>${docker.skip.push}</skipPush>
            <dockerHost>${docker.newHost}</dockerHost>
            <!-- 1. Update address to your local docker VM. 2. Add IP to your NO_PROXY environment variable -->
            <certPath>${docker.host.cert.path}</certPath>
            <!-- Add -Ddocker.host.cert.pat="path to your local certs directory" to maven build command -->
            <pushRegistry>${dockerPushRepo}</pushRegistry>
            <!-- Update .m2/settings.xml Add server id settings.dockerRepository, username, and password -->
            <pullRegistry>${dockerPullRepo}</pullRegistry>
            <!-- If docker repo is not public. Update .m2/settings.xml Add server id settings.dockerRepository, username, 
              and password -->
            <images>
              <image>
                <alias>service</alias>
                <name>${artifactId}:${project.version}</name>
                <build>
                  <dockerFileDir>${project.build.directory}</dockerFileDir>
                </build>
              </image>
            </images>
          </configuration>
          <executions>
            <execution>
              <id>start</id>
              <goals>
                <goal>build</goal>
                <goal>push</goal>
              </goals>
            </execution>
          </executions>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>2.20</version>
          <configuration>
            <systemPropertyVariables>
              <so.log.level>DEBUG</so.log.level>
            </systemPropertyVariables>
            <rerunFailingTestsCount>2</rerunFailingTestsCount>
            <parallel>classes</parallel>
            <useUnlimitedThreads>false</useUnlimitedThreads>
            <threadCount>1</threadCount>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-failsafe-plugin</artifactId>
          <version>2.20</version>
          <configuration>
            <skip>true</skip>
            <systemPropertyVariables>
              <so.log.level>DEBUG</so.log.level>
            </systemPropertyVariables>
            <rerunFailingTestsCount>2</rerunFailingTestsCount>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-dependency-plugin</artifactId>
          <executions>
            <execution>
              <id>extract-docker-file</id>
              <goals>
                <goal>unpack</goal>
              </goals>
              <configuration>
                <artifactItems>
                  <artifactItem>
                    <groupId>org.onap.so</groupId>
                    <artifactId>deployment-configs</artifactId>
                    <version>${project.version}</version>
                    <outputDirectory>${project.build.directory}</outputDirectory>
                    <includes>*,scripts/**,certs/**, logger/*.xml</includes>
                    <excludes>Kubernetes</excludes>
                  </artifactItem>
                </artifactItems>
              </configuration>
            </execution>
          </executions>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-jar-plugin</artifactId>
          <version>3.0.2</version>
          <executions>
            <execution>
              <id>original</id>
              <phase>package</phase>
              <goals>
                <goal>jar</goal>
              </goals>
              <configuration>
                <skip>true</skip>
                <classifier>${originalClassifier}</classifier>
                <includes>
                  <include>**</include>
                </includes>
              </configuration>
            </execution>
          </executions>
        </plugin>
        <plugin>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-maven-plugin</artifactId>
          <version>${springboot.version}</version>
          <executions>
            <execution>
              <id>build-info</id>
              <goals>
                <goal>build-info</goal>
              </goals>
            </execution>
          </executions>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>
  <!-- *********************************************************************************************************** -->
  <!-- Dependencies -->
  <dependencies>
    <dependency>
      <groupId>org.onap.logging-analytics</groupId>
      <artifactId>logging-slf4j</artifactId>
      <version>1.6.6</version>
    </dependency>
    <dependency>
      <groupId>org.onap.logging-analytics</groupId>
      <artifactId>logging-filter-base</artifactId>
      <version>1.6.6</version>
    </dependency>
    <dependency>
      <groupId>org.onap.logging-analytics</groupId>
      <artifactId>logging-filter-spring</artifactId>
      <version>1.6.6</version>
    </dependency>
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-core</artifactId>
    </dependency>
    <dependency>
      <groupId>com.fasterxml.jackson.module</groupId>
      <artifactId>jackson-module-jaxb-annotations</artifactId>
    </dependency>
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-databind</artifactId>
    </dependency>
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-annotations</artifactId>
    </dependency>
    <dependency>
      <groupId>com.fasterxml.jackson.jaxrs</groupId>
      <artifactId>jackson-jaxrs-base</artifactId>
    </dependency>
    <dependency>
      <groupId>com.fasterxml.jackson.jaxrs</groupId>
      <artifactId>jackson-jaxrs-json-provider</artifactId>
    </dependency>
    <dependency>
      <groupId>javax.ws.rs</groupId>
      <artifactId>javax.ws.rs-api</artifactId>
      <version>${jax.ws.rs}</version>
    </dependency>
    <dependency>
      <groupId>javax.annotation</groupId>
      <artifactId>javax.annotation-api</artifactId>
      <version>1.3.1</version>
    </dependency>
    <dependency>
      <groupId>javax.inject</groupId>
      <artifactId>javax.inject</artifactId>
      <version>1</version>
    </dependency>
    <dependency>
      <groupId>org.mockito</groupId>
      <artifactId>mockito-core</artifactId>
    </dependency>
    <dependency>
      <groupId>org.hamcrest</groupId>
      <artifactId>hamcrest-core</artifactId>
    </dependency>
    <dependency>
      <groupId>org.hamcrest</groupId>
      <artifactId>hamcrest-library</artifactId>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>xmlunit</groupId>
      <artifactId>xmlunit</artifactId>
      <version>1.6</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>com.github.tomakehurst</groupId>
      <artifactId>wiremock-standalone</artifactId>
      <version>2.13.0</version>
      <scope>test</scope>
      <exclusions>
        <exclusion>
          <groupId>org.mortbay.jetty</groupId>
          <artifactId>jetty</artifactId>
        </exclusion>
        <exclusion>
          <groupId>com.google.guava</groupId>
          <artifactId>guava</artifactId>
        </exclusion>
        <exclusion>
          <groupId>com.fasterxml.jackson.core</groupId>
          <artifactId>jackson-core</artifactId>
        </exclusion>
        <exclusion>
          <groupId>com.fasterxml.jackson.core</groupId>
          <artifactId>jackson-annotations</artifactId>
        </exclusion>
        <exclusion>
          <groupId>com.fasterxml.jackson.core</groupId>
          <artifactId>jackson-databind</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.apache.httpcomponents</groupId>
          <artifactId>httpclient</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.skyscreamer</groupId>
          <artifactId>jsonassert</artifactId>
        </exclusion>
        <exclusion>
          <groupId>xmlunit</groupId>
          <artifactId>xmlunit</artifactId>
        </exclusion>
        <exclusion>
          <groupId>com.jayway.jsonpath</groupId>
          <artifactId>json-path</artifactId>
        </exclusion>
        <exclusion>
          <groupId>net.sf.jopt-simple</groupId>
          <artifactId>jopt-simple</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>com.openpojo</groupId>
      <artifactId>openpojo</artifactId>
      <version>0.8.10</version>
    </dependency>
    <dependency>
      <groupId>com.shazam</groupId>
      <artifactId>shazamcrest</artifactId>
      <version>0.11</version>
      <scope>test</scope>
      <exclusions>
        <exclusion>
          <groupId>com.google.guava</groupId>
          <artifactId>guava</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.apache.commons</groupId>
          <artifactId>commons-lang3</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.assertj</groupId>
      <artifactId>assertj-core</artifactId>
      <version>3.11.1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>com.googlecode.junit-toolbox</groupId>
      <artifactId>junit-toolbox</artifactId>
      <version>2.4</version>
    </dependency>
  </dependencies>
  <dependencyManagement>
    <dependencies>
      <!-- https://mvnrepository.com/artifact/org.apache.httpcomponents/httpclient -->
      <!-- force use of version 4.5 everywhere in transient deps, aligned on WildFly 10 version -->
      <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpcore</artifactId>
        <version>4.4.4</version>
        <scope>compile</scope>
      </dependency>
      <dependency>
        <groupId>commons-codec</groupId>
        <artifactId>commons-codec</artifactId>
        <version>1.12</version>
        <scope>compile</scope>
      </dependency>
      <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>2.5</version>
        <scope>compile</scope>
      </dependency>
      <dependency>
        <groupId>com.sun.xml.fastinfoset</groupId>
        <artifactId>FastInfoset</artifactId>
        <version>1.2.13</version>
        <scope>compile</scope>
      </dependency>
      <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-dependencies</artifactId>
        <version>${springboot.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <dependency>
        <groupId>org.yaml</groupId>
        <artifactId>snakeyaml</artifactId>
        <version>1.23</version>
      </dependency>
      <dependency>
        <groupId>javax.interceptor</groupId>
        <artifactId>javax.interceptor-api</artifactId>
        <version>1.2.2</version>
      </dependency>
      <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <version>${springboot.version}</version>
        <exclusions>
          <exclusion>
            <groupId>com.vaadin.external.google</groupId>
            <artifactId>android-json</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>net.javacrumbs.shedlock</groupId>
        <artifactId>shedlock-spring</artifactId>
        <version>4.0.0</version>
      </dependency>
      <dependency>
        <groupId>net.javacrumbs.shedlock</groupId>
        <artifactId>shedlock-provider-jdbc-template</artifactId>
        <version>4.0.0</version>
      </dependency>
      <dependency>
        <groupId>org.flywaydb</groupId>
        <artifactId>flyway-core</artifactId>
        <version>5.2.4</version>
      </dependency>
      <dependency>
        <groupId>org.json</groupId>
        <artifactId>json</artifactId>
        <version>20140107</version>
      </dependency>
    </dependencies>
  </dependencyManagement>
  <profiles>
    <profile>
      <id>docker-image-build</id>
      <properties>
        <docker.skip>false</docker.skip>
        <docker.skip.build>false</docker.skip.build>
        <fabric8.skipResourceValidation>true</fabric8.skipResourceValidation>
      </properties>
    </profile>
    <profile>
      <id>docker-image-build-push</id>
      <properties>
        <docker.skip>false</docker.skip>
        <docker.skip.build>false</docker.skip.build>
        <docker.skip.push>false</docker.skip.push>
        <fabric8.skipResourceValidation>true</fabric8.skipResourceValidation>
      </properties>
    </profile>
    <profile>
      <id>format</id>
      <properties>
        <format.skipValidate>true</format.skipValidate>
        <format.skipExecute>false</format.skipExecute>
      </properties>
    </profile>
    <profile>
      <id>m2e</id>
      <activation>
        <property>
          <name>m2e.version</name>
        </property>
      </activation>
      <properties>
        <originalClassifier />
      </properties>
    </profile>
  </profiles>
</project>
