<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>1.1.0</version>
    <relativePath />
  </parent>
  <groupId>org.onap.so</groupId>
  <artifactId>so</artifactId>
  <packaging>pom</packaging>
  <version>1.2.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>OPENECOMP - MSO</name>
    <url>http://www.onap.org/</url>
  </organization>
  <modules>
    <module>common</module>
    <module>cloudify-client</module>
    <module>mso-api-handlers</module>
    <module>mso-catalog-db</module>
    <module>adapters</module>
    <module>asdc-controller</module>
    <module>status-control</module>
    <module>bpmn</module>
    <module>packages</module>
    <module>aria</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.jacoco.reportPath>${project.build.directory}/coverage-reports/jacoco.exec</sonar.jacoco.reportPath>
    <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>
    <org.apache.maven.user-settings></org.apache.maven.user-settings>
    <!-- this is used for Chef mso-code cookbook -->
    <swm.version>2.19.3-1</swm.version>
	<openstack.version>1.2.1</openstack.version>
    <nexusproxy>https://nexus.onap.org</nexusproxy>
    <maven.build.timestamp.format>yyyyMMdd'T'HHmm</maven.build.timestamp.format>
    <resteasy.version>3.0.19.Final</resteasy.version>
  </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/so/${project.version}</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>
      <name>Restlet Repository</name>
      <url>http://maven.restlet.com</url>
    </pluginRepository>
  </pluginRepositories>
  <repositories>
    <repository>
      <id>Onap public</id>
      <url>https://nexus.onap.org/content/groups/public/</url>
      <name>Onap public</name>
    </repository>
    <repository>
      <id>JBOSS</id>
      <name>JBoss Repository</name>
      <url>http://repository.jboss.org/nexus/content/groups/public-jboss/</url>
    </repository>
    <repository>
      <id>opendaylight-mirror</id>
      <name>opendaylight-mirror</name>
      <url>https://nexus.opendaylight.org/content/repositories/public/</url>
      <releases>
      <enabled>true</enabled>
      <updatePolicy>never</updatePolicy>
      </releases>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>
    <repository>
      <id>jboss-deprecated-repository</id>
      <name>JBoss Deprecated Maven Repository</name>
      <url>https://repository.jboss.org/nexus/content/repositories/deprecated/</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>
    <!-- Camunda Web Repository -->
    <repository>
      <id>CamundaWebRepo</id>
      <url>https://app.camunda.com/nexus/content/repositories/camunda-bpm/</url>
      <name>Camunda Web Repository</name>
    </repository>
    <repository>
      <id>CamundaPublicRepo</id>
      <url>https://app.camunda.com/nexus/content/groups/public</url>
      <name>Camunda Public repository</name>
    </repository>

    <repository>
      <id>soapUI</id>
      <url>http://www.soapui.org/repository/maven2/</url>
      <name>SoapUI plugin</name>
    </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-surefire-plugin</artifactId>
        <version>2.19.1</version>
        <configuration>
          <argLine>${surefireArgLine}</argLine>
          <!-- <forkCount>2C</forkCount> <reuseForks>true</reuseForks> -->
          <excludes>
            <exclude>**/IT*.java</exclude>
          </excludes>
        </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>
        </configuration>
      </plugin>
      <!-- <plugin> -->
      <!-- <groupId>org.codehaus.mojo</groupId> -->
      <!-- <artifactId>sonar-maven-plugin</artifactId> -->
      <!-- <version>2.1</version> -->
      <!-- </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>
          <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>3.2</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>org.codehaus.mojo</groupId>
        <artifactId>jboss-packaging-maven-plugin</artifactId>
        <version>2.2</version>
        <!-- <configuration> <archive> <manifest> <addClasspath>true</addClasspath> 
          </manifest> </archive> </configuration> Enable 'jboss-sar', etc., as a recoginized 
          maven packaging type -->
        <extensions>true</extensions>
      </plugin>
      <plugin>
        <groupId>org.jacoco</groupId>
        <artifactId>jacoco-maven-plugin</artifactId>
        <version>0.7.7.201606060606</version>
        <configuration>
          <dumpOnExit>true</dumpOnExit>
          <includes>
            <include>org.openecomp.*</include>
          </includes>
        </configuration>
        <executions>
          <execution>
            <id>pre-unit-test</id>
            <goals>
              <goal>prepare-agent</goal>
            </goals>
            <configuration>
              <destFile>${sonar.jacoco.reportPath}</destFile>
              <propertyName>surefireArgLine</propertyName>
            </configuration>
          </execution>
        </executions>
      </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>
    </plugins>
  </build>
  <!-- *********************************************************************************************************** -->
  <!-- Dependencies -->
  <dependencies>
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-core</artifactId>
      <version>2.8.7</version>
    </dependency>
    <dependency>
      <groupId>com.fasterxml.jackson.module</groupId>
      <artifactId>jackson-module-jaxb-annotations</artifactId>
      <version>2.4.0</version>
    </dependency>
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-databind</artifactId>
      <version>2.8.7</version>
    </dependency>
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-annotations</artifactId>
      <version>2.8.7</version>
    </dependency>
    <dependency>
        <groupId>com.fasterxml.jackson.jaxrs</groupId>
        <artifactId>jackson-jaxrs-base</artifactId>
        <version>2.9.2</version>
    </dependency>
    <dependency>
        <groupId>com.fasterxml.jackson.jaxrs</groupId>
        <artifactId>jackson-jaxrs-providers</artifactId>
        <version>2.9.2</version>
        <type>pom</type>
    </dependency>
    <dependency>
      <groupId>org.jboss.resteasy</groupId>
      <artifactId>resteasy-jaxrs</artifactId>
      <version>${resteasy.version}</version>
      <scope>provided</scope>
      <exclusions>
        <exclusion>
           <groupId>org.slf4j</groupId>
           <artifactId>slf4j-api</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.slf4j</groupId>
          <artifactId>slf4j-simple</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.apache.httpcomponents</groupId>
          <artifactId>httpclient</artifactId>
        </exclusion>
          </exclusions>
    </dependency>
    <dependency>
       <groupId>org.jboss.resteasy</groupId>
       <artifactId>resteasy-client</artifactId>
       <version>${resteasy.version}</version>
       <scope>provided</scope>
       <exclusions>
         <exclusion>
           <groupId>org.apache.httpcomponents</groupId>
           <artifactId>httpclient</artifactId>
         </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.jboss.resteasy</groupId>
      <artifactId>resteasy-jackson2-provider</artifactId>
      <version>3.1.0.Final</version>
    </dependency>
	<dependency>
		<groupId>org.hamcrest</groupId>
		<artifactId>hamcrest-core</artifactId>
		<version>1.3</version>
	</dependency>
	<dependency>
		<groupId>org.hamcrest</groupId>
		<artifactId>hamcrest-all</artifactId>
		<version>1.3</version>
	</dependency>
	<dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.12</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.jmockit</groupId>
      <artifactId>jmockit</artifactId>
      <version>1.19</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.jmockit</groupId>
      <artifactId>jmockit-coverage</artifactId>
      <version>1.19</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.powermock</groupId>
      <artifactId>powermock-api-mockito</artifactId>
      <version>1.6.2</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.powermock</groupId>
      <artifactId>powermock-module-junit4</artifactId>
      <version>1.6.2</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>com.github.tomakehurst</groupId>
      <artifactId>wiremock</artifactId>
      <version>1.56</version>
      <scope>test</scope>
      <classifier>standalone</classifier>
      <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>org.jboss.resteasy</groupId>
      <artifactId>tjws</artifactId>
      <version>${resteasy.version}</version>
      <scope>test</scope>
    </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>httpclient</artifactId>
        <version>4.5.5</version>
        <scope>compile</scope>
      </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.10</version>
        <scope>compile</scope>
      </dependency>
      <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>2.5</version>
        <scope>compile</scope>
      </dependency>
      <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.17</version>
        <scope>compile</scope>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>1.7.10</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.mockito</groupId>
		<artifactId>mockito-core</artifactId>
		<version>1.10.19</version>
		<scope>test</scope>
	  </dependency>
    </dependencies>
  </dependencyManagement>
</project>