<?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>graph-inventory</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>
    <appc.client.version>1.7.1</appc.client.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>${project.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>
    </dependency>
    <dependency>
      <groupId>org.onap.logging-analytics</groupId>
      <artifactId>logging-filter-base</artifactId>
    </dependency>
    <dependency>
      <groupId>org.onap.logging-analytics</groupId>
      <artifactId>logging-filter-spring</artifactId>
    </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.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>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>
