<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.2.0-SNAPSHOT</version>
    </parent>

    <modules>
        <module>../openecomp-be/tools/artifact-copy-plugin</module>
        <module>../openecomp-be/tools/compile-helper-plugin</module>
        <module>../openecomp-be/tools/pmd-helper-plugin</module>
        <module>../common</module>
        <module>../openecomp-be</module>
        <module>../openecomp-be/tools/build-data-helper</module>
        <module>../openecomp-be/tools/build-data-installer</module>
        <module>../openecomp-ui</module>
    </modules>

    <properties>
        <!-- Maven plugin versions -->
        <jacoco.version>0.7.9</jacoco.version>
        <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 artifacts version -->
        <openecomp.sdc.common.version>${project.version}</openecomp.sdc.common.version>

        <!-- Onboarding 3rd party versions -->
        <aspectj.version>1.8.9</aspectj.version>
        <bsh.version>2.0b5</bsh.version>
        <cassandra.version>2.1.9</cassandra.version>
        <cglib.nodep.version>3.2.4</cglib.nodep.version> <!--old : 2.1_3. new 3.2.4 -->
        <classmate.version>1.3.3</classmate.version>
        <commons.beanutils.version>1.9.3</commons.beanutils.version>
        <commons.codec.version>1.10
        </commons.codec.version> <!-- orignal 1.6 updated to resolve blackduck violation -->
        <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> <!-- orignal 2.5. updated to resolve blackduck violation -->
        <commons.lang3.version>3.4</commons.lang3.version>
        <cxf.version>3.1.8</cxf.version>
        <datasatx.version>2.1.9</datasatx.version>
        <easymock.version>3.4</easymock.version>
        <groovy.version>2.4.7</groovy.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.3.Final
        </hibernate.validator.version> <!--5.3.1.Final changed to 5.3.3.Final to include jboss-logging 3.3.0.Final for 1702 -->
        <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>
        <java.source>1.8</java.source>
        <java.target>1.8</java.target>
        <javax.el.version>2.2.4</javax.el.version>
        <javax.el-api.version>3.0.1-b04
        </javax.el-api.version> <!-- orignal 2.2.4 updated to resolve blackduck violation -->
        <javax.inject.version>1</javax.inject.version>
        <javax.servlet.version>2.5</javax.servlet.version>
        <jackson.version>2.8.1</jackson.version>
        <jackson.annotations.version>2.7.4</jackson.annotations.version>
        <jackson.dataformat.version>2.7.4</jackson.dataformat.version>
        <jackson.mapper.version>1.9.13</jackson.mapper.version>
        <jcommander.version>1.58</jcommander.version>
        <jetty.servlets.version>9.0.6.v20130930</jetty.servlets.version>
        <jersey.core.version>1.19.1</jersey.core.version>
        <jersey.multipart.version>1.18.1</jersey.multipart.version>
        <junit.version>RELEASE</junit.version>
        <logback.version>1.1.2</logback.version>
        <mockito.all.version>1.10.19</mockito.all.version>
        <org.codehaus.jackson.version>1.9.13</org.codehaus.jackson.version> <!-- orignal 1.9.2 -->
        <org.everit.json.schema.version>1.5.1
        </org.everit.json.schema.version> <!--new 1.4.1 orignal 1.3.0 updated to resolve blackduck violation -->
        <org.reflections.version>0.9.10
        </org.reflections.version> <!-- orignal 0.9.9 updated to resolve blackduck violation -->
        <powermock.version>1.6.5</powermock.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <servlet.version>2.5</servlet.version>
        <slf4j.version>1.7.21</slf4j.version>
        <snakeyaml.version>1.17</snakeyaml.version>
        <spring.framework.version>4.3.15.RELEASE</spring.framework.version> <!-- orignal 4.0.7.RELEASE 4.1.3.RELEASE-->
        <swagger.version>1.5.3</swagger.version>
        <testng.version>6.9.10</testng.version> <!--new 6.9.13.6 still shows blackduck risk -->
        <woodstox.version>4.4.1</woodstox.version>
        <ws.rs.version>2.0.1
        </ws.rs.version>  <!--  New version 2.0.1 to fix blackduck violation Failing with comiplation issues-->
        <zusammen.version>0.3.0</zusammen.version>
        <zusammen-state-store.version>0.3.0</zusammen-state-store.version>
        <zusammen-collaboration-store.version>0.3.2</zusammen-collaboration-store.version>
        <zusammen-index-store.version>0.3.0</zusammen-index-store.version>
        <pmd.version>5.8.1</pmd.version>
        <build.tools.version>${project.version}</build.tools.version>
        <togglz.version>2.4.1.Final</togglz.version>
        <jacoco.skip>true</jacoco.skip>
        <maven.pmd.plugin.version>3.9.0</maven.pmd.plugin.version>
        <pmd.java.version>6.3.0</pmd.java.version>
        <pmd.core.version>6.3.0</pmd.core.version>
    </properties>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
                <version>1.16.20</version>
                <scope>provided</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>${mvn.jar.version}</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>test-jar</goal>
                        </goals>
                        <phase>none</phase>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-clean-plugin</artifactId>
                <version>${mvn.clean.version}</version>
                <configuration>
                    <excludeDefaultDirectories>true</excludeDefaultDirectories>
                    <filesets>
                        <fileset>
                            <directory>${project.build.directory}</directory>
                            <excludes>
                                <exclude>${classes}</exclude>
                                <exclude>${testClasses}</exclude>
                                <exclude>${mavenStatus}</exclude>
                                <exclude>${customGeneratedSources}</exclude>
                                <exclude>build-data/**</exclude>
                            </excludes>
                        </fileset>
                    </filesets>
                </configuration>
            </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>
                    <redirectTestOutputToFile>true</redirectTestOutputToFile>
                    <additionalClasspathElements>
                        <additionalClasspathElement>${project.basedir}/src/test/resources</additionalClasspathElement>
                    </additionalClasspathElements>
                    <systemPropertyVariables>
                        <logback.configurationFile>src/test/resources/logback-test.xml</logback.configurationFile>
                        <artifactgenerator.config>
                            ${project.basedir}/src/test/resources/config/Artifact-Generator.properties
                        </artifactgenerator.config>
                        <config.location>${project.basedir}/configuration</config.location>
                    </systemPropertyVariables>
                    <useSystemClassLoader>${useSystemClassLoader}</useSystemClassLoader>
                    <skip>${skipTestRun}</skip>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-install-plugin</artifactId>
                <version>${mvn.install.version}</version>
                <configuration>
                    <skip>${skipInstall}</skip>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <version>${mvn.resource.version}</version>
                <configuration>
                    <skip>${skipResourceCollection}</skip>
                </configuration>
            </plugin>
        </plugins>
        <testResources>
            <testResource>
                <directory>src/test/resources</directory>
                <excludes>
                    <exclude>**/*</exclude>
                </excludes>
            </testResource>
        </testResources>
    </build>

</project>
