<?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>
    <packaging>pom</packaging>
    <groupId>org.openecomp.sdnc.core</groupId>
    <artifactId>sdnc-core</artifactId>


    <name>SDN-C Core Components</name>
    <url>https://wiki.openecomp.org</url>
    <description>The SDN-C core components contains the SLI, dblib and root pom</description>

    <parent>
        <groupId>org.openecomp.sdnc.core</groupId>
        <artifactId>root</artifactId>
            <version>1.0.0</version>
            <relativePath>rootpom/pom.xml</relativePath>
    </parent>



    <issueManagement>
        <system>JIRA</system>
        <url>http://jira.openecomp.org/</url>
    </issueManagement>


    <scm>
        <connection>scm:git:ssh://git@${openecomp.git.host}/sdnc-code.git</connection>
        <developerConnection>scm:git:ssh://${openecomp.git.host}:${openecomp.git.port}/${openecomp.git.project}/sdnc-core.git</developerConnection>
        <url>${openecomp.git.protocol}://${openecomp.git.host}/projects/${openecomp.git.project}/repos/sdnc-core/browse</url>
    <tag>HEAD</tag>
  </scm>

    <ciManagement>
        <system>Jenkins</system>
        <url>>https://jenkins.openecomp.org/</url>
    </ciManagement>


    <distributionManagement>
        <site>
          <id>sdnc-javadoc</id>
          <url>dav:https://${openecomp.nexus.host}:${openecomp.nexus.port}/repository/sdn-c-javadoc/${project.artifactId}/${project.version}</url>
        </site>
    </distributionManagement>

    <build>
        <plugins>
            <!-- 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 : SDN-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>
            <!-- Blackduck plugin breaks release build
            <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>
    <modules>
        <module>rootpom</module>
        <module>dblib</module>
        <module>filters</module>
        <module>sli</module>
        <module>sliPluginUtils</module>
        <module>sliapi</module>
    </modules>
    <organization>
        <name>AT&amp;T</name>
    </organization>
    <version>1.0.0</version>


</project>
