<!--
  ~ 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.4.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>
        <mvn.surefire.version>2.19.1</mvn.surefire.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.0b5</bsh.version>
        <cglib.nodep.version>3.2.4</cglib.nodep.version>
        <classmate.version>1.3.3</classmate.version>
        <commons.beanutils.version>1.9.3</commons.beanutils.version>
        <commons.codec.version>1.10</commons.codec.version>
        <commons.collections.version>4.1</commons.collections.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.4.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>
        <gson.version>2.3.1</gson.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.8.10</jackson.version>
        <jackson.annotations.version>${jackson.version}</jackson.annotations.version>
        <jackson.dataformat.version>${jackson.version}</jackson.dataformat.version>
        <jackson.mapper.version>1.9.13</jackson.mapper.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>
        <junit.version>4.12</junit.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>
        <powermock.version>2.0.0-beta.5</powermock.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>1.5.3</swagger.version>
        <testng.version>6.9.10</testng.version>
        <woodstox.version>4.4.1</woodstox.version>
        <ws.rs.version>2.0.1</ws.rs.version>
        <zusammen.version>1.0.1</zusammen.version>
        <zusammen-state-store.version>1.0.1</zusammen-state-store.version>
        <zusammen-collaboration-store.version>1.0.1</zusammen-collaboration-store.version>
        <zusammen-index-store.version>1.0.0</zusammen-index-store.version>
        <build.tools.version>${project.version}</build.tools.version>
        <togglz.version>2.4.1.Final</togglz.version>
    </properties>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
                <version>1.18.2</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}</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</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>junit</groupId>
                <artifactId>junit</artifactId>
                <version>${junit.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>${mvn.surefire.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>