<!--
============LICENSE_START=======================================================
SDC
================================================================================
Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
================================================================================
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.
============LICENSE_END=========================================================
Modifications copyright (c) 2018-2019 Nokia
================================================================================
-->
<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>

    <groupId>org.openecomp.sdc</groupId>
    <artifactId>sdc-main</artifactId>
    <version>1.12.0-SNAPSHOT</version>
    <packaging>pom</packaging>
    <name>sdc</name>

    <parent>
        <groupId>org.onap.oparent</groupId>
        <artifactId>oparent</artifactId>
        <version>3.2.0</version>
        <relativePath/>
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.build.timestamp.format>yyyyMMdd'T'HHmmss'Z'</maven.build.timestamp.format>

        <tosca.datatype.version>${project.version}</tosca.datatype.version>
        <!-- 3rd parties versions -->
        <bean-matcher.version>0.11</bean-matcher.version>
        <lang3.version>3.10</lang3.version>
        <guava.version>30.1-jre</guava.version>
        <janusgraph.version>0.3.3</janusgraph.version>
        <spring.version>5.3.20</spring.version>
        <spring.boot.version>2.2.13.RELEASE</spring.boot.version>

        <!-- update to 2.36 bring error-->
        <!-- java.lang.NoClassDefFoundError: com/fasterxml/jackson/databind/AnnotationIntrospector$XmlExtensions-->
        <jersey-bom.version>2.34</jersey-bom.version>
        <jakarta.el.version>3.0.4</jakarta.el.version>

        <netty.version>4.1.77.Final</netty.version>
        <servlet-api.version>4.0.1</servlet-api.version>
        <wire-mock.version>2.26.3</wire-mock.version>
        <ecomp.version>3.4.0</ecomp.version>
        <cassandra.unit.version>4.3.1.0</cassandra.unit.version>
        <cadi.version>2.1.8</cadi.version>
        <lombok.version>1.18.24</lombok.version>
        <commons-beanutils>1.9.4</commons-beanutils>
        <commons.io.version>2.8.0</commons.io.version>
        <commons-configuration>2.8.0</commons-configuration>
        <apache-poi.version>4.1.0</apache-poi.version>
        <onap.logging.version>1.6.1</onap.logging.version>
        <apache-commons-text.version>1.10.0</apache-commons-text.version>
        <jaxb-api.version>2.3.1</jaxb-api.version>
        <io.vavr.version>0.10.3</io.vavr.version>
        <groovy.version>3.0.7</groovy.version>
        <swagger-core-mvn-plugin.version>2.1.7</swagger-core-mvn-plugin.version>
        <maven-antrun-plugin.version>3.0.0</maven-antrun-plugin.version>
        <hibernate.validator.version>6.1.6.Final</hibernate.validator.version>
        <org.json.version>20220320</org.json.version>

        <commons.collections.version>4.3</commons.collections.version>
        <ws.rs.version>2.1.1</ws.rs.version>
        <javax.validation.version>2.0.1.Final</javax.validation.version>
        <javax.servlet.version>${servlet-api.version}</javax.servlet.version>

        <jetty.version>9.4.49.v20220914</jetty.version>
        <jetty-distribution.version>${jetty.version}</jetty-distribution.version>
        <cxf.version>3.4.4</cxf.version>

        <org.owasp.esapi.version>2.4.0.0</org.owasp.esapi.version>
        <org.dom4j.version>2.1.3</org.dom4j.version>

        <!-- JSON and YAML Parsing -->
        <jackson.version>2.12.7</jackson.version>
        <jackson-annotations.version>${jackson.version}</jackson-annotations.version>

        <clearspring.version>2.1.1</clearspring.version>
        <skipYamlJsonValidator>false</skipYamlJsonValidator>

        <!-- Yaml for properties -->
        <snakeyaml.version>1.29</snakeyaml.version>
        <functionaljava.version>4.9</functionaljava.version>
        <httpclient.version>4.5.13</httpclient.version>
        <httpcore.version>4.4.15</httpcore.version>
        <json-simple.version>1.1</json-simple.version>

        <!-- PM Dictionary validation -->
        <onap.vnfsdk.validation.pmdictionary.version>1.2.15
        </onap.vnfsdk.validation.pmdictionary.version>

        <!-- Logging start -->
        <!-- logback -->
        <logback.version>1.2.10</logback.version>
        <slf4j-api.version>1.7.25</slf4j-api.version>
        <commons-codec>1.15</commons-codec>
        <commons-logging>1.2</commons-logging>
        <janino.version>3.0.6</janino.version>

        <!-- aspects -->
        <jcabi.version>0.20.1</jcabi.version>
        <aspectj.version>1.9.7</aspectj.version>
        <aspectjrt.version>${aspectj.version}</aspectjrt.version>
        <jcabi.maven.plugin.version>0.13.2</jcabi.maven.plugin.version>

        <!-- Logging end -->
        <!-- System Metrics -->
        <sigar.version>1.6.4</sigar.version>

        <!--GSON-->
        <gson.version>2.8.9</gson.version>

        <!--listen to file changes-->
        <commons-jci-core.version>1.1</commons-jci-core.version>

        <!--TESTING-->
        <mockito.version>3.7.7</mockito.version>
        <mockitoJupiter.version>${mockito.version}</mockitoJupiter.version>
        <jmockit.version>1.35</jmockit.version>
        <junit.platform.version>1.7.1</junit.platform.version>
        <junitJupiter.version>5.7.2</junitJupiter.version>
        <assertj.version>3.16.0</assertj.version>
        <testng.version>7.4.0</testng.version>
        <cucumber.version>6.8.1</cucumber.version>
        <bean-matchers.version>0.11</bean-matchers.version>
        <hamcrest.version>2.2</hamcrest.version>
        <hamcrest-all.version>1.3</hamcrest-all.version>
        <maven-surefire-plugin.version>2.22.2</maven-surefire-plugin.version>
        <jMapper.version>1.6.0.1</jMapper.version>

        <!-- sonar -->
        <sonar.projectVersion>${project.version}</sonar.projectVersion>
        <sonar.nodejs.executable>${project.basedir}/node/node</sonar.nodejs.executable>
        <sonar.surefire.reportsPath>${project.build.directory}/surefire-reports
        </sonar.surefire.reportsPath>
        <sonar.javascript.lcov.reportPaths>${project.build.directory}/code-coverage/lcov.info
        </sonar.javascript.lcov.reportPaths>
        <sonar.coverage.jacoco.xmlReportPaths>
            ${project.reporting.outputDirectory}/jacoco-ut/jacoco.xml
        </sonar.coverage.jacoco.xmlReportPaths>
        <sonar.sourceEncoding>${project.build.sourceEncoding}</sonar.sourceEncoding>
        <sonar.projectBaseDir>${project.basedir}</sonar.projectBaseDir>
        <sonar.coverage.exclusions>pom.xml,src/test</sonar.coverage.exclusions>
        <!--cassandra -->
        <cassandra.driver.version>3.8.0</cassandra.driver.version>
        <!-- maven central (Nexus) -->
        <nexus.id.release>nexus</nexus.id.release>
        <nexus.id.snapshot>nexus</nexus.id.snapshot>

        <!--nexus-->
        <npm.registry>https://nexus3.onap.org/repository/npm.public/npm/-/</npm.registry>
        <nexus.proxy>https://nexus.onap.org</nexus.proxy>
        <sitePath>/content/sites/site/org/openecomp/sdc/${project.version}</sitePath>
        <staging.profile.id>176c31dfe190a</staging.profile.id>
        <!--togglz version-->
        <togglz.version>2.6.1.Final</togglz.version>

        <joda.time.version>2.9.9</joda.time.version>

        <!--sdc-security-utils-->
        <security.util.lib.version>1.7.1</security.util.lib.version>
        <!--jacoco-->
        <jacoco.version>0.8.7</jacoco.version>

        <java.driver.core.version>4.14.1</java.driver.core.version>

        <!-- Surefire parameters  -->
        <surefire.forkCount>1C</surefire.forkCount>
        <surefire.reuseForks>true</surefire.reuseForks>
        <surefire.skip.tests>false</surefire.skip.tests>

        <bouncycastle.version>1.69</bouncycastle.version>

        <!--DOCKER-->
        <docker.api.version>1.41</docker.api.version>
        <docker.namespace>onap</docker.namespace>
        <docker.password>docker</docker.password>
        <docker.username>docker</docker.username>
        <docker.registry>nexus3.onap.org:10001</docker.registry>

        <micrometer.version>1.8.4</micrometer.version>

        <minio.version>8.3.4</minio.version>
        <okhttp.version>4.9.3</okhttp.version>

        <jsoup.version>1.15.3</jsoup.version>

        <verbose>false</verbose>
    </properties>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.apache.kafka</groupId>
                <artifactId>kafka-clients</artifactId>
                <version>3.3.1</version>
            </dependency>
            <dependency>
                <groupId>com.google.guava</groupId>
                <artifactId>guava</artifactId>
                <version>${guava.version}</version>
            </dependency>

            <dependency>
                <groupId>org.glassfish.jersey.ext</groupId>
                <artifactId>jersey-bean-validation</artifactId>
                <version>${jersey-bom.version}</version>
            </dependency>

            <dependency>
                <groupId>org.glassfish.hk2.external</groupId>
                <artifactId>asm-all-repackaged</artifactId>
                <version>2.4.0</version>
            </dependency>

            <dependency>
                <groupId>org.assertj</groupId>
                <artifactId>assertj-core</artifactId>
                <version>${assertj.version}</version>
            </dependency>

            <dependency>
                <groupId>org.jmockit</groupId>
                <artifactId>jmockit</artifactId>
                <version>${jmockit.version}</version>
            </dependency>

            <dependency>
                <groupId>com.github.tomakehurst</groupId>
                <artifactId>wiremock-standalone</artifactId>
                <version>${wire-mock.version}</version>
            </dependency>

            <dependency>
                <groupId>io.cucumber</groupId>
                <artifactId>cucumber-java</artifactId>
                <version>${cucumber.version}</version>
            </dependency>

            <dependency>
                <groupId>io.cucumber</groupId>
                <artifactId>cucumber-junit</artifactId>
                <version>${cucumber.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-lang3</artifactId>
                <version>${lang3.version}</version>
            </dependency>
            <dependency>
                <groupId>org.codehaus.groovy</groupId>
                <artifactId>groovy</artifactId>
                <version>${groovy.version}</version>
            </dependency>
            <dependency>
                <groupId>io.netty</groupId>
                <artifactId>netty-all</artifactId>
                <version>${netty.version}</version>
            </dependency>
            <dependency>
                <groupId>io.netty</groupId>
                <artifactId>netty-handler</artifactId>
                <version>${netty.version}</version>
            </dependency>
            <dependency>
                <groupId>io.swagger.core.v3</groupId>
                <artifactId>swagger-maven-plugin</artifactId>
                <version>${swagger-core-mvn-plugin.version}</version>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <dependencies>
        <dependency>
            <!-- must be on the classpath -->
            <groupId>org.jacoco</groupId>
            <artifactId>org.jacoco.agent</artifactId>
            <classifier>runtime</classifier>
            <version>${jacoco.version}</version>
            <scope>test</scope>
        </dependency>
        <!--JUnit Jupiter Engine to depend on the JUnit5 engine and JUnit 5 API -->
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-engine</artifactId>
            <version>${junitJupiter.version}</version>
            <scope>test</scope>
        </dependency>
        <!--JUnit Jupiter Engine to depend on the JUnit4 engine and JUnit 4 API  -->
        <dependency>
            <groupId>org.junit.vintage</groupId>
            <artifactId>junit-vintage-engine</artifactId>
            <version>${junitJupiter.version}</version>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-core</artifactId>
            <version>${mockito.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-inline</artifactId>
            <version>${mockito.version}</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <reporting>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <version>3.0.1</version>
                <configuration>
                    <failOnError>false</failOnError>
                    <doclet>org.umlgraph.doclet.UmlGraphDoc</doclet>
                    <docletArtifact>
                        <groupId>org.umlgraph</groupId>
                        <artifactId>umlgraph</artifactId>
                        <version>5.6</version>
                    </docletArtifact>
                    <useStandardDocletOptions>true</useStandardDocletOptions>
                </configuration>
            </plugin>
        </plugins>
    </reporting>

    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.jacoco</groupId>
                    <artifactId>jacoco-maven-plugin</artifactId>
                    <version>${jacoco.version}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-assembly-plugin</artifactId>
                    <version>3.1.0</version>
                    <configuration>
                        <tarLongFileMode>posix</tarLongFileMode>
                    </configuration>
                </plugin>

                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>exec-maven-plugin</artifactId>
                    <version>1.6.0</version>
                </plugin>
                <plugin>
                    <groupId>org.sonarsource.scanner.maven</groupId>
                    <artifactId>sonar-maven-plugin</artifactId>
                    <version>3.7.0.1746</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-clean-plugin</artifactId>
                    <version>3.1.0</version>
                </plugin>
                <plugin>
                    <groupId>ru.yaal.maven</groupId>
                    <artifactId>write-text-files-maven-plugin</artifactId>
                    <version>1.1</version>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.gmaven</groupId>
                    <artifactId>gmaven-plugin</artifactId>
                    <version>1.5</version>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>build-helper-maven-plugin</artifactId>
                    <version>3.2.0</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-deploy-plugin</artifactId>
                    <version>2.8.2</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-shade-plugin</artifactId>
                    <version>3.1.1</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-resources-plugin</artifactId>
                    <version>3.2.0</version>
                </plugin>
                <plugin>
                    <groupId>io.fabric8</groupId>
                    <artifactId>docker-maven-plugin</artifactId>
                    <version>0.38.0</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-jar-plugin</artifactId>
                    <version>3.2.0</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-war-plugin</artifactId>
                    <version>3.3.2</version>
                </plugin>
                <plugin>
                    <groupId>com.github.eirslett</groupId>
                    <artifactId>frontend-maven-plugin</artifactId>
                    <version>1.12.0</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>${maven-surefire-plugin.version}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-failsafe-plugin</artifactId>
                    <version>${maven-surefire-plugin.version}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.8.1</version>
                </plugin>
                <plugin>
                    <groupId>com.github.sylvainlaurent.maven</groupId>
                    <artifactId>yaml-json-validator-maven-plugin</artifactId>
                    <version>1.0.2</version>
                </plugin>
                <plugin>
                    <groupId>pl.project13.maven</groupId>
                    <artifactId>git-commit-id-plugin</artifactId>
                    <version>4.0.0</version>
                </plugin>
            </plugins>
        </pluginManagement>

        <plugins>
            <plugin>
                <artifactId>maven-checkstyle-plugin</artifactId>
                <version>2.17</version>
                <configuration>
                    <suppressionsLocation>checkstyle-suppressions.xml</suppressionsLocation>
                    <suppressionsFileExpression>checkstyle.suppressions.file
                    </suppressionsFileExpression>
                    <skip>${checkstyle.skip}</skip>
                </configuration>
            </plugin>
            <!-- plugin for parsing the project version -->
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>build-helper-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <id>parse-version</id>
                        <phase>pre-clean</phase>
                        <goals>
                            <goal>parse-version</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

            <!-- Java Code Coverage -->
            <plugin>
                <groupId>org.jacoco</groupId>
                <artifactId>jacoco-maven-plugin</artifactId>
                <inherited>false</inherited>
                <executions>
                    <execution>
                        <id>default-instrument</id>
                        <goals>
                            <goal>instrument</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>default-restore-instrumented-classes</id>
                        <goals>
                            <goal>restore-instrumented-classes</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>default-report</id>
                        <goals>
                            <goal>report</goal>
                        </goals>
                        <configuration>
                            <dataFile>${project.build.directory}/jacoco.exec</dataFile>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-site-plugin</artifactId>
                <version>3.7.1</version>
                <dependencies>
                    <dependency>
                        <groupId>org.apache.maven.wagon</groupId>
                        <artifactId>wagon-webdav-jackrabbit</artifactId>
                        <version>3.0.0</version>
                    </dependency>
                </dependencies>
            </plugin>

            <!-- Set the deployment repositories properties. -->
            <plugin>
                <groupId>org.codehaus.gmaven</groupId>
                <artifactId>gmaven-plugin</artifactId>
                <executions>
                    <execution>
                        <inherited>false</inherited>
                        <phase>integration-test</phase>
                        <goals>
                            <goal>execute</goal>
                        </goals>
                        <configuration>
                            <source>
                                pom.properties['deploy.url'] =
                                    pom.version.contains('-SNAPSHOT') ?
                                        project.distributionManagement.snapshotRepository.url :
                                        project.distributionManagement.repository.url;
                                pom.properties['repo.id'] = pom.version.contains('-SNAPSHOT') ?
                                    project.distributionManagement.snapshotRepository.id :
                                    project.distributionManagement.repository.id;
                            </source>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>11</source>
                    <target>11</target>
                    <forceJavacCompilerUse>true</forceJavacCompilerUse>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <dependencies>
                    <dependency>
                        <groupId>org.apache.maven.surefire</groupId>
                        <artifactId>surefire-junit-platform</artifactId>
                        <version>${maven-surefire-plugin.version}</version>
                    </dependency>
                </dependencies>
                <configuration>
                    <printSummary>false</printSummary>
                    <systemPropertyVariables>
                        <jacoco-agent.destfile>${project.build.directory}/jacoco.exec
                        </jacoco-agent.destfile>
                    </systemPropertyVariables>
                    <forkCount>${surefire.forkCount}</forkCount>
                    <reuseForks>${surefire.reuseForks}</reuseForks>
                    <parallel>methods</parallel>
                    <skip>${surefire.skip.tests}</skip>
                </configuration>
            </plugin>
            <plugin>
                <groupId>pl.project13.maven</groupId>
                <artifactId>git-commit-id-plugin</artifactId>
                <executions>
                    <execution>
                        <goals>
                            <goal>revision</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <generateGitPropertiesFile>true</generateGitPropertiesFile>
                    <generateGitPropertiesFilename>
                        ${project.build.outputDirectory}/META-INF/git.properties
                    </generateGitPropertiesFilename>
                    <failOnNoGitDirectory>true</failOnNoGitDirectory>
                    <verbose>false</verbose>
                    <includeOnlyProperties>
                        <includeOnlyProperty>git.build.version</includeOnlyProperty>
                        <includeOnlyProperty>git.build.time</includeOnlyProperty>
                        <includeOnlyProperty>git.commit.id</includeOnlyProperty>
                        <includeOnlyProperty>git.commit.time</includeOnlyProperty>
                        <includeOnlyProperty>git.commit.user.name</includeOnlyProperty>
                        <includeOnlyProperty>git.commit.user.email</includeOnlyProperty>
                        <includeOnlyProperty>git.commit.message.short</includeOnlyProperty>
                        <includeOnlyProperty>git.commit.message.full</includeOnlyProperty>
                    </includeOnlyProperties>
                    <gitDescribe>
                        <skip>true</skip>
                    </gitDescribe>
                    <useNativeGit>false</useNativeGit>
                </configuration>
            </plugin>
        </plugins>
    </build>

    <profiles>
        <profile>
            <id>all</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <properties>
                <checkstyle.skip>true</checkstyle.skip>
            </properties>
            <modules>
                <module>onboarding</module>
                <module>common-app-logging</module>
                <module>common-app-api</module>
                <module>common-be</module>
                <module>common-be-tests-utils</module>
                <module>catalog-dao</module>
                <module>catalog-model</module>
                <module>catalog-be</module>
                <module>catalog-be-plugins</module>
                <module>asdctool</module>
                <module>catalog-ui</module>
                <module>catalog-fe</module>
                <module>sdc-os-chef</module>
                <module>utils/webseal-simulator</module>
                <module>integration-tests</module>
            </modules>
        </profile>
        <profile>
            <id>all-for-integration-tests-only</id>
            <properties>
                <checkstyle.skip>true</checkstyle.skip>
                <surefire.skip.tests>true</surefire.skip.tests>
            </properties>
            <modules>
                <module>onboarding</module>
                <module>common-app-logging</module>
                <module>common-app-api</module>
                <module>common-be</module>
                <module>common-be-tests-utils</module>
                <module>catalog-dao</module>
                <module>catalog-model</module>
                <module>catalog-be</module>
                <module>catalog-be-plugins</module>
                <module>asdctool</module>
                <module>catalog-ui</module>
                <module>catalog-fe</module>
                <module>sdc-os-chef</module>
                <module>utils/webseal-simulator</module>
                <module>integration-tests</module>
            </modules>
        </profile>
        <profile>
            <id>skip-integration-tests</id>
            <activation>
                <property>
                    <name>skipITs</name>
                    <value>true</value>
                </property>
            </activation>
            <properties>
                <checkstyle.skip>true</checkstyle.skip>
            </properties>
            <modules>
                <module>onboarding</module>
                <module>common-app-logging</module>
                <module>common-app-api</module>
                <module>common-be</module>
                <module>common-be-tests-utils</module>
                <module>catalog-dao</module>
                <module>catalog-model</module>
                <module>catalog-be</module>
                <module>catalog-be-plugins</module>
                <module>asdctool</module>
                <module>catalog-ui</module>
                <module>catalog-fe</module>
                <module>sdc-os-chef</module>
                <module>utils/webseal-simulator</module>
            </modules>
        </profile>
        <profile>
            <id>skip-tests</id>
            <activation>
                <property>
                    <name>skipTests</name>
                    <value>true</value>
                </property>
            </activation>
            <properties>
                <checkstyle.skip>true</checkstyle.skip>
            </properties>
            <modules>
                <module>onboarding</module>
                <module>common-app-logging</module>
                <module>common-app-api</module>
                <module>common-be</module>
                <module>common-be-tests-utils</module>
                <module>catalog-dao</module>
                <module>catalog-model</module>
                <module>catalog-be</module>
                <module>catalog-be-plugins</module>
                <module>asdctool</module>
                <module>catalog-ui</module>
                <module>catalog-fe</module>
                <module>sdc-os-chef</module>
                <module>utils/webseal-simulator</module>
            </modules>
        </profile>
        <profile>
            <id>fast-build</id>
            <activation>
                <activeByDefault>false</activeByDefault>
            </activation>
            <properties>
                <maven.test.skip>true</maven.test.skip>
                <skipYamlJsonValidator>true</skipYamlJsonValidator>
                <checkstyle.skip>true</checkstyle.skip>
                <jacoco.skip>true</jacoco.skip>
                <maven.antrun.skip>true</maven.antrun.skip>
                <swagger.skip>true</swagger.skip>
            </properties>
            <modules>
                <module>onboarding</module>
                <module>common-app-logging</module>
                <module>common-app-api</module>
                <module>common-be</module>
                <module>common-be-tests-utils</module>
                <module>catalog-dao</module>
                <module>catalog-model</module>
                <module>catalog-be</module>
                <module>catalog-be-plugins</module>
                <module>asdctool</module>
                <module>catalog-ui</module>
                <module>catalog-fe</module>
                <module>sdc-os-chef</module>
                <module>utils/webseal-simulator</module>
            </modules>
        </profile>
        <profile>
            <id>fast-build-no-ui</id>
            <activation>
                <activeByDefault>false</activeByDefault>
            </activation>
            <properties>
                <maven.test.skip>true</maven.test.skip>
                <skipYamlJsonValidator>true</skipYamlJsonValidator>
                <checkstyle.skip>true</checkstyle.skip>
                <jacoco.skip>true</jacoco.skip>
                <maven.antrun.skip>true</maven.antrun.skip>
                <swagger.skip>true</swagger.skip>
            </properties>
            <modules>
                <module>openecomp-be</module>
                <module>common</module>
                <module>common-app-logging</module>
                <module>common-app-api</module>
                <module>common-be</module>
                <module>common-be-tests-utils</module>
                <module>catalog-dao</module>
                <module>catalog-model</module>
                <module>catalog-be</module>
                <module>catalog-be-plugins</module>
                <module>asdctool</module>
                <module>sdc-os-chef</module>
                <module>utils/webseal-simulator</module>
            </modules>
        </profile>
        <profile>
            <id>start-sdc</id>
            <activation>
                <activeByDefault>false</activeByDefault>
            </activation>
            <properties>
                <maven.test.skip>true</maven.test.skip>
                <skipYamlJsonValidator>true</skipYamlJsonValidator>
                <checkstyle.skip>true</checkstyle.skip>
                <jacoco.skip>true</jacoco.skip>
                <docker.keepRunning>true</docker.keepRunning>
            </properties>
            <modules>
                <module>integration-tests</module>
            </modules>
        </profile>
        <profile>
            <id>stop-sdc</id>
            <activation>
                <activeByDefault>false</activeByDefault>
            </activation>
            <properties>
                <maven.test.skip>true</maven.test.skip>
                <skipYamlJsonValidator>true</skipYamlJsonValidator>
                <checkstyle.skip>true</checkstyle.skip>
                <jacoco.skip>true</jacoco.skip>


                <docker.skip.run>true</docker.skip.run>
            </properties>
            <modules>
                <module>integration-tests</module>
            </modules>
        </profile>
        <profile>
            <id>run-integration-tests</id>
            <activation>
                <activeByDefault>false</activeByDefault>
            </activation>
            <properties>
                <skipYamlJsonValidator>true</skipYamlJsonValidator>
                <checkstyle.skip>true</checkstyle.skip>
                <docker.skip>true</docker.skip>
            </properties>
            <modules>
                <module>integration-tests</module>
            </modules>
        </profile>
    </profiles>

    <repositories>
        <!-- LF repositories -->
        <repository>
            <id>ecomp-releases</id>
            <name>Release Repository</name>
            <url>${nexus.proxy}/content/repositories/releases/</url>
        </repository>
        <repository>
            <id>ecomp-snapshots</id>
            <name>Snapshots Repository</name>
            <url>${nexus.proxy}/content/repositories/snapshots/</url>
        </repository>
        <repository>
            <id>ecomp-public</id>
            <name>Public Repository</name>
            <url>${nexus.proxy}/content/repositories/public/</url>
        </repository>
        <!-- LF repositories END-->
    </repositories>

    <distributionManagement>
        <repository>
            <id>ecomp-releases</id>
            <name>Release Repository</name>
            <url>${nexus.proxy}/content/repositories/releases/</url>
        </repository>
        <site>
            <id>ecomp-site</id>
            <url>dav:${nexus.proxy}${sitePath}</url>
        </site>
        <snapshotRepository>
            <id>ecomp-snapshots</id>
            <name>Snapshot Repository</name>
            <url>${nexus.proxy}/content/repositories/snapshots/</url>
        </snapshotRepository>
    </distributionManagement>

</project>
