<!--
  ~ 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.8.1-SNAPSHOT</version>
  </parent>

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

  <properties>

    <maven.test.redirectTestOutputToFile>true</maven.test.redirectTestOutputToFile>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

    <!-- Maven plugin versions -->
    <mvn.assembly.version>2.1</mvn.assembly.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.3.6</cxf.version>
    <datastax.cassandra.version>3.8.0</datastax.cassandra.version>
    <easymock.version>3.4</easymock.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>
    <com.sun.xml.version>2.3.3</com.sun.xml.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.annotations.version>${jackson.version}</jackson.annotations.version>
    <jackson.dataformat.version>${jackson.version}</jackson.dataformat.version>
    <jcommander.version>1.58</jcommander.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.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>
    <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.2</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>
    <zusammen-common-utilities.version>1.0.3</zusammen-common-utilities.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>${apache-commons-text.version}</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>${com.sun.xml.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>
        <exclusions>
          <exclusion>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-core</artifactId>
          </exclusion>
        </exclusions>
      </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>
    </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>
        <configuration>
          <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>
        </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>
