<!--
  ~ Copyright © 2016-2018 European Support Limited
  ~
  ~ 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.
  -->

<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>

  <artifactId>sdc-onboarding</artifactId>
  <packaging>pom</packaging>

  <parent>
    <groupId>org.openecomp.sdc</groupId>
    <artifactId>sdc-main</artifactId>
    <version>1.7.0-SNAPSHOT</version>
  </parent>

  <modules>
    <module>../common</module>
    <module>../openecomp-be</module>
    <module>../openecomp-ui</module>
  </modules>

  <properties>

    <maven.test.redirectTestOutputToFile>true</maven.test.redirectTestOutputToFile>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.targer>1.8</maven.compiler.targer>
    <jacoco.skip>true</jacoco.skip>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

    <!-- Maven plugin versions -->
    <mvn.assembly.version>2.1</mvn.assembly.version>
    <mvn.compiler.version>3.7.0</mvn.compiler.version>
    <mvn.clean.version>2.5</mvn.clean.version>
    <mvn.resource.version>3.1.0</mvn.resource.version>
    <mvn.deploy.version>2.4</mvn.deploy.version>
    <mvn.hub.version>1.4.0</mvn.hub.version>
    <mvn.install.version>2.4</mvn.install.version>
    <mvn.jar.version>2.4</mvn.jar.version>
    <mvn.jaxb2.version>0.13.3</mvn.jaxb2.version>
    <mvn.license.version>1.10</mvn.license.version>
    <mvn.shade.version>2.3</mvn.shade.version>
    <maven.dependency.version>2.8</maven.dependency.version>
    <mvn.swagger.version>3.1.0</mvn.swagger.version>
    <mvn.war.version>2.1.1</mvn.war.version>
    <maven-core.version>3.5.3</maven-core.version>
    <maven-plugin-plugin.version>3.5.1</maven-plugin-plugin.version>
    <maven-plugin-annotations.version>3.5.1</maven-plugin-annotations.version>
    <mvn.antrun.version>1.8</mvn.antrun.version>

    <!-- Onboarding 3rd party versions -->
    <aspectj.version>1.8.9</aspectj.version>
    <aspectjrt.version>${aspectj.version}</aspectjrt.version>
    <bsh.version>2.0b6</bsh.version>
    <cglib.nodep.version>3.2.4</cglib.nodep.version>
    <classmate.version>1.3.3</classmate.version>
    <commons.codec.version>1.10</commons.codec.version>
    <commons.digester.version>2.1</commons.digester.version>
    <commons.io.version>2.5</commons.io.version>
    <commons.lang.version>2.6</commons.lang.version>
    <commons.lang3.version>3.4</commons.lang3.version>
    <cxf.version>3.1.16</cxf.version>
    <datastax.cassandra.version>3.8.0</datastax.cassandra.version>
    <easymock.version>3.4</easymock.version>
    <groovy.version>2.4.8</groovy.version>
    <groovy.minimal.version>1.5.8</groovy.minimal.version>
    <fop.version>2.2</fop.version>
    <freemarker.version>2.3.26-incubating</freemarker.version>
    <hibernate.validator.version>5.3.6.Final</hibernate.validator.version>
    <http.client.version>4.5.3</http.client.version>
    <http.core.version>4.4.1</http.core.version>
    <httpasyncclient.version>4.1.2</httpasyncclient.version>
    <janino.version>2.7.7</janino.version>
    <jaxb.impl.version>2.2.11</jaxb.impl.version>
    <javax.el.version>2.2.4</javax.el.version>
    <javax.el-api.version>3.0.1-b04</javax.el-api.version>
    <javax.inject.version>1</javax.inject.version>
    <javax.servlet.version>2.5</javax.servlet.version>
    <jackson.version>2.9.9</jackson.version>
    <jackson.annotations.version>${jackson.version}</jackson.annotations.version>
    <jackson.dataformat.version>${jackson.version}</jackson.dataformat.version>
    <jcommander.version>1.58</jcommander.version>
    <jetty.servlets.version>9.4.11.v20180605</jetty.servlets.version>
    <jersey.core.version>1.19.1</jersey.core.version>
    <jersey.multipart.version>1.18.1</jersey.multipart.version>
    <logback.version>1.2.3</logback.version>
    <mockito.all.version>1.10.19</mockito.all.version>
    <org.codehaus.jackson.version>1.9.13</org.codehaus.jackson.version>
    <org.everit.json.schema.version>1.5.1</org.everit.json.schema.version>
    <org.reflections.version>0.9.10</org.reflections.version>
    <servlet.version>2.5</servlet.version>
    <slf4j.version>1.7.21</slf4j.version>
    <snakeyaml.version>1.17</snakeyaml.version>
    <spring.framework.version>4.3.18.RELEASE</spring.framework.version>
    <swagger.version>2.0.8</swagger.version>
    <woodstox.version>4.4.1</woodstox.version>
    <zusammen.version>1.0.1</zusammen.version>
    <zusammen-state-store.version>1.0.2</zusammen-state-store.version>
    <zusammen-collaboration-store.version>1.0.2</zusammen-collaboration-store.version>
    <zusammen-index-store.version>1.0.0</zusammen-index-store.version>
    <build.tools.version>${project.version}</build.tools.version>
    <bouncycastle.version>1.61</bouncycastle.version>
  </properties>

  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>${lombok.version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>${spring.framework.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>${spring.framework.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-text</artifactId>
        <version>1.3</version>
      </dependency>
      <dependency>
        <groupId>com.beust</groupId>
        <artifactId>jcommander</artifactId>
        <version>${jcommander.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpasyncclient</artifactId>
        <version>${httpasyncclient.version}</version>
      </dependency>
      <dependency>
        <groupId>com.sun.xml.bind</groupId>
        <artifactId>jaxb-impl</artifactId>
        <version>${jaxb.impl.version}</version>
      </dependency>
      <dependency>
        <groupId>org.beanshell</groupId>
        <artifactId>bsh</artifactId>
        <version>${bsh.version}</version>
      </dependency>
      <dependency>
        <groupId>commons-digester</groupId>
        <artifactId>commons-digester</artifactId>
        <version>${commons.digester.version}</version>
      </dependency>
      <dependency>
        <groupId>com.fasterxml</groupId>
        <artifactId>classmate</artifactId>
        <version>${classmate.version}</version>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>${slf4j.version}</version>
      </dependency>
      <dependency>
        <groupId>org.codehaus.groovy</groupId>
        <artifactId>groovy-all-minimal</artifactId>
        <version>${groovy.minimal.version}</version>
      </dependency>
      <dependency>
        <groupId>org.codehaus.janino</groupId>
        <artifactId>janino</artifactId>
        <version>${janino.version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-annotations</artifactId>
        <version>${jackson.annotations.version}</version>
      </dependency>
      <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-core</artifactId>
        <version>${jackson.version}</version>
      </dependency>
      <dependency>
        <groupId>org.aspectj</groupId>
        <artifactId>aspectjrt</artifactId>
        <version>${aspectjrt.version}</version>
      </dependency>
      <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>${servlet-api.version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>commons-beanutils</groupId>
        <artifactId>commons-beanutils</artifactId>
        <version>${commons-beanutils}</version>
      </dependency>
      <dependency>
        <groupId>com.google.code.findbugs</groupId>
        <artifactId>annotations</artifactId>
        <version>3.0.1u2</version>
      </dependency>
      <dependency>
        <groupId>cglib</groupId>
        <artifactId>cglib-nodep</artifactId>
        <version>${cglib.nodep.version}</version>
      </dependency>
      <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-classic</artifactId>
        <version>${logback.version}</version>
      </dependency>
      <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-core</artifactId>
        <version>${logback.version}</version>
      </dependency>
      <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>${jackson.version}</version>
      </dependency>
      <dependency>
        <groupId>com.fasterxml.jackson.dataformat</groupId>
        <artifactId>jackson-dataformat-yaml</artifactId>
        <version>${jackson.version}</version>
      </dependency>
      <dependency>
        <groupId>commons-codec</groupId>
        <artifactId>commons-codec</artifactId>
        <version>${commons.codec.version}</version>
      </dependency>
      <dependency>
        <groupId>com.datastax.cassandra</groupId>
        <artifactId>cassandra-driver-core</artifactId>
        <version>${datastax.cassandra.version}</version>
      </dependency>
      <dependency>
        <groupId>com.datastax.cassandra</groupId>
        <artifactId>cassandra-driver-mapping</artifactId>
        <version>${datastax.cassandra.version}</version>
      </dependency>
      <dependency>
        <groupId>javax.ws.rs</groupId>
        <artifactId>javax.ws.rs-api</artifactId>
        <version>${ws.rs.version}</version>
      </dependency>
      <dependency>
        <groupId>com.google.code.gson</groupId>
        <artifactId>gson</artifactId>
        <version>${gson.version}</version>
      </dependency>
      <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>${commons.io.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-lang3</artifactId>
        <version>${commons.lang3.version}</version>
      </dependency>
      <dependency>
        <groupId>io.swagger.core.v3</groupId>
        <artifactId>swagger-annotations</artifactId>
        <version>${swagger.version}</version>
      </dependency>
      <dependency>
        <groupId>com.github.tomakehurst</groupId>
        <artifactId>wiremock</artifactId>
        <version>${wire-mock.version}</version>
      </dependency>
      <dependency>
        <groupId>org.testng</groupId>
        <artifactId>testng</artifactId>
        <version>${testng.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.mockito</groupId>
        <artifactId>mockito-all</artifactId>
        <version>${mockito.all.version}</version>
        <scope>test</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <version>${mvn.jar.version}</version>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-clean-plugin</artifactId>
        <version>${mvn.clean.version}</version>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>${maven-surefire-plugin.version}</version>
        <configuration>
          <forkCount>${fork.count}</forkCount>
          <forkMode>${fork.mode}</forkMode>
          <printSummary>false</printSummary>
          <additionalClasspathElements>
            <additionalClasspathElement>${project.basedir}/src/test/resources
            </additionalClasspathElement>
          </additionalClasspathElements>
          <systemPropertyVariables>
            <logback.configurationFile>src/test/resources/logback-test.xml
            </logback.configurationFile>
            <config.location>${project.basedir}/configuration</config.location>
          </systemPropertyVariables>
          <useSystemClassLoader>${useSystemClassLoader}</useSystemClassLoader>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-install-plugin</artifactId>
        <version>${mvn.install.version}</version>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-resources-plugin</artifactId>
        <version>${mvn.resource.version}</version>
      </plugin>
    </plugins>
    <testResources>
      <testResource>
        <directory>src/test/resources</directory>
        <excludes>
          <exclude>**/*</exclude>
        </excludes>
      </testResource>
    </testResources>
  </build>

</project>