<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'HHmmss'Z'</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>
