<!--
  ============LICENSE_START=======================================================
  ECOMP Policy Engine - Drools PDP
  ================================================================================
  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=========================================================
  -->

<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>

	<groupId>org.openecomp.policy.drools-pdp</groupId>
	<artifactId>drools-pdp</artifactId>
	<version>1.0.0</version>
	<packaging>pom</packaging>
	<name>ECOMP Policy Engine - Drools PDP</name>

	<description>The ECOMP Policy Engine drools-based PDP Project</description>

	<properties>
		<maven.compiler.source>1.8</maven.compiler.source>
		<maven.compiler.target>1.8</maven.compiler.target>

		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.source.version>1.8</project.source.version>
		<project.target.version>1.8</project.target.version>
		<common-modules.version>1.0.0</common-modules.version>
  
		<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.itReportPath>/opt/app/jacoco-it.exec</sonar.jacoco.itReportPath>
		<sonar.jacoco.reportMissing.force.zero>true</sonar.jacoco.reportMissing.force.zero>
		<nexusproxy>https://nexus.openecomp.org</nexusproxy>
	</properties>

	<modules>
		<module>policy-utils</module>
		<module>policy-core</module>
		<module>policy-endpoints</module>
		<module>policy-management</module>
		<module>policy-persistence</module>
		<module>policy-healthcheck</module>
		<module>packages</module>
	</modules>

	<repositories>
		<repository>
			<id>central</id>
			<name>Maven 2 repository</name>
			<url>http://repo2.maven.org/maven2/</url>
		</repository>

		<repository>
		  <id>eclipse</id>
		  <url>https://repo.eclipse.org/content/repositories/releases</url>
		  <releases>
		    <enabled>true</enabled>
		    <updatePolicy>daily</updatePolicy>
		  </releases>
		  <snapshots>
		    <enabled>false</enabled>
		  </snapshots>
		</repository>

		<repository>
			<id>soapUI</id>
			<url>http://www.soapui.org/repository/maven2/</url>
			<name>SoapUI plugin</name>
		</repository>
		<repository>
			<id>ecomp-releases</id>
			<name>OpenECOMP Release Repository</name>
			<url>${nexusproxy}/content/repositories/releases/</url>
		</repository>
		<repository>
			<id>ecomp-staging</id>
			<name>OpenECOMP Staging Repository</name>
			<url>${nexusproxy}/content/repositories/staging/</url>
		</repository>
	</repositories>

	<distributionManagement>
		<repository>
			<id>ecomp-releases</id>
			<name>OpenECOMP Release Repository</name>
			<url>${nexusproxy}/content/repositories/releases/</url>
		</repository>
		<snapshotRepository>
			<id>ecomp-snapshots</id>
			<name>OpenECOMP Snapshot Repository</name>
			<url>${nexusproxy}/content/repositories/snapshots/</url>
		</snapshotRepository>
		<site>
			<id>ecomp-javadoc</id>
			<url>dav:https://ecomp-nexus:8443/repository/policy-javadoc/${project.version}</url>
		</site>
	</distributionManagement>

	<dependencies>

	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.sonatype.plugins</groupId>
				<artifactId>nexus-staging-maven-plugin</artifactId>
				<version>1.6.7</version>
				<extensions>true</extensions>
				<configuration>
					<nexusUrl>${nexusproxy}</nexusUrl>
					<stagingProfileId>176c31dfe190a</stagingProfileId>
					<serverId>ecomp-staging</serverId>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-deploy-plugin</artifactId>
				<version>2.8</version> <!-- This version supports the "deployAtEnd" parameter -->
				<configuration>
					<skip />
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.0</version>
				<configuration>
					<encoding>${project.encoding}</encoding>
					<source>${project.source.version}</source>
					<target>${project.target.version}</target>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-resources-plugin</artifactId>
				<version>2.6</version>
				<configuration>
					<encoding>${project.encoding}</encoding>
				</configuration>
			</plugin>
			<!-- 
				license plugin
			     Run 
			     	mvn clean 
			     before running from the command line
			     	mvn license:update-file-header
			-->
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>license-maven-plugin</artifactId>
				<version>1.9</version>
				<configuration>
					<extraExtensions>
						<!-- Used to add or change the header style <fileTypeYouAreMapping> 
							fileTypeMappedInto </fileTypeYouAreMapping> -->
						<drl>java</drl>
						<ccf>properties</ccf>

						<!-- Because the typical sql comment type confuses the update algorithm -->
						<sql>java</sql>
					</extraExtensions>
					<licenseName>apache_v2</licenseName>

					<inceptionYear>2017</inceptionYear>
					<organizationName>AT&amp;T Intellectual Property. All rights reserved.</organizationName>

					<!-- Once you have established the tags and delimiter, they cannot be 
						changed -->
					<processStartTag>============LICENSE_START=======================================================</processStartTag>
					<processEndTag>============LICENSE_END=========================================================</processEndTag>
					<sectionDelimiter>================================================================================</sectionDelimiter>
					<addJavaLicenseAfterPackage>false</addJavaLicenseAfterPackage>
					<canUpdateCopyright>true</canUpdateCopyright>
					<canUpdateDescription>true</canUpdateDescription>
					<canUpdateLicense>true</canUpdateLicense>
					<emptyLineAfterHeader>true</emptyLineAfterHeader>
					<roots>
						<!-- Default is src, target/generated-sources, target/processed-sources -->

						<!-- Everything except the files in the excludes section -->
						<root>/</root>
					</roots>
					<excludes>
						<!-- Files which are to be excluded. The pom.xml is excluded because 
							the start/end tags and the delimiters are in the body of the file. This confuses 
							the algorithm. So, this file must be manually updated with a license header. -->
						<exclude>pom.xml</exclude>
					</excludes>
				</configuration>
			</plugin>
		</plugins>
		<pluginManagement>
			<plugins>
				<plugin>
					<groupId>org.jacoco</groupId>
					<artifactId>jacoco-maven-plugin</artifactId>
					<version>0.7.5.201505241946</version>
					<configuration>
						<dumpOnExit>true</dumpOnExit>
						<includes>
							<include>org.openecomp.*</include>
						</includes>
					</configuration>
					<executions>
						<execution>
							<id>jacoco-initialize-unit-tests</id>
							<goals>
								<goal>prepare-agent</goal>
							</goals>
							<configuration>
								<destFile>${project.build.directory}/coverage-reports/jacoco.exec</destFile>
							</configuration>
						</execution>
					</executions>
				</plugin>
			</plugins>
		</pluginManagement>
	</build>
</project>
