<!--
============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.7.0-SNAPSHOT</version>
    <packaging>pom</packaging>
    <name>sdc</name>

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

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

        <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>18.0</guava.version>
        <janusgraph.version>0.3.1</janusgraph.version>
        <spring.version>4.3.18.RELEASE</spring.version>
        <jersey-bom.version>2.27</jersey-bom.version>
        <netty.version>4.1.36.Final</netty.version>
        <servlet-api.version>3.1.0</servlet-api.version>
        <wire-mock.version>2.26.3</wire-mock.version>
        <ecomp.version>2.6.0</ecomp.version>
        <cassandra.unit.version>4.3.1.0</cassandra.unit.version>
        <cadi.version>2.1.8</cadi.version>
        <lombok.version>1.18.12</lombok.version>
        <commons-beanutils>1.9.3</commons-beanutils>
        <commons-configuration>2.3</commons-configuration>
        <apache-poi.version>4.1.0</apache-poi.version>
        <onap.logging.version>1.6.1</onap.logging.version>

        <commons.collections.version>4.1</commons.collections.version>
        <ws.rs.version>2.1</ws.rs.version>

        <jetty.version>9.4.18.v20190429</jetty.version>

    <!-- JSON and YAML Parsing -->
    <jackson.version>2.11.0</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.14</snakeyaml.version>
        <functionaljava.version>4.7</functionaljava.version>
        <httpclient.version>4.5.3</httpclient.version>
        <httpcore.version>4.4.1</httpcore.version>
        <json-simple.version>1.1</json-simple.version>

        <!-- Logging start -->
        <!-- logback -->
        <logback.version>1.2.3</logback.version>
        <slf4j-api.version>1.7.25</slf4j-api.version>
        <commons-codec>1.10</commons-codec>
        <commons-logging>1.2</commons-logging>
        <janino.version>3.0.6</janino.version>
        <log4j.version>2.13.1</log4j.version>

        <!-- aspects -->
        <jcabi.version>0.20.1</jcabi.version>
        <aspectjrt.version>1.8.4</aspectjrt.version>
        <aspectj.version>1.7.4</aspectj.version>
        <jcabi.maven.plugin.version>0.13.2</jcabi.maven.plugin.version>

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

        <regex.version>3.0.3</regex.version>

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

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

        <!--TESTING-->
        <mockito.version>3.3.3</mockito.version>
        <mockitoJupiter.version>3.3.3</mockitoJupiter.version>
        <jmockit.version>1.35</jmockit.version>
        <junit.version>4.12</junit.version>
        <junit.platform.version>1.6.0</junit.platform.version>
        <junitJupiter.version>5.6.0</junitJupiter.version>
        <assertj.version>3.16.0</assertj.version>
        <testng.version>6.14.3</testng.version>
        <cucumber.version>5.6.0</cucumber.version>
        <bean-matchers.version>0.11</bean-matchers.version>
        <hamcrest.version>2.1</hamcrest.version>
        <hamcrest-all.version>1.3</hamcrest-all.version>
        <maven-surefire-plugin.version>2.22.2</maven-surefire-plugin.version>
        <maven-jar-plugin.version>2.4</maven-jar-plugin.version>

        <!-- parser-->
        <sdc-tosca-parser.version>1.6.5</sdc-tosca-parser.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://registry.npmjs.org/</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>
        <!--maven-->
        <maven.build.timestamp.format>yyyyMMdd'T'HHmmss'Z'</maven.build.timestamp.format>
        <!--docker tags-->
        <docker.tag>${project.version}-${maven.build.timestamp}</docker.tag>
        <!--togglz version-->
        <togglz.version>2.4.1.Final</togglz.version>

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

        <!--sdc-security-utils-->
        <security.util.lib.version>1.6.0</security.util.lib.version>
        <!--jacoco-->
        <jacoco.version>0.8.5</jacoco.version>
        <java.driver.core.version>4.5.1</java.driver.core.version>

        <!-- Surefire parameters  -->
        <surefire.forkCount>1C</surefire.forkCount>
        <surefire.reuseForks>true</surefire.reuseForks>
    </properties>

    <dependencyManagement>
        <dependencies>
            <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>2.4.13</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>
        </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>
    </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.31.0</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-war-plugin</artifactId>
                    <version>3.2.2</version>
                </plugin>
                <plugin>
                    <groupId>com.github.eirslett</groupId>
                    <artifactId>frontend-maven-plugin</artifactId>
                    <version>1.8.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.0</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>1.8</source>
                    <target>1.8</target>
                </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>
                </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>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>catalog-dao</module>
                <module>catalog-model</module>
                <module>catalog-be</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>
            </properties>
            <modules>
                <module>onboarding</module>
                <module>common-app-logging</module>
                <module>common-app-api</module>
                <module>common-be</module>
                <module>catalog-be-plugins</module>
                <module>catalog-dao</module>
                <module>catalog-model</module>
                <module>catalog-be</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>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>
        <snapshotRepository>
            <id>ecomp-snapshots</id>
            <name>Snapshot Repository</name>
            <url>${nexus.proxy}/content/repositories/snapshots/</url>
        </snapshotRepository>
        <site>
            <id>ecomp-site</id>
            <url>dav:${nexus.proxy}${sitePath}</url>
        </site>
    </distributionManagement>
</project>

