<?xml version="1.0" encoding="UTF-8"?>
<!--
  ============LICENSE_START=======================================================
  ONAP CLAMP
  ================================================================================
  Copyright (C) 2017 AT&T Intellectual Property. All rights
                              reserved.
  ================================================================================
  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
  ============LICENSE_END============================================
  ===================================================================
  ECOMP is a trademark and service mark of AT&T Intellectual Property.
-->

<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>org.onap.clamp</groupId>
  <artifactId>clds</artifactId>
  <version>2.0.0-SNAPSHOT</version>
  <name>clamp</name>

  <parent>
    <groupId>org.onap.oparent</groupId>
    <artifactId>oparent</artifactId>
    <version>1.0.0-SNAPSHOT</version>
  </parent>

  <description>
           This project build the ONAP CLAMP JAR that contains AJSC + CLAMP code.

           By Default "mvn clean install" command will execute also the unit tests
           and the integration tests. The integration tests require a docker engine running.

           If you want to skip the intergation test you can by doing:
           "mvn clean install -DskipITs=true"

           For Spring it's possible to specify the application.properties location
           "mvn clean install -Dspring.config.location=classpath:application-test.properties"

           The application.properties contains the location of the CLAMP parameters files:
                - org.onap.clamp.config.files.cldsReference=classpath:/clds/clds-reference.properties
                - org.onap.clamp.config.files.cldsPolicyConfig=classpath:/clds/clds-policy-config.properties
                - org.onap.clamp.config.files.cldsUsers=classpath:/clds/clds-users.json
                - org.onap.clamp.config.files.globalClds=classpath:/clds/globalClds.properties

    </description>

  <properties>
    <maven.build.timestamp.format>yyyy.MM.dd'T'hh.mm.ss'Z'</maven.build.timestamp.format>
    <clamp.project.version>${project.version}</clamp.project.version>
    <clamp.build.timestamp>${maven.build.timestamp}</clamp.build.timestamp>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

    <docker.mariadb.port.host>3306</docker.mariadb.port.host>
    <sdk.java.common.logging>0.0.3-oss</sdk.java.common.logging>
    <project.scm.id>git-server</project.scm.id>
    <java.version>1.8</java.version>
    <csi.logging>6.1.0.6-oss</csi.logging>
    <sdk.camel.rest>6.2.0.6-oss</sdk.camel.rest>
    <sdk.camunda.core>6.1.0.3-oss</sdk.camunda.core>

    <sonar.language>java</sonar.language>
    <sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>
    <sonar.surefire.reportsPath>${project.build.directory}/surefire-reports</sonar.surefire.reportsPath>
    <sonar.jacoco.reportPath>${project.build.directory}/coverage-reports/jacoco.exec</sonar.jacoco.reportPath>
    <sonar.jacoco.itReportPath>${project.build.directory}/coverage-reports/jacoco-it.exec</sonar.jacoco.itReportPath>
    <sonar.jacoco.reportMissing.force.zero>true</sonar.jacoco.reportMissing.force.zero>
    <sonar.projectVersion>${project.version}</sonar.projectVersion>

    <docker.push.registry>localhost:5000</docker.push.registry>
    <skip.docker.build>true</skip.docker.build>
    <skip.docker.push>true</skip.docker.push>
    <skip.staging.artifacts>false</skip.staging.artifacts>
  </properties>

  <distributionManagement>
    <repository>
      <id>ecomp-releases</id>
      <name>Clamp Release Repository</name>
      <url>https://nexus.onap.org/content/repositories/releases/</url>
    </repository>
    <snapshotRepository>
      <id>ecomp-snapshots</id>
      <name>Clamp Snapshot Repository</name>
      <url>https://nexus.onap.org/content/repositories/snapshots/</url>
    </snapshotRepository>
    <site>
      <id>ecomp-site</id>
      <url>dav:https://nexus.onap.org/content/sites/site/org/onap/clamp/${project.version}</url>
    </site>
  </distributionManagement>

  <repositories>
    <repository>
      <id>central</id>
      <name>Maven 2 repository 2</name>
      <url>http://repo2.maven.org/maven2/</url>
    </repository>
    <repository>
      <id>ecomp-releases</id>
      <name>ONAP Release Repository</name>
      <url>https://nexus.onap.org/content/repositories/releases/</url>
    </repository>
    <repository>
      <id>ecomp-staging</id>
      <name>ONAP Staging Repository</name>
      <url>https://nexus.onap.org/content/repositories/staging/</url>
    </repository>
    <repository>
      <id>ecomp-snapshots</id>
      <name>ONAP Snapshot Repository</name>
      <url>https://nexus.onap.org/content/repositories/snapshots/</url>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
      <releases>
        <enabled>false</enabled>
      </releases>
    </repository>
    <repository>
      <id>spring-repo</id>
      <name>Spring repo</name>
      <url>https://artifacts.alfresco.com/nexus/content/repositories/public/</url>
    </repository>
    <repository>
      <id>repository.jboss.org-public</id>
      <name>JBoss.org Maven repository</name>
      <url>https://repository.jboss.org/nexus/content/groups/public</url>
    </repository>
  </repositories>

  <dependencyManagement>
    <dependencies>
      <dependency>
        <!-- Import dependency management from Spring Boot -->
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-dependencies</artifactId>
        <version>1.4.1.RELEASE</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <dependencies>

    <dependency>
      <groupId>com.googlecode.json-simple</groupId>
      <artifactId>json-simple</artifactId>
      <version>1.1</version>
    </dependency>
    <dependency>
      <groupId>org.apache.commons</groupId>
      <artifactId>commons-vfs2</artifactId>
      <version>2.0</version>
    </dependency>

    <dependency>
      <groupId>org.springframework.security</groupId>
      <artifactId>spring-security-test</artifactId>

      <scope>test</scope>
    </dependency>


    <!-- Dependencies of parent pom start -->
    <dependency>
      <groupId>com.att.ajsc</groupId>
      <artifactId>sdk-java-common-logging</artifactId>
      <version>${sdk.java.common.logging}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-tomcat</artifactId>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-security</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-test</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>joda-time</groupId>
      <artifactId>joda-time</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
    </dependency>
    <dependency>
      <groupId>javax.ws.rs</groupId>
      <artifactId>javax.ws.rs-api</artifactId>
      <version>2.0</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-test</artifactId>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
    </dependency>
    <dependency>
      <groupId>org.mockito</groupId>
      <artifactId>mockito-all</artifactId>
      <version>1.9.5</version>
    </dependency>
    <dependency>
      <groupId>commons-logging</groupId>
      <artifactId>commons-logging</artifactId>
      <version>1.1.1</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-aspects</artifactId>
    </dependency>
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-core</artifactId>
    </dependency>
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-databind</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
      <version>1.2.17</version>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-autoconfigure</artifactId>
    </dependency>
    <dependency>
      <groupId>javax.transaction</groupId>
      <artifactId>jta</artifactId>
      <version>1.1</version>
    </dependency>
    <dependency>
      <groupId>javax.persistence</groupId>
      <artifactId>persistence-api</artifactId>
      <version>1.0.2</version>
    </dependency>
    <dependency>
      <groupId>org.hibernate</groupId>
      <artifactId>hibernate-annotations</artifactId>
      <version>3.5.6-Final</version>
    </dependency>
    <dependency>
      <groupId>org.apache.geronimo.specs</groupId>
      <artifactId>geronimo-jpa_2.0_spec</artifactId>
      <version>1.1</version>
    </dependency>
    <dependency>
      <groupId>dom4j</groupId>
      <artifactId>dom4j</artifactId>
      <version>1.6.1</version>
    </dependency>
    <!-- Dependencies of parent pom end -->
    <dependency>
      <groupId>com.att.ajsc</groupId>
      <artifactId>sdk-java-camel-rest</artifactId>
      <version>${sdk.camel.rest}</version>
    </dependency>
    <dependency>
      <groupId>io.swagger</groupId>
      <artifactId>swagger-core</artifactId>
      <version>1.5.8</version>
    </dependency>
    <dependency>
      <groupId>io.swagger</groupId>
      <artifactId>swagger-annotations</artifactId>
      <version>1.5.8</version>
    </dependency>

    <!-- Camunda Core -->
    <dependency>
      <groupId>com.att.ajsc</groupId>
      <artifactId>sdk-java-camunda-core</artifactId>
      <version>${sdk.camunda.core}</version>
      <exclusions>
        <exclusion>
          <groupId>mysql</groupId>
          <artifactId>mysql-connector-java</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <!-- Spring Mail -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context-support</artifactId>
    </dependency>
    <!-- CSI Logging -->
    <dependency>
      <groupId>com.att.ajsc</groupId>
      <artifactId>sdk-java-common-interceptors</artifactId>
      <version>${csi.logging}</version>
      <exclusions>
        <exclusion>
          <groupId>org.eclipse.jetty.orbit</groupId>
          <artifactId>javax.servlet</artifactId>
        </exclusion>
        <exclusion>
          <groupId>com.att.ajsc</groupId>
          <artifactId>ajsc-core</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <!-- CSI Logging End -->
    <dependency>
      <groupId>org.onap.policy.engine</groupId>
      <artifactId>PolicyEngineAPI</artifactId>
      <version>1.1.0</version>
      <exclusions>
        <exclusion>
          <artifactId>log4j</artifactId>
          <groupId>log4j</groupId>
        </exclusion>
        <exclusion>
          <groupId>org.slf4j</groupId>
          <artifactId>slf4j-log4j12</artifactId>
        </exclusion>
        <exclusion>
          <artifactId>apache-log4j-extras</artifactId>
          <groupId>log4j</groupId>
        </exclusion>
        <exclusion>
          <artifactId>jackson-databind</artifactId>
          <groupId>com.fasterxml.jackson.core</groupId>
        </exclusion>
        <exclusion>
          <groupId>mysql</groupId>
          <artifactId>mysql-connector-java</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.onap.policy.common</groupId>
      <artifactId>ONAP-Logging</artifactId>
      <version>1.1.0</version>
      <exclusions>
        <exclusion>
          <artifactId>log4j</artifactId>
          <groupId>log4j</groupId>
        </exclusion>
        <exclusion>
          <groupId>org.slf4j</groupId>
          <artifactId>slf4j-log4j12</artifactId>
        </exclusion>
        <exclusion>
          <artifactId>apache-log4j-extras</artifactId>
          <groupId>log4j</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.onap.policy.engine</groupId>
      <artifactId>PolicyEngineUtils</artifactId>
      <version>1.1.0</version>
      <exclusions>
        <exclusion>
          <artifactId>log4j</artifactId>
          <groupId>log4j</groupId>
        </exclusion>
        <exclusion>
          <groupId>org.slf4j</groupId>
          <artifactId>slf4j-log4j12</artifactId>
        </exclusion>
        <exclusion>
          <artifactId>apache-log4j-extras</artifactId>
          <groupId>log4j</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.onap.policy.drools-applications</groupId>
      <artifactId>policy-yaml</artifactId>
      <version>1.1.0</version>
      <exclusions>
        <exclusion>
          <artifactId>log4j</artifactId>
          <groupId>log4j</groupId>
        </exclusion>
        <exclusion>
          <groupId>org.slf4j</groupId>
          <artifactId>slf4j-log4j12</artifactId>
        </exclusion>
        <exclusion>
          <artifactId>apache-log4j-extras</artifactId>
          <groupId>log4j</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.onap.policy.drools-applications</groupId>
      <artifactId>sdc</artifactId>
      <version>1.1.0</version>
      <exclusions>
        <exclusion>
          <artifactId>log4j</artifactId>
          <groupId>log4j</groupId>
        </exclusion>
        <exclusion>
          <groupId>org.slf4j</groupId>
          <artifactId>slf4j-log4j12</artifactId>
        </exclusion>
        <exclusion>
          <artifactId>apache-log4j-extras</artifactId>
          <groupId>log4j</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.onap.policy.drools-applications</groupId>
      <artifactId>aai</artifactId>
      <version>1.1.0</version>
      <exclusions>
        <exclusion>
          <artifactId>log4j</artifactId>
          <groupId>log4j</groupId>
        </exclusion>
        <exclusion>
          <groupId>org.slf4j</groupId>
          <artifactId>slf4j-log4j12</artifactId>
        </exclusion>
        <exclusion>
          <artifactId>apache-log4j-extras</artifactId>
          <groupId>log4j</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-databind</artifactId>
      <version>2.6.3</version>
    </dependency>
    <dependency>
      <groupId>com.fasterxml.jackson.dataformat</groupId>
      <artifactId>jackson-dataformat-yaml</artifactId>
      <version>2.6.3</version>
    </dependency>
    <dependency>
      <groupId>org.apache.commons</groupId>
      <artifactId>commons-csv</artifactId>
      <version>1.3</version>
    </dependency>
    <dependency>
      <groupId>org.jboss.resteasy</groupId>
      <artifactId>resteasy-client</artifactId>
      <version>3.0.8.Final</version>
    </dependency>
    <dependency>
      <groupId>com.sun.faces</groupId>
      <artifactId>jsf-api</artifactId>
      <version>2.1.7</version>
    </dependency>
    <dependency>
      <groupId>com.sun.faces</groupId>
      <artifactId>jsf-impl</artifactId>
      <version>2.1.7</version>
    </dependency>

    <!-- Remove the MYSQL connector and replace it by Mariadb -->
    <dependency>
      <groupId>org.mariadb.jdbc</groupId>
      <artifactId>mariadb-java-client</artifactId>
      <version>2.1.1</version>
    </dependency>
  </dependencies>

  <build>
    <finalName>clamp</finalName>

    <testResources>
      <testResource>
        <directory>src/test/resources</directory>
        <excludes>
          <exclude>**/*.jks</exclude>
        </excludes>
        <filtering>true</filtering>
      </testResource>
      <testResource>
        <directory>src/test/resources/https</directory>
        <includes>
          <include>**.jks</include>
        </includes>
        <filtering>false</filtering>
        <targetPath>https</targetPath>
      </testResource>
    </testResources>
    <resources>
      <resource>
        <directory>src/main/resources</directory>
        <filtering>true</filtering>
      </resource>
      <resource>
        <directory>src/main/docker</directory>
        <includes>
          <include>**/*</include>
        </includes>
        <filtering>true</filtering>
      </resource>
    </resources>

    <plugins>
      <plugin>
        <groupId>org.codehaus.groovy.maven</groupId>
        <artifactId>gmaven-plugin</artifactId>
        <version>1.0</version>
        <executions>
          <execution>
            <phase>validate</phase>
            <goals>
              <goal>execute</goal>
            </goals>
            <configuration>
              <source>${project.basedir}/src/main/script/TagVersion.groovy</source>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <version>3.0.2</version>
        <executions>
          <execution>
            <id>jar-with-only-classes</id>
            <phase>package</phase>
            <goals>
              <goal>jar</goal>
            </goals>
            <configuration>
              <classifier>classes</classifier>
              <includes>
                <include>org/**</include>
              </includes>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>com.github.kongchen</groupId>
        <artifactId>swagger-maven-plugin</artifactId>
        <version>3.1.5</version>
        <executions>
          <execution>
            <phase>compile</phase>
            <goals>
              <goal>generate</goal>
            </goals>
            <configuration>
              <apiSources>
                <apiSource>
                  <locations>
                    <location>org.onap.clamp.clds.service</location>
                  </locations>
                  <basePath>/</basePath>
                  <info>
                    <title>${project.artifactId} Service</title>
                    <version>${project.version}</version>
                  </info>
                  <swaggerDirectory>${project.build.directory}/classes/META-INF/resources/icd</swaggerDirectory>
                </apiSource>
              </apiSources>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>build-helper-maven-plugin</artifactId>
        <version>3.0.0</version>
        <executions>
          <execution>
            <goals>
              <goal>attach-artifact</goal>
            </goals>
            <phase>package</phase>
            <configuration>
              <artifacts>
                <artifact>
                  <file>${project.build.directory}/clamp-classes.jar</file>
                  <type>jar</type>
                  <classifier>classes</classifier>
                </artifact>
              </artifacts>
            </configuration>
          </execution>
        </executions>
      </plugin>

      <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
        <version>1.5.3.RELEASE</version>
        <executions>
          <execution>
            <goals>
              <goal>repackage</goal>
            </goals>
            <phase>package</phase>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.sonatype.plugins</groupId>
        <artifactId>nexus-staging-maven-plugin</artifactId>
        <version>1.6.7</version>
        <extensions>true</extensions>
        <configuration>
          <nexusUrl>https://nexus.onap.org</nexusUrl>
          <stagingProfileId>176c31dfe190a</stagingProfileId>
          <serverId>ecomp-staging</serverId>
          <skipNexusStagingDeployMojo>${skip.staging.artifacts}</skipNexusStagingDeployMojo>
        </configuration>
      </plugin>
      <plugin>
        <groupId>com.spotify</groupId>
        <artifactId>docker-maven-plugin</artifactId>
        <version>1.0.0</version>
        <configuration>
          <imageName>onap/clamp</imageName>
          <dockerDirectory>src/main/docker</dockerDirectory>
          <serverId>docker-hub</serverId>
          <imageTags>
            <imageTag>latest</imageTag>
            <imageTag>${project.docker.latesttagtimestamp.version}</imageTag>
            <imageTag>${project.docker.latesttag.version}</imageTag>
          </imageTags>
          <forceTags>true</forceTags>
          <resources>
            <resource>
              <targetPath>/</targetPath>
              <directory>${project.build.directory}</directory>
              <include>${project.build.finalName}.jar</include>
            </resource>
            <resource>
              <targetPath>/</targetPath>
              <directory>${project.build.directory}</directory>
              <include>etc/config/**</include>
            </resource>
            <resource>
              <targetPath>/</targetPath>
              <directory>${project.build.directory}</directory>
              <include>etc/keystore/**</include>
            </resource>
          </resources>
        </configuration>
        <executions>
          <execution>
            <id>build-image</id>
            <phase>package</phase>
            <goals>
              <goal>build</goal>
            </goals>
            <configuration>
              <skipDockerBuild>${skip.docker.build}</skipDockerBuild>
              <buildArgs>
                <http_proxy>${env.HTTP_PROXY}</http_proxy>
                <https_proxy>${env.HTTPS_PROXY}</https_proxy>
              </buildArgs>
            </configuration>
          </execution>

          <execution>
            <id>tag-image-latest-timestamp</id>
            <phase>package</phase>
            <goals>
              <goal>tag</goal>
            </goals>
            <configuration>
              <image>onap/clamp</image>
              <newName>${docker.push.registry}/onap/clamp:${project.docker.latesttagtimestamp.version}</newName>
              <skipDockerTag>${skip.docker.push}</skipDockerTag>
            </configuration>
          </execution>
          <execution>
            <id>push-image-latest-timestamp</id>
            <phase>deploy</phase>
            <goals>
              <goal>push</goal>
            </goals>
            <configuration>
              <imageName>${docker.push.registry}/onap/clamp:${project.docker.latesttagtimestamp.version}</imageName>
              <skipDockerPush>${skip.docker.push}</skipDockerPush>
            </configuration>
          </execution>
          <execution>
            <id>tag-image-latest</id>
            <phase>package</phase>
            <goals>
              <goal>tag</goal>
            </goals>
            <configuration>
              <image>onap/clamp</image>
              <newName>${docker.push.registry}/onap/clamp:${project.docker.latesttag.version}</newName>
              <skipDockerTag>${skip.docker.push}</skipDockerTag>
            </configuration>
          </execution>
          <execution>
            <id>push-image-latest</id>
            <phase>deploy</phase>
            <goals>
              <goal>push</goal>
            </goals>
            <configuration>
              <imageName>${docker.push.registry}/onap/clamp:${project.docker.latesttag.version}</imageName>
              <skipDockerPush>${skip.docker.push}</skipDockerPush>
            </configuration>
          </execution>
          <execution>
            <id>tag-image</id>
            <phase>package</phase>
            <goals>
              <goal>tag</goal>
            </goals>
            <configuration>
              <image>onap/clamp</image>
              <newName>${docker.push.registry}/onap/clamp:latest</newName>
              <skipDockerTag>${skip.docker.push}</skipDockerTag>
            </configuration>
          </execution>
          <execution>
            <id>push-image</id>
            <phase>deploy</phase>
            <goals>
              <goal>push</goal>
            </goals>
            <configuration>
              <imageName>${docker.push.registry}/onap/clamp:latest</imageName>
              <skipDockerPush>${skip.docker.push}</skipDockerPush>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.19.1</version>
        <configuration>
          <forkCount>1</forkCount>
          <reuseForks>false</reuseForks>
        </configuration>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-failsafe-plugin</artifactId>
        <version>2.16</version>

        <executions>
          <execution>
            <id>integration-tests</id>
            <goals>
              <goal>integration-test</goal>
              <goal>verify</goal>
            </goals>
            <configuration>
            <includes>
              <include>**/*ItCase.java</include>
            </includes>
              <forkCount>1</forkCount>
              <reuseForks>false</reuseForks>
            </configuration>
          </execution>
        </executions>

      </plugin>
      <plugin>
        <groupId>io.fabric8</groupId>
        <artifactId>docker-maven-plugin</artifactId>
        <version>0.16.5</version>
        <configuration>
          <verbose>true</verbose>
          <apiVersion>1.23</apiVersion>
          <images>
            <image>
              <name>mariadb:10.1.11</name>
              <alias>mariadb</alias>
              <run>
                <env>
                  <MYSQL_ROOT_PASSWORD>strong_pitchou</MYSQL_ROOT_PASSWORD>
                </env>
                <hostname>mariadb</hostname>
                <volumes>
                  <bind>
                    <volume>${project.basedir}/extra/sql/:/docker-entrypoint-initdb.d</volume>
                    <volume>${project.basedir}/extra/docker/mariadb/conf1:/etc/mysql/conf.d</volume>
                  </bind>
                </volumes>
                <wait>
                  <log>socket: '/var/run/mysqld/mysqld.sock'  port: 3306  mariadb.org binary distribution</log>
                  <time>600000</time>
                </wait>
                <ports>
                  <port>${docker.mariadb.port.host}:3306</port>
                </ports>
              </run>
            </image>
          </images>
          <skip>${skipITs}</skip>
        </configuration>

        <executions>
          <execution>
            <id>mariadb-start-for-it</id>
            <phase>pre-integration-test</phase>
            <goals>
              <goal>start</goal>
            </goals>
            <configuration>
              <skip>${skipITs}</skip>
            </configuration>
          </execution>
          <execution>
            <id>mariadb-stop-for-it</id>
            <phase>post-integration-test</phase>
            <goals>
              <goal>stop</goal>
            </goals>
            <configuration>
              <skip>${skipITs}</skip>
            </configuration>
          </execution>
        </executions>
      </plugin>

      <plugin>
        <groupId>org.jacoco</groupId>
        <artifactId>jacoco-maven-plugin</artifactId>
        <version>0.7.7.201606060606</version>
        <configuration>
          <dumpOnExit>true</dumpOnExit>
          <includes>
            <include>org.onap.clamp.*</include>
          </includes>
        </configuration>
        <executions>
          <execution>
            <id>pre-unit-test</id>
            <goals>
              <goal>prepare-agent</goal>
            </goals>
            <configuration>
              <destFile>${project.build.directory}/coverage-reports/jacoco.exec</destFile>
              <!-- <append>true</append> -->
            </configuration>
          </execution>
          <execution>
            <id>pre-integration-test</id>
            <phase>pre-integration-test</phase>
            <goals>
              <goal>prepare-agent</goal>
            </goals>
            <configuration>
              <destFile>${project.build.directory}/coverage-reports/jacoco-it.exec</destFile>
              <!-- <append>true</append> -->
            </configuration>
          </execution>
          <execution>
            <goals>
              <goal>merge</goal>
            </goals>
            <phase>post-integration-test</phase>
            <configuration>
              <fileSets>
                <fileSet implementation="org.apache.maven.shared.model.fileset.FileSet">
                  <directory>${project.build.directory}/coverage-reports</directory>
                  <includes>
                    <include>*.exec</include>
                  </includes>
                </fileSet>
              </fileSets>
              <destFile>${project.build.directory}/jacoco-dev.exec</destFile>
            </configuration>
          </execution>
        </executions>
      </plugin>

      <!-- This plugin will be useful when we will have multi-modules project -->
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>versions-maven-plugin</artifactId>
        <version>1.3.1</version>
      </plugin>
    </plugins>
  </build>
  <profiles>
    <profile>
      <id>docker</id>
      <properties>
        <skip.staging.artifacts>true</skip.staging.artifacts>
        <skip.docker.build>false</skip.docker.build>
        <skip.docker.tag>false</skip.docker.tag>
        <skip.docker.push>false</skip.docker.push>
      </properties>
    </profile>
  </profiles>
</project>