<!-- 
  ============LICENSE_START======================================================= 
  ONAP Policy Engine - Drools PDP 
  ================================================================================
  Copyright (C) 2017-2018 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>

	<parent>
		<groupId>org.onap.oparent</groupId>
		<artifactId>oparent</artifactId>
		<version>1.1.0</version>
		<relativePath />
	</parent>

	<groupId>org.onap.policy.drools-pdp</groupId>
	<artifactId>drools-pdp</artifactId>
	<version>1.2.1-SNAPSHOT</version>
	<packaging>pom</packaging>
	<name>policy-drools-pdp</name>

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

	<properties>
		<!-- Project common build settings -->
		<project.source.version>1.8</project.source.version>
		<project.target.version>1.8</project.target.version>

		<!-- Project path properties -->
		<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>

		<!-- sonar/jacoco overrides -->
		<!-- Overriding oparent default sonar/jacoco settings Combine all our reports 
			into one file shared across sub-modules -->
		<sonar.jacoco.reportPath>${project.basedir}/../target/code-coverage/jacoco-ut.exec</sonar.jacoco.reportPath>
		<sonar.jacoco.itReportPath>${project.basedir}/../target/code-coverage/jacoco-it.exec</sonar.jacoco.itReportPath>
		<sonar.dynamicAnalysis>reuseReports</sonar.dynamicAnalysis>

		<!-- Project common dependency versions -->
		<dmaap.version>1.1.3</dmaap.version>
		<cambria.version>1.2.1-oss</cambria.version>
		<jersey.version>2.25.1</jersey.version>
		<jersey.swagger.version>1.5.18</jersey.swagger.version>
		<jackson.version>2.9.5</jackson.version>
		<http.client.version>4.5.5</http.client.version>
		<http.core.version>4.4.4</http.core.version>
		<logback.version>1.2.3</logback.version>
		<junit.version>4.12</junit.version>
		<eclipselink.version>2.7.0</eclipselink.version>
		<mariadb.jdbc.version>2.1.0</mariadb.jdbc.version>
		<hibernate.core.version>5.2.10.Final</hibernate.core.version>
		<hibernate.commons.annotations.version>5.0.1.Final</hibernate.commons.annotations.version>
		<commons.io.version>2.5</commons.io.version>
		<guava.version>23.0</guava.version>
		<xml.apis.version>1.4.01</xml.apis.version>
	</properties>

	<modules>
		<module>policy-utils</module>
		<module>policy-core</module>
		<module>policy-endpoints</module>
		<module>policy-management</module>
		<module>feature-healthcheck</module>
		<module>feature-eelf</module>
        <module>feature-pooling-dmaap</module>
		<module>feature-session-persistence</module>
		<module>feature-test-transaction</module>
		<module>api-state-management</module>
		<module>feature-state-management</module>
		<module>api-active-standby-management</module>
		<module>feature-active-standby-management</module>
		<module>feature-simulators</module>
		<module>feature-distributed-locking</module>
		<module>packages</module>
	</modules>

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

	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>com.google.guava</groupId>
				<artifactId>guava</artifactId>
				<version>${guava.version}</version>
			</dependency>
			<dependency>
				<groupId>javax.ws.rs</groupId>
				<artifactId>javax.ws.rs-api</artifactId>
				<version>2.0.1</version>
			</dependency>
			<dependency>
				<groupId>org.glassfish.hk2.external</groupId>
				<artifactId>javax.inject</artifactId>
				<version>2.4.0-b31</version>
			</dependency>
			<dependency>
				<groupId>com.fasterxml.jackson.jaxrs</groupId>
				<artifactId>jackson-jaxrs-base</artifactId>
				<version>${jackson.version}</version>
			</dependency>
			<dependency>
				<groupId>com.fasterxml.jackson.jaxrs</groupId>
				<artifactId>jackson-jaxrs-json-provider</artifactId>
				<version>${jackson.version}</version>
			</dependency>
			<dependency>
				<groupId>com.fasterxml.jackson.dataformat</groupId>
				<artifactId>jackson-dataformat-xml</artifactId>
				<version>${jackson.version}</version>
			</dependency>
			<dependency>
				<groupId>com.fasterxml.jackson.dataformat</groupId>
				<artifactId>jackson-dataformat-yaml</artifactId>
				<version>${jackson.version}</version>
			</dependency>
			<dependency>
				<groupId>com.fasterxml.jackson.datatype</groupId>
				<artifactId>jackson-datatype-joda</artifactId>
				<version>${jackson.version}</version>
			</dependency>
			<dependency>
				<groupId>org.glassfish.jersey.containers</groupId>
				<artifactId>jersey-common</artifactId>
				<version>${jersey.version}</version>
			</dependency>
			<dependency>
				<groupId>org.glassfish.jersey.containers</groupId>
				<artifactId>jersey-container-servlet-core</artifactId>
				<version>${jersey.version}</version>
			</dependency>
			<dependency>
				<groupId>io.swagger</groupId>
				<artifactId>swagger-jersey2-jaxrs</artifactId>
				<version>${jersey.swagger.version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.httpcomponents</groupId>
				<artifactId>httpclient</artifactId>
				<version>${http.client.version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.httpcomponents</groupId>
				<artifactId>httpcore</artifactId>
				<version>${http.core.version}</version>
			</dependency>
			<dependency>
				<groupId>ch.qos.logback</groupId>
				<artifactId>logback-classic</artifactId>
				<version>${logback.version}</version>
			</dependency>
			<dependency>
				<groupId>junit</groupId>
				<artifactId>junit</artifactId>
				<version>${junit.version}</version>
			</dependency>
			<dependency>
				<groupId>org.eclipse.persistence</groupId>
				<artifactId>eclipselink</artifactId>
				<version>${eclipselink.version}</version>
			</dependency>
			<dependency>
				<groupId>org.eclipse.persistence</groupId>
				<artifactId>org.eclipse.persistence.jpa</artifactId>
				<version>${eclipselink.version}</version>
			</dependency>
			<dependency>
				<groupId>org.mariadb.jdbc</groupId>
				<artifactId>mariadb-java-client</artifactId>
				<version>${mariadb.jdbc.version}</version>
			</dependency>
			<dependency>
				<groupId>org.hibernate</groupId>
				<artifactId>hibernate-core</artifactId>
				<version>${hibernate.core.version}</version>
			</dependency>
			<dependency>
				<groupId>org.hibernate.common</groupId>
				<artifactId>hibernate-commons-annotations</artifactId>
				<version>${hibernate.commons.annotations.version}</version>
			</dependency>
			<dependency>
				<groupId>commons-io</groupId>
				<artifactId>commons-io</artifactId>
				<version>${commons.io.version}</version>
			</dependency>
			<dependency>
				<groupId>xml-apis</groupId>
				<artifactId>xml-apis</artifactId>
				<version>${xml.apis.version}</version>
			</dependency>
		</dependencies>
	</dependencyManagement>

	<build>
		<plugins>
			<plugin>
				<groupId>org.jacoco</groupId>
				<artifactId>jacoco-maven-plugin</artifactId>
				<executions>
					<execution>
						<id>pre-unit-test</id>
						<goals>
							<goal>prepare-agent</goal>
						</goals>
						<configuration>
							<destFile>${sonar.jacoco.reportPath}</destFile>
							<append>true</append>
						</configuration>
					</execution>
					<execution>
						<id>post-unit-test</id>
						<phase>test</phase>
						<goals>
							<goal>report</goal>
						</goals>
						<configuration>
							<dataFile>${sonar.jacoco.reportPath}</dataFile>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.sonatype.plugins</groupId>
				<artifactId>nexus-staging-maven-plugin</artifactId>
				<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>
				<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>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-site-plugin</artifactId>
				<dependencies>
					<dependency>
						<groupId>org.apache.maven.wagon</groupId>
						<artifactId>wagon-webdav-jackrabbit</artifactId>
						<version>2.10</version>
					</dependency>
				</dependencies>
			</plugin>
		</plugins>
		<pluginManagement>
			<plugins>
				<plugin>
					<groupId>org.jacoco</groupId>
					<artifactId>jacoco-maven-plugin</artifactId>
					<version>${jacoco.version}</version>
					<configuration>
						<!-- Note: This exclusion list should match <sonar.exclusions> property 
							above -->
						<excludes>
							<exclude>**/gen/**</exclude>
							<exclude>**/generated-sources/**</exclude>
							<exclude>**/yang-gen/**</exclude>
							<exclude>**/pax/**</exclude>
						</excludes>
					</configuration>
					<executions>
						<!-- Prepares the property pointing to the JaCoCo runtime agent which 
							is passed as VM argument when Maven the Surefire plugin is executed. -->
						<execution>
							<id>pre-unit-test</id>
							<goals>
								<goal>prepare-agent</goal>
							</goals>
							<configuration>
								<destFile>${sonar.jacoco.reportPath}</destFile>
							</configuration>
						</execution>
						<!-- Ensures that the code coverage report for unit tests is created 
							after unit tests have been run. -->
						<execution>
							<id>post-unit-test</id>
							<phase>test</phase>
							<goals>
								<goal>report</goal>
							</goals>
							<configuration>
								<dataFile>${sonar.jacoco.reportPath}</dataFile>
							</configuration>
						</execution>
					</executions>
				</plugin>
				<plugin>
					<groupId>org.eclipse.m2e</groupId>
					<artifactId>lifecycle-mapping</artifactId>
					<version>1.0.0</version>
					<configuration>
						<lifecycleMappingMetadata>
							<pluginExecutions>
								<pluginExecution>
									<pluginExecutionFilter>
										<groupId>org.apache.maven.plugins</groupId>
										<artifactId>maven-checkstyle-plugin</artifactId>
										<versionRange>2.17,)</versionRange>
										<goals>
											<goal>check</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<ignore />
									</action>
								</pluginExecution>
							</pluginExecutions>
						</lifecycleMappingMetadata>
					</configuration>
				</plugin>
			</plugins>
		</pluginManagement>
	</build>
	<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>

</project>
