<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.engine</groupId>
	<artifactId>PolicyEngineSuite</artifactId>
	<version>1.1.0-SNAPSHOT</version>
	<packaging>pom</packaging>
	<name>Policy Engine - Policy Engine Suite</name>

	<description>The ECOMP Policy Engine main pom</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>

		<jetty.plugin.version>9.2.3.v20140905</jetty.plugin.version>
		<project.source.version>1.8</project.source.version>
		<project.target.version>1.8</project.target.version>
		<project.encoding>UTF-8</project.encoding>
		
		<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/policy/it-results/jacoco-it.exec</sonar.jacoco.itReportPath>
		<sonar.jacoco.reportMissing.force.zero>true</sonar.jacoco.reportMissing.force.zero>
		<sonar.projectVersion>${project.version}</sonar.projectVersion>
		<common-modules.version>1.1.0-SNAPSHOT</common-modules.version>
		<nexusproxy>https://nexus.onap.org</nexusproxy>
		<sitePath>/content/sites/site/${project.groupId}/${project.artifactId}/${project.version}</sitePath>
		<releases.path>content/repositories/releases/</releases.path>
		<snapshots.path>content/repositories/snapshots/</snapshots.path>
		<staging.path>content/repositories/staging/</staging.path>
	</properties>


	<modules>
		<module>PolicyEngineUtils</module>
		<module>ECOMP-XACML</module>
		<module>ECOMP-REST</module>
		<module>ECOMP-ASDC</module>
		<module>ECOMP-ControlloopPolicy</module>
		<module>PolicyEngineAPI</module>
		<module>ECOMP-PDP</module>
		<module>ECOMP-PDP-REST</module>
		<module>ECOMP-PAP-REST</module>
		<module>LogParser</module>
		<module>PolicyEngineClient</module>
		<module>BRMSGateway</module>
		<module>POLICY-SDK-APP</module>
		<module>ECOMP-SDK-APP</module>
		<module>packages</module>
	</modules>

	<repositories>
		<repository>
			<id>ecomp-snapshots</id>
			<name>OpenECOMP Snapshot Repository</name>
			<url>${nexusproxy}/${snapshots.path}</url>
		</repository>
		<repository>
			<id>ecomp-releases</id>
			<name>OpenECOMP Release Repository</name>
			<url>${nexusproxy}/${releases.path}/</url>
		</repository>
		<repository>
			<id>ecomp-staging</id>
			<name>OpenECOMP Staging Repository</name>
			<url>${nexusproxy}/${staging.path}</url>
		</repository>
	</repositories>

	<distributionManagement>
		<repository>
			<id>ecomp-releases</id>
			<name>OpenECOMP Release Repository</name>
			<url>${nexusproxy}/${releases.path}</url>
		</repository>
		<snapshotRepository>
			<id>ecomp-snapshots</id>
			<name>OpenECOMP Snapshot Repository</name>
			<url>${nexusproxy}/${snapshots.path}</url>
		</snapshotRepository>
		<site>
			<id>ecomp-site</id>
			<url>dav:${nexusproxy}${sitePath}</url>
		</site>
	</distributionManagement>

	<reporting>
	  <plugins>
	    <plugin>
	      <groupId>org.apache.maven.plugins</groupId>
	      <artifactId>maven-javadoc-plugin</artifactId>
	      <version>2.10.4</version>
	      <configuration>
		<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>

	<dependencies>

		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>javax.servlet-api</artifactId>
			<version>3.1.0</version>
		</dependency>
		<dependency>
			<!-- org.w3c.dom dependencies -->
			<groupId>xml-apis</groupId>
			<artifactId>xml-apis</artifactId>
			<version>1.3.03</version>
		</dependency>
	</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-surefire-plugin</artifactId>
				<version>2.19.1</version>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-clean-plugin</artifactId>
				<version>2.4.1</version>
			</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>
			<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>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-war-plugin</artifactId>
				<version>2.3</version>
				<configuration>
					<failOnMissingWebXml>false</failOnMissingWebXml>
				</configuration>
			</plugin>
			<!-- The Jetty plugin allows us to easily test the development build by 
				running jetty:run on the command line. -->

			<plugin>
				<groupId>org.eclipse.jetty</groupId>
				<artifactId>jetty-maven-plugin</artifactId>
				<version>${jetty.plugin.version}</version>
				<configuration>
					<scanIntervalSeconds>2</scanIntervalSeconds>
				</configuration>
			</plugin>
			<plugin>
				<groupId>com.fortify.ps.maven.plugin</groupId>
				<artifactId>sca-maven-plugin</artifactId>
				<version>4.20</version>
			</plugin>
			<plugin>
				<groupId>org.jacoco</groupId>
				<artifactId>jacoco-maven-plugin</artifactId>
				<version>0.7.6.201602180812</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>
			<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>
		</plugins>
	</build>
</project>
