<?xml version="1.0" encoding="UTF-8"?>
<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">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.openecomp.sdnc.core</groupId>
        <artifactId>root</artifactId>
        <version>1.0.0</version>
    </parent>
    <packaging>pom</packaging>
    <groupId>org.openecomp.appc</groupId>
    <artifactId>appc</artifactId>
    <version>1.0.0</version>
    <name>APP-C</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>
        <features-mdsal.version>2.0.2-Beryllium-SR2</features-mdsal.version>
        <broker-mdsal.version>1.3.2-Beryllium-SR2</broker-mdsal.version>
        <!-- Properties from parent pom -->
        <!-- <release-tag>R17.01</release-tag> -->
        <!-- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> -->
        <!-- <bundle.plugin.version>2.5.0</bundle.plugin.version> -->
        <!-- <java.version.source>1.7</java.version.source> -->
        <!-- <java.version.target>1.7</java.version.target> -->
        <!-- <maven.compile.plugin.version>2.5.1</maven.compile.plugin.version> -->
        <!-- <equinox.osgi.version>3.8.1.v20120830-144521</equinox.osgi.version> -->
        <!-- <jackson-annotations-version>${jackson.version}</jackson-annotations-version> -->
        <!-- <jettison.version>1.3.7</jettison.version> -->
        <!-- <jvnet.jaxb2.version>0.6.4</jvnet.jaxb2.version> -->
        <!-- <apache.httpcomponents.version>4.4</apache.httpcomponents.version> -->
        <!-- <antlr.version>4.5.1</antlr.version> -->
        <!-- <mysql.connector.version>5.1.39</mysql.connector.version> -->
        <!-- <odl.version>1.6.2-Beryllium-SR2</odl.version> -->
        <!-- <odl.dlux.version>0.3.2-Beryllium-SR2</odl.dlux.version> -->
        <odl.yangtools.version>0.8.2-Beryllium-SR2</odl.yangtools.version>
        <!-- <odl.mdsal.version>1.3.2-Beryllium-SR2</odl.mdsal.version> -->
        <!-- <odl.mdsal.features.version>2.0.2-Beryllium-SR2</odl.mdsal.features.version> -->
        <!-- <odl.mdsal.model.version>0.8.2-Beryllium-SR2</odl.mdsal.model.version> -->
        <!-- <odl.restconf.version>1.3.2-Beryllium-SR2</odl.restconf.version> -->
        <!-- <odl.yangtools.version>0.8.2-Beryllium-SR2</odl.yangtools.version> -->
        <!-- <odl.controller.model.version>${odl.mdsal.model.version}</odl.controller.model.version> -->
        <!-- <odl.controller.config.api.version>0.4.2-Beryllium-SR2</odl.controller.config.api.version> -->
        <!-- <odl.karaf.empty.distro.version>${odl.version}</odl.karaf.empty.distro.version> -->
        <!-- <odl.commons.opendaylight.version>${odl.version}</odl.commons.opendaylight.version> -->
        <!-- <odl.ietf-inet-types.version>2010.09.24.8.2-Beryllium-SR2</odl.ietf-inet-types.version> -->
        <!-- <odl.ietf-yang-types.version>2010.09.24.8.2-Beryllium-SR2</odl.ietf-yang-types.version> -->
        <!-- <odl.yang.jmx.generator.version>0.4.2-Beryllium-SR2</odl.yang.jmx.generator.version> -->
        <!-- <odl.yangtools.yang.maven.plugin.version>${odl.yangtools.version}</odl.yangtools.yang.maven.plugin.version> -->
        <!-- <features.file>features.xml</features.file> -->
        <!-- <h2database.version>1.4.186</h2database.version> -->
        <!-- <jmxGeneratorPath>src/main/yang-gen-config</jmxGeneratorPath> -->
        <!-- <salGeneratorPath>src/main/yang-gen-sal</salGeneratorPath> -->
        <!-- <checkstyle.skip>true</checkstyle.skip> -->
        <!--<sdnc.core.version>(0.0.1,1.9.9]</sdnc.core.version> -->
        <!-- <sdnc.adaptors.version>(0.0.1,1.9.9]</sdnc.adaptors.version> -->
        <!-- <sdnctl.aai.service.version>${sdnc.adaptors.version}</sdnctl.aai.service.version> -->
        <!-- <sdnctl.dblib.version>${sdnc.core.version}</sdnctl.dblib.version> -->
        <!-- <sdnctl.mdsal.resource.version>${sdnc.adaptors.version}</sdnctl.mdsal.resource.version> -->
        <!-- <sdnctl.slipluginutils.version>${sdnc.core.version}</sdnctl.slipluginutils.version> -->
        <!-- Sonar Properties -->
        <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}/coverage-reports/jacoco.exec</sonar.jacoco.reportPath>
        <sonar.jacoco.reportMissing.force.zero>true</sonar.jacoco.reportMissing.force.zero>
        <sonar.projectVersion>${project.version}</sonar.projectVersion>
        <cdp.pal.version>0.0.1</cdp.pal.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>
        <cambriaClient-version>0.0.1</cambriaClient-version>
        <!-- OPENECOMP SDNC versions -->
        <sdnctl.sli.version>1.0.0</sdnctl.sli.version>
        <!--<sdnctl.sli.version>${sdnc.core.version}</sdnctl.sli.version> -->
        <sdnctl.dblib.version>1.0.0</sdnctl.dblib.version>
        <sdnctl.aai.service.version>1.0.0</sdnctl.aai.service.version>
        <!-- <jmxGeneratorPath>target/generated-sources/yang-gen-config</jmxGeneratorPath> -->
        <salGeneratorPath>target/generated-sources/yang-gen-sal</salGeneratorPath>
        <!-- <OpenStack-API-version>3.3.4</OpenStack-API-version> -->
        <!-- <commons.lang3.version>3.4</commons.lang3.version> -->
        <commons.io.version>${commons.lang3.version}</commons.io.version>
        <!-- <odl.aaa.version>0.3.2-Beryllium-SR2</odl.aaa.version> -->
        <!-- <odl.bgpcep.version>0.5.2-Beryllium-SR2</odl.bgpcep.version> -->
        <!-- <odl.branding.version>1.2.2-Beryllium-SR2</odl.branding.version> -->
        <!-- <odl.commons.opendaylight.version>1.6.2-Beryllium-SR2</odl.commons.opendaylight.version> -->
        <!-- <odl.config.parent.version>0.4.2-Beryllium-SR2</odl.config.parent.version> -->
        <!-- <odl.config.version>0.4.2-Beryllium-SR2</odl.config.version> -->
        <!-- <odl.controller.model.version>1.3.2-Beryllium-SR2</odl.controller.model.version> -->
        <!-- <odl.dlux.version>0.3.2-Beryllium-SR2</odl.dlux.version> -->
        <!-- <odl.features.protocol.framework.version>0.7.2-Beryllium-SR2</odl.features.protocol.framework.version> -->
        <!-- <odl.ganymed.version>1.3.2-Beryllium-SR2</odl.ganymed.version> -->
        <!-- <odl.ietf-inet-types.version>2010.09.24.8.2-Beryllium-SR2</odl.ietf-inet-types.version> -->
        <!-- <odl.ietf-ted.version>2013.10.21.8.2-Beryllium-SR2</odl.ietf-ted.version> -->
        <!-- <odl.ietf-topology-isis.version>2013.10.21.8.2-Beryllium-SR2</odl.ietf-topology-isis.version> -->
        <!-- <odl.ietf-topology.version>2013.10.21.8.2-Beryllium-SR2</odl.ietf-topology.version> -->
        <!-- <odl.ietf-yang-types.version>2010.09.24.8.2-Beryllium-SR2</odl.ietf-yang-types.version> -->
        <!-- <odl.karaf.distro.empty.version>1.6.2-Beryllium-SR2</odl.karaf.distro.empty.version> -->
        <!-- <odl.karaf.empty.distro.version>1.6.2-Beryllium-SR2</odl.karaf.empty.distro.version> -->
        <!-- <odl.karaf.resources.version>1.6.2-Beryllium-SR2</odl.karaf.resources.version> -->
        <!-- <odl.l2-types.model.version>2013.08.27.8.2-Beryllium-SR2</odl.l2-types.model.version> -->
        <!-- <odl.l2switch.version>0.3.2-Beryllium-SR2</odl.l2switch.version> -->
        <!-- <odl.controller.mdsal.version>1.3.2-Beryllium-SR2</odl.controller.mdsal.version> -->
        <!-- <odl.mdsal.version>2.0.2-Beryllium-SR2</odl.mdsal.version> -->
        <!-- <odl.mdsal.apidoc.version>1.3.2-Beryllium-SR2</odl.mdsal.apidoc.version> -->
        <!-- <odl.sal.clustering.conf.version>1.3.2-Beryllium-SR2</odl.sal.clustering.conf.version> -->
        <!-- <odl.net.sf.jung2.version>2.0.1</odl.net.sf.jung2.version> -->
        <!-- <odl.netconf.parent.version>1.0.2-Beryllium-SR2</odl.netconf.parent.version> -->
        <!-- <odl.neutron.version>0.6.2-Beryllium-SR2</odl.neutron.version> -->
        <!-- <odl.openflowjava.version>0.7.2-Beryllium-SR2</odl.openflowjava.version> -->
        <!-- <odl.openflowplugin.version>0.2.2-Beryllium-SR2</odl.openflowplugin.version> -->
        <!-- <odl.pax.cdi.version>0.11.0</odl.pax.cdi.version> -->
        <!-- <odl.restconf.version>1.3.2-Beryllium-SR2</odl.restconf.version> -->
        <!-- <odl.sal.api.version>0.10.2-Beryllium-SR2</odl.sal.api.version> -->
        <!-- <odl.sal.connection.api.version>0.3.2-Beryllium-SR2</odl.sal.connection.api.version> -->
        <!-- <odl.sal.rest.docgen.version>1.3.2-Beryllium-SR2</odl.sal.rest.docgen.version> -->
        <!-- <odl.yang.jmx.generator.version>0.4.2-Beryllium-SR2</odl.yang.jmx.generator.version> -->
        <!-- <odl.yangtools.version>0.8.2-Beryllium-SR2</odl.yangtools.version> -->
        <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>
    </properties>
    <!-- ================================================================================== -->
    <!-- Javadoc Generation Plugin -->
    <!-- ================================================================================== -->
    <reporting>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <version>2.10.4</version>
                <configuration>
                    <excludePackageNames>org.openecomp.sdnc</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>app-c-javadoc</id>
            <url>dav:https://nexus.openecomp.org/repository/app-c-javadoc/${project.version}</url>
        </site>
    </distributionManagement>
    <!-- ================================================================================== -->
    <!-- The SCM repository we are using -->
    <!-- ================================================================================== -->
    <!-- <scm>
		<connection></connection>
		<developerConnection></developerConnection>
		<url></url>
		<tag></tag>
	</scm> -->
    <!-- ================================================================================== -->
    <!-- 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>
            <!-- ODL -->
            <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>1.3.2-Beryllium-SR2</version> -->
                <version>${odl.mdsal.version}</version>
            </dependency>
            <dependency>
                <groupId>org.opendaylight.controller</groupId>
                <artifactId>sal-binding-api</artifactId>
                <version>${odl.mdsal.version}</version>
                <!-- <version>1.3.2-Beryllium-SR2</version> -->
            </dependency>
            <dependency>
                <groupId>org.opendaylight.controller</groupId>
                <artifactId>sal-test-model</artifactId>
                <!-- <version>1.3.2-Beryllium-SR2</version> -->
                <version>${odl.mdsal.version}</version>
            </dependency>
            <dependency>
                <groupId>org.opendaylight.netconf</groupId>
                <artifactId>sal-rest-connector</artifactId>
                <!-- <version>1.3.2-Beryllium-SR2</version> -->
                <version>${odl.mdsal.version}</version>
            </dependency>
            <dependency>
                <groupId>org.opendaylight.controller</groupId>
                <artifactId>sal-binding-broker-impl</artifactId>
                <!-- <version>1.3.2-Beryllium-SR2</version> -->
                <version>${odl.mdsal.version}</version>
            </dependency>
            <dependency>
                <groupId>org.opendaylight.controller</groupId>
                <artifactId>sal-common-util</artifactId>
                <version>${odl.mdsal.version}</version>
                <!-- <version>1.3.2-Beryllium-SR2</version> -->
            </dependency>
            <dependency>
                <groupId>org.opendaylight.mdsal</groupId>
                <artifactId>yang-binding</artifactId>
                <version>${odl.yangtools.version}</version>
            </dependency>
            <dependency>
                <groupId>org.opendaylight.yangtools</groupId>
                <artifactId>yang-common</artifactId>
                <version>${odl.yangtools.version}</version>
            </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>
            <dependency>
                <groupId>org.opendaylight.controller</groupId>
                <artifactId>features-mdsal</artifactId>
                <version>1.3.2-Beryllium-SR2</version>
                <classifier>features</classifier>
                <type>xml</type>
            </dependency>
            <dependency>
                <groupId>org.opendaylight.mdsal</groupId>
                <artifactId>features-mdsal</artifactId>
                <version>2.0.2-Beryllium-SR2</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>
            <!-- 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.openecomp.sdnc.core</groupId>
                <artifactId>sli-common</artifactId>
                <version>${sdnctl.sli.version}</version>
            </dependency>
            <dependency>
                <groupId>org.openecomp.sdnc.core</groupId>
                <artifactId>sli-provider</artifactId>
                <version>${sdnctl.sli.version}</version>
            </dependency>
            <!-- dblib -->
            <dependency>
                <groupId>org.openecomp.sdnc.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.openecomp.sdnc.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>javax.jms</groupId>
                <artifactId>jms</artifactId>
                <version>1.1</version>
            </dependency>
            <dependency>
                <groupId>org.mockito</groupId>
                <artifactId>mockito-core</artifactId>
                <version>1.10.19</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>com.att.nsa</groupId>
                <artifactId>cambriaClient</artifactId>
                <version>${cambriaClient-version}</version>
            </dependency>
            <dependency>
                <groupId>com.att.nsa</groupId>
                <artifactId>saClientLibrary</artifactId>
                <version>${cambriaClient-version}</version>
            </dependency>
            <!-- CDP -->
            <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.cdp</groupId> -->
            <!-- <artifactId>cdp-common</artifactId> -->
            <!-- <version>${cdp.version}</version> -->
            <!-- </dependency> -->
            <!-- Cadi -->
            <dependency>
                <groupId>com.att.cadi</groupId>
                <artifactId>cadi-aaf</artifactId>
                <version>${cadi-version}</version>
            </dependency>
            <dependency>
                <groupId>com.att.cadi</groupId>
                <artifactId>cadi-client</artifactId>
                <version>${cadi-version}</version>
            </dependency>
            <dependency>
                <groupId>com.att.cadi</groupId>
                <artifactId>cadi-core</artifactId>
                <version>${cadi-version}</version>
            </dependency>
            <dependency>
                <groupId>com.att.inno</groupId>
                <artifactId>env</artifactId>
                <version>${inno-version}</version>
            </dependency>
            <dependency>
                <groupId>com.att.inno</groupId>
                <artifactId>rosetta</artifactId>
                <version>${inno-version}</version>
            </dependency>
            <dependency>
                <groupId>com.att.aft.discovery</groupId>
                <artifactId>discovery-clt</artifactId>
                <version>5.1.3-01</version>
            </dependency>
            <dependency>
                <groupId>com.att.aft</groupId>
                <artifactId>dme2</artifactId>
                <version>${dme2-version}</version>
            </dependency>
            <dependency>
                <groupId>com.att.authz</groupId>
                <artifactId>authz-client</artifactId>
                <version>2.3</version>
                <!-- We need to supply a modified jar WITHOUT Example.class in the jar 
					root for BND to build -->
                <!-- <scope>system</scope> -->
                <!-- <systemPath>${basedir}/lib/authz-client-2.3-modified.jar</systemPath> -->
            </dependency>
            <!-- EELF logging framework -->
            <dependency>
                <groupId>com.att.eelf</groupId>
                <artifactId>eelf-core</artifactId>
                <version>${eelf.version}</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>
                    <configuration>
                        <source>${java.version.source}</source>
                        <target>${java.version.target}</target>
                    </configuration>
                </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.openecomp.sdnc</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>
                <!-- SonarQube plugin -->
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>sonar-maven-plugin</artifactId>
                    <version>3.2</version>
                </plugin>
            </plugins>
        </pluginManagement>
        <plugins>
            <!-- 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>
            <!-- license plugin -->
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>license-maven-plugin</artifactId>
                <version>1.10</version>
                <configuration>
                    <addJavaLicenseAfterPackage>false</addJavaLicenseAfterPackage>
                    <processStartTag>============LICENSE_START=======================================================</processStartTag>
                    <processEndTag>============LICENSE_END=========================================================</processEndTag>
                    <sectionDelimiter>================================================================================</sectionDelimiter>
                    <licenseName>apache_v2</licenseName>
                    <inceptionYear>2017</inceptionYear>
                    <organizationName>AT&amp;T Intellectual Property. All rights
						reserved.</organizationName>
                    <projectName>openECOMP : APP-C</projectName>
                    <canUpdateCopyright>true</canUpdateCopyright>
                    <canUpdateDescription>true</canUpdateDescription>
                    <canUpdateLicense>true</canUpdateLicense>
                    <emptyLineAfterHeader>true</emptyLineAfterHeader>
                </configuration>
                <executions>
                    <execution>
                        <id>first</id>
                        <goals>
                            <goal>update-file-header</goal>
                        </goals>
                        <phase>process-sources</phase>
                    </execution>
                </executions>
            </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>1.4.0</version>
                <inherited>false</inherited>
                <configuration>
                    <hubProjectName>${project.name}</hubProjectName>
                    <outputDirectory>${project.basedir}</outputDirectory>
                </configuration>
                <executions>
                    <execution>
                        <id>create-bdio-file</id>
                        <phase>package</phase>
                        <goals>
                            <goal>createHubOutput</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.nexus.host>nexus.openecomp.org</openecomp.nexus.host>
                <openecomp.nexus.release-url>https://nexus.openecomp.org/content/repositories/releases/</openecomp.nexus.release-url>
                <openecomp.nexus.snapshot-url>https://nexus.openecomp.org/content/repositories/snapshots/</openecomp.nexus.snapshot-url>
                <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-asdc-listener</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>
