<?xml version="1.0" encoding="UTF-8"?>
<!--
============LICENSE_START=======================================================
ONAP : APPC
================================================================================
Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
================================================================================
Copyright (C) 2017 Amdocs
=============================================================================
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.

ECOMP is a trademark and service mark of AT&T Intellectual Property.
============LICENSE_END=========================================================
-->
<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/maven-v4_0_0.xsd">
    <parent>
        <groupId>org.onap.ccsdk.parent</groupId>
        <artifactId>odlparent-carbon-sr1</artifactId>
        <version>0.0.1-SNAPSHOT</version>
    </parent>


    <modelVersion>4.0.0</modelVersion>
    <packaging>pom</packaging>
    <groupId>org.openecomp.appc</groupId>
    <artifactId>appc</artifactId>
    <version>1.1.0-SNAPSHOT</version>
    <name>appc</name>
    <description>Construct the Application Controller component for the ECOMP project.</description>
    <inceptionYear>2015-07-20</inceptionYear>
    <organization>
        <name>OpenECOMP</name>
    </organization>


    <!-- ================================================================================== -->
    <!-- Configuration properties -->
    <!-- ================================================================================== -->
    <properties>
        <!-- VERSIONS -->


        <cdp.pal.version>1.1.7-oss</cdp.pal.version>
        <dmaap.client.version>0.2.12</dmaap.client.version>
        <eelf.version>0.0.1</eelf.version>
        <eelf.maven.plugin.version>0.0.1</eelf.maven.plugin.version>
        <cadi-version>1.3.0</cadi-version>
        <inno-version>1.2.11</inno-version>
        <dme2-version>3.1.200</dme2-version>
        <bundle.plugin.version>2.5.0</bundle.plugin.version>
        <maven.compile.plugin.version>2.5.1</maven.compile.plugin.version>
        <equinox.osgi.version>3.8.1.v20120830-144521</equinox.osgi.version>
        <apache.httpcomponents.version>4.4</apache.httpcomponents.version>
        <commons.lang3.version>3.4</commons.lang3.version>
        <antlr.version>4.5.1</antlr.version>
        <logback.version>1.1.1</logback.version>
        <toscalib.version>1.1.0</toscalib.version>
        <sdc-client.version>1.1.13-SNAPSHOT</sdc-client.version>
        <jackson.yml.version>2.3.2</jackson.yml.version>

        <!-- SONAR -->
        <sonar.language>java</sonar.language>
        <sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>
        <sonar.surefire.reportsPath>${project.build.directory}/surefire-reports</sonar.surefire.reportsPath>
        <sonar.jacoco.reportPath>${project.build.directory}/code-coverage/jacoco-ut.exec</sonar.jacoco.reportPath>
        <sonar.jacoco.reportMissing.force.zero>true</sonar.jacoco.reportMissing.force.zero>
        <sonar.projectVersion>${project.version}</sonar.projectVersion>

        <salGeneratorPath>target/generated-sources/yang-gen-sal</salGeneratorPath>
        <maven.javadoc.failOnError>false</maven.javadoc.failOnError>
        <!-- ADDING TO SUPPORT APPC-PROVIDER-MODEL yang-gen-sal FOLDER GENERATION -->
        <yang.file.directory>src/main/yang</yang.file.directory>
        <features.file>features.xml</features.file>
        <jmxGeneratorPath>target/generated-sources/yang-gen-config</jmxGeneratorPath>
        <!-- <salGeneratorPath>src/main/yang-gen-sal</salGeneratorPath> -->
        
        <onap.nexus.url>https://nexus.onap.org</onap.nexus.url>

    </properties>


    <!-- ================================================================================== -->
    <!-- Javadoc Generation Plugin -->
    <!-- ================================================================================== -->
    <reporting>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <version>2.10</version>
                <configuration>
                    <excludePackageNames>org.onap.ccsdk.sli</excludePackageNames>
                    <failOnError>false</failOnError>
                    <doclet>org.umlgraph.doclet.UmlGraphDoc</doclet>
                    <docletArtifact>
                        <groupId>org.umlgraph</groupId>
                        <artifactId>umlgraph</artifactId>
                        <version>5.6</version>
                    </docletArtifact>
                    <additionalparam>-views</additionalparam>
                    <useStandardDocletOptions>true</useStandardDocletOptions>
                </configuration>
            </plugin>
        </plugins>
    </reporting>


    <!-- ================================================================================== -->
    <!-- Distribution Management Sites -->
    <!-- ================================================================================== -->
    <distributionManagement>
        <!-- This site is used for Javadocs -->
        <site>
            <id>ecomp-site</id>
            <url>dav:${onap.nexus.url}/sites/site/org/onap/appc/${project.version}</url>
        </site>
        <repository>
            <id>ecomp-releases</id>
            <name>openecomp-repository-releases</name>
            <url>${onap.nexus.url}/content/repositories/releases</url>
        </repository>
        <snapshotRepository>
            <id>ecomp-snapshots</id>
            <name>openecomp-repository-snapshots</name>
            <url>${onap.nexus.url}/content/repositories/snapshots</url>
        </snapshotRepository>
    </distributionManagement>


    <!-- ================================================================================== -->
    <!-- Define plugin repositories -->
    <!-- ================================================================================== -->
    <pluginRepositories>
        <pluginRepository>
            <id>opendaylight-mirror</id>
            <name>opendaylight-mirror</name>
            <url>https://nexus.opendaylight.org/content/repositories/public/</url>
            <releases>
                <enabled>true</enabled>
                <updatePolicy>never</updatePolicy>
            </releases>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </pluginRepository>
        <pluginRepository>
            <id>opendaylight-snapshot</id>
            <name>opendaylight-snapshot</name>
            <url>https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/</url>
            <releases>
                <enabled>false</enabled>
            </releases>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </pluginRepository>
        <!-- Black Duck plugin dependencies -->
        <pluginRepository>
            <id>JCenter</id>
            <name>JCenter Repository</name>
            <url>http://jcenter.bintray.com</url>
        </pluginRepository>
        <pluginRepository>
            <id>Restlet</id>
            <name>Restlet Repository</name>
            <url>http://maven.restlet.com</url>
        </pluginRepository>
    </pluginRepositories>


    <!-- ================================================================================== -->
    <!-- Define project-wide dependencies -->
    <!-- ================================================================================== -->
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.opendaylight.controller</groupId>
                <artifactId>config-api</artifactId>
                <version>${odl.controller.config.api.version}</version>
            </dependency>
            <dependency>
                <groupId>org.opendaylight.controller</groupId>
                <artifactId>sal-binding-config</artifactId>
                <version>${odl.mdsal.version}</version>
            </dependency>
            <dependency>
                <groupId>org.opendaylight.controller</groupId>
                <artifactId>sal-binding-api</artifactId>
                <version>${odl.mdsal.version}</version>
            </dependency>
            <dependency>
                <groupId>org.opendaylight.controller</groupId>
                <artifactId>sal-test-model</artifactId>
                <version>${odl.mdsal.version}</version>
            </dependency>
            <dependency>
                <groupId>org.opendaylight.netconf</groupId>
                <artifactId>sal-rest-connector</artifactId>
                <version>${odl.mdsal.version}</version>
            </dependency>
            <dependency>
                <groupId>org.opendaylight.controller</groupId>
                <artifactId>sal-binding-broker-impl</artifactId>
                <version>${odl.mdsal.version}</version>
            </dependency>
            <dependency>
                <groupId>org.opendaylight.controller</groupId>
                <artifactId>sal-common-util</artifactId>
                <version>${odl.mdsal.version}</version>
            </dependency>
            <dependency>
                <groupId>org.opendaylight.mdsal</groupId>
                <artifactId>yang-binding</artifactId>
                <version>${odl.mdsal.yang.binding.version}</version>
            </dependency>
            <dependency>
                <groupId>org.opendaylight.yangtools</groupId>
                <artifactId>yang-common</artifactId>
                <version>${odl.yangtools.version}</version>
            </dependency>
            <dependency>
                <groupId>org.opendaylight.controller</groupId>
                <artifactId>features-mdsal</artifactId>
                <version>${odl.mdsal.features.version}</version>
                <classifier>features</classifier>
                <type>xml</type>
            </dependency>
            <dependency>
                <groupId>org.opendaylight.mdsal</groupId>
                <artifactId>features-mdsal</artifactId>
                <version>${odl.mdsal.features.version}</version>
                <classifier>features</classifier>
                <type>xml</type>
            </dependency>
            <dependency>
                <groupId>org.opendaylight.controller</groupId>
                <artifactId>opendaylight-karaf-empty</artifactId>
                <version>${odl.karaf.empty.distro.version}</version>
                <type>zip</type>
            </dependency>
            <dependency>
                <groupId>org.opendaylight.mdsal.model</groupId>
                <artifactId>ietf-inet-types</artifactId>
                <version>${odl.ietf-inet-types.version}</version>
            </dependency>
            <dependency>
                <groupId>org.opendaylight.mdsal.model</groupId>
                <artifactId>ietf-yang-types</artifactId>
                <version>${odl.ietf-yang-types.version}</version>
            </dependency>
            <!-- CURRENTLY DOES NOT EXIST IN 3.0. Replacement? -->
            <!-- Required for launching the feature tests -->
            <!-- <dependency> -->
            <!-- <groupId>org.opendaylight.yangtools</groupId> -->
            <!-- <artifactId>features-test</artifactId> -->
            <!-- <version>${odl.yangtools.version}</version> -->
            <!-- <scope>test</scope> -->
            <!-- </dependency> -->

            <!-- YANG tools -->
            <dependency>
                <groupId>org.opendaylight.yangtools</groupId>
                <artifactId>features-yangtools</artifactId>
                <version>${odl.yangtools.version}</version>
                <classifier>features</classifier>
                <type>xml</type>
            </dependency>
            <!-- SDNC -->
            <dependency>
                <groupId>org.onap.ccsdk.sli.core</groupId>
                <artifactId>sli-common</artifactId>
                <version>${sdnctl.sli.version}</version>
            </dependency>
            <dependency>
                <groupId>org.onap.ccsdk.sli.core</groupId>
                <artifactId>sli-provider</artifactId>
                <version>${sdnctl.sli.version}</version>
            </dependency>
            <!-- dblib -->
            <dependency>
                <groupId>org.onap.ccsdk.sli.core</groupId>
                <artifactId>dblib-provider</artifactId>
                <version>${sdnctl.dblib.version}</version>
            </dependency>
            <!-- A&AI service provider dependency override in order to use a stable 
                version -->
            <dependency>
                <groupId>org.onap.ccsdk.sli.adaptors</groupId>
                <artifactId>aai-service-provider</artifactId>
                <version>${sdnctl.aai.service.version}</version>
            </dependency>
            <!-- APPC -->
            <dependency>
                <groupId>org.openecomp.appc</groupId>
                <artifactId>appc-controller-features</artifactId>
                <classifier>features</classifier>
                <type>xml</type>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.openecomp.appc</groupId>
                <artifactId>appc-controller-model</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.openecomp.appc</groupId>
                <artifactId>appc-controller-bundle</artifactId>
                <version>${project.version}</version>
                <classifier>config</classifier>
                <type>xml</type>
            </dependency>
            <dependency>
                <groupId>org.openecomp.appc</groupId>
                <artifactId>appc-controller-bundle</artifactId>
                <version>${project.version}</version>
            </dependency>
            <!-- OTHER -->
            <dependency>
                <groupId>equinoxSDK381</groupId>
                <artifactId>org.eclipse.osgi</artifactId>
                <version>${equinox.osgi.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-lang3</artifactId>
                <version>${commons.lang3.version}</version>
            </dependency>
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>4.12</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>ch.qos.logback</groupId>
                <artifactId>logback-core</artifactId>
                <version>1.1.1</version>
                <scope>compile</scope>
            </dependency>
            <dependency>
                <groupId>ch.qos.logback</groupId>
                <artifactId>logback-classic</artifactId>
                <version>1.1.1</version>
                <scope>compile</scope>
            </dependency>
            <!-- <dependency> -->
            <!-- <groupId>org.slf4j</groupId> -->
            <!-- <artifactId>slf4j-api</artifactId> -->
            <!-- <version>1.7.12</version> -->
            <!-- </dependency> -->
            <dependency>
                <groupId>commons-lang</groupId>
                <artifactId>commons-lang</artifactId>
                <version>2.6</version>
            </dependency>
            <dependency>
                <groupId>org.apache.sshd</groupId>
                <artifactId>sshd-core</artifactId>
                <version>0.12.0</version>
            </dependency>
            <dependency>
                <groupId>org.mockito</groupId>
                <artifactId>mockito-core</artifactId>
                <version>1.10.19</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>com.att.cdp</groupId>
                <artifactId>cdp-pal-common</artifactId>
                <version>${cdp.pal.version}</version>
            </dependency>
            <dependency>
                <groupId>com.att.cdp</groupId>
                <artifactId>cdp-pal-openstack</artifactId>
                <version>${cdp.pal.version}</version>
            </dependency>
            <dependency>
                <groupId>com.att.authz</groupId>
                <artifactId>authz-client</artifactId>
                <version>2.3</version>
            </dependency>
            <!-- EELF logging framework -->
            <dependency>
                <groupId>com.att.eelf</groupId>
                <artifactId>eelf-core</artifactId>
                <version>${eelf.version}</version>
            </dependency>
            <!-- Maria DB -->
            <dependency>
                <groupId>org.mariadb.jdbc</groupId>
                <artifactId>mariadb-java-client</artifactId>
                <version>1.2.3</version>
            </dependency>
        </dependencies>
    </dependencyManagement>


    <!-- ================================================================================== -->
    <!-- Define common plugins and make them available for all modules -->
    <!-- ================================================================================== -->
    <build>
        <pluginManagement>
            <plugins>
                <!-- Define the site plugin to generate documentation -->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-site-plugin</artifactId>
                    <version>3.4</version>
                    <dependencies>
                        <!-- add support for ssh/scp -->
                        <dependency>
                            <groupId>org.apache.maven.wagon</groupId>
                            <artifactId>wagon-ssh</artifactId>
                            <version>1.0</version>
                        </dependency>
                    </dependencies>
                </plugin>
                <!-- Define the compiler plugin -->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>${maven.compile.plugin.version}</version>
                </plugin>
                <!-- Define the javadoc plugin -->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-javadoc-plugin</artifactId>
                    <version>2.10</version>
                    <configuration>
                        <excludePackageNames>org.opendaylight.*:org.onap.ccsdk.sli</excludePackageNames>
                    </configuration>
                </plugin>
                <!-- Define the source plugin -->
                <plugin>
                    <artifactId>maven-source-plugin</artifactId>
                    <version>2.1.1</version>
                </plugin>
                <!-- Resources plugin -->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-resources-plugin</artifactId>
                    <version>2.6</version>
                    <executions>
                        <execution>
                            <id>filter</id>
                            <goals>
                                <goal>resources</goal>
                            </goals>
                            <phase>generate-resources</phase>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <artifactId>maven-release-plugin</artifactId>
                    <version>2.5.2</version>
                    <configuration>
                        <goals>-s ${mvn.settings} deploy</goals>
                    </configuration>
                </plugin>
                <plugin>
                    <artifactId>maven-assembly-plugin</artifactId>
                    <version>2.5.5</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-deploy-plugin</artifactId>
                    <version>2.8.1</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-dependency-plugin</artifactId>
                    <version>2.10</version>
                </plugin>
                <!-- Maven surefire plugin for testing -->
                <plugin>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>2.17</version>
                </plugin>
                <!-- Maven OSGi bundle plugin used to package OSGi bundles -->
                <plugin>
                    <groupId>org.apache.felix</groupId>
                    <artifactId>maven-bundle-plugin</artifactId>
                    <version>${bundle.plugin.version}</version>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>build-helper-maven-plugin</artifactId>
                    <version>1.9.1</version>
                </plugin>
                <plugin>
                  <groupId>org.sonarsource.scanner.maven</groupId>
                  <artifactId>sonar-maven-plugin</artifactId>
                  <version>3.2</version>
                </plugin>
            </plugins>
        </pluginManagement>
        <plugins>
            <!--maven staging plugin --> 
            <plugin> 
                <groupId>org.sonatype.plugins</groupId> 
                <artifactId>nexus-staging-maven-plugin</artifactId> 
                <version>1.6.7</version> 
                <extensions>true</extensions> 
                <configuration> 
                    <nexusUrl>${onap.nexus.url}</nexusUrl> 
                    <stagingProfileId>176c31dfe190a</stagingProfileId> 
                    <serverId>ecomp-staging</serverId> 
                </configuration> 
            </plugin> 
            <!-- Javadocs Plugin -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-site-plugin</artifactId>
                <version>3.6</version>
                <dependencies>
                    <dependency>
                        <groupId>org.apache.maven.wagon</groupId>
                        <artifactId>wagon-webdav-jackrabbit</artifactId>
                        <version>2.10</version>
                    </dependency>
                </dependencies>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>properties-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <goals>
                            <goal>set-system-properties</goal>
                        </goals>
                        <configuration>
                            <properties>
                                <property>
                                    <name>maven.wagon.http.ssl.allowall</name>
                                    <value>${ssl.allowall}</value>
                                </property>
                                <property>
                                    <name>maven.wagon.http.ssl.insecure</name>
                                    <value>${ssl.insecure}</value>
                                </property>
                            </properties>
                        </configuration>
                    </execution>
                </executions>

            </plugin>

            <!-- blackduck maven plugin -->
            <!-- <plugin> <groupId>com.blackducksoftware.integration</groupId> <artifactId>hub-maven-plugin</artifactId> 
                <version>2.0.0</version> <inherited>false</inherited> <configuration> <hubProjectName>${project.name}</hubProjectName> 
                <outputDirectory>${project.basedir}</outputDirectory> <deployHubBdio>false</deployHubBdio> 
                </configuration> <executions> <execution> <id>create-bdio-file</id> <phase>package</phase> 
                <goals> <goal>build-bom</goal> </goals> </execution> </executions> </plugin> -->

            <!-- force Eclipse to skip the additional-install step specified in the
                org.opendaylight.odlparent:odlparent-lite:1.7.1-Boron-SR1.pom profile -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-install-plugin</artifactId>
                <executions>
                    <execution>
                        <id>additional-install</id>
                        <goals>
                            <goal>install-file</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>


    <!-- ================================================================================== -->
    <!-- The modules we build every time -->
    <!-- ================================================================================== -->
    <modules>
        <module>appc-common</module>
    </modules>
    <!-- Adding profiles for testing -->
    <profiles>
        <profile>
            <id>appc-core</id>
            <properties>
                <ssl.allowall>true</ssl.allowall>
                <ssl.insecure>true</ssl.insecure>
                <openecomp.git.port>7999</openecomp.git.port>
                <openecomp.git.project>st_osecomp</openecomp.git.project>
                <openecomp.git.protocol>http</openecomp.git.protocol>
            </properties>
            <!-- Core app-c from 1604 -->
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <modules>
                <module>appc-common</module>
                <module>appc-adapters</module>
                <module>appc-provider</module>
                <module>appc-event-listener</module>
                <module>appc-sdc-listener</module>
                <module>appc-lifecycle-management</module>
                <module>appc-oam</module>
                <module>appc-config</module>
                <module>appc-directed-graph</module>
                <module>appc-outbound</module>
                <module>appc-inbound</module>
                <module>appc-sequence-generator</module>
                <module>appc-client</module>
            </modules>
        </profile>
        <profile>
            <id>request-dispatcher</id>
            <properties>
                <ssl.allowall>true</ssl.allowall>
                <ssl.insecure>true</ssl.insecure>
            </properties>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <modules>
                <module>appc-dispatcher</module>
                <module>appc-metric</module>
                <module>appc-dg</module>
                <module>appc-dg-util</module>
            </modules>
        </profile>
    </profiles>
</project>
