<?xml version="1.0" encoding="UTF-8"?>
<!--* ============LICENSE_START==================================================== 
	* =========================================================================== 
	* org.onap.aaf 
	* 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/xsd/maven-4.0.0.xsd">
	<parent>
		<groupId>org.onap.aaf.cadi</groupId>
		<artifactId>parent</artifactId>
		<version>2.1.16-SNAPSHOT</version>
		<relativePath>..</relativePath>
	</parent>
	<modelVersion>4.0.0</modelVersion>
	<groupId>org.onap.aaf.cadi.sidecar</groupId>
	<artifactId>sidecar</artifactId>
	<name>Sidecar Parent</name>
	<packaging>pom</packaging>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<sonar.skip>false</sonar.skip>
		<jacoco.version>0.7.7.201606060606</jacoco.version>
		<sonar-jacoco-listeners.version>3.2</sonar-jacoco-listeners.version>
		<sonar.core.codeCoveragePlugin>jacoco</sonar.core.codeCoveragePlugin>
		<!-- Default Sonar configuration -->
		<sonar.jacoco.reportPaths>target/code-coverage/jacoco-ut.exec</sonar.jacoco.reportPaths>
		<sonar.jacoco.itReportPaths>target/code-coverage/jacoco-it.exec</sonar.jacoco.itReportPaths>
		<!-- Note: This list should match jacoco-maven-plugin's exclusion list 
			below -->
		<sonar.exclusions>**/gen/**,**/generated-sources/**,**/yang-gen**,**/pax/**</sonar.exclusions>
		<nexusproxy>https://nexus.onap.org</nexusproxy>
		<snapshotNexusPath>/content/repositories/snapshots/</snapshotNexusPath>
		<releaseNexusPath>/content/repositories/releases/</releaseNexusPath>
		<stagingNexusPath>/content/repositories/staging/</stagingNexusPath>
		<sitePath>/content/sites/site/org/onap/aaf/authz/${project.artifactId}/${project.version}</sitePath>

		<java.version>1.8</java.version>
		<!-- Spring boot version 
		  Must match oParent
		-->
		<spring.boot.version>2.1.1.RELEASE</spring.boot.version>
		<spring.web.version>5.1.3.RELEASE</spring.web.version>

		<docker.location>${basedir}/target/build</docker.location>
		<!-- <skipNexusStagingDeployMojo>true</skipNexusStagingDeployMojo> -->

	</properties>

	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>org.onap.aaf.cadi.sidecar</groupId>
				<artifactId>fproxy</artifactId>
				<version>2.1.13</version>
			</dependency>
			<dependency>
				<groupId>org.onap.aaf.cadi.sidecar</groupId>
				<artifactId>rproxy</artifactId>
				<version>2.1.13</version>
			</dependency>
			<dependency>
				<groupId>javax.servlet</groupId>
				<artifactId>javax.servlet-api</artifactId>
				<version>3.1.0</version>
			</dependency>
			<dependency>
				<groupId>org.aspectj</groupId>
				<artifactId>aspectjrt</artifactId>
				<version>1.9.2</version>
			</dependency>
			<dependency>
				<groupId>com.google.code.gson</groupId>
				<artifactId>gson</artifactId>
				<version>2.8.5</version>
			</dependency>
			<dependency>
				<groupId>org.apache.commons</groupId>
				<artifactId>commons-lang3</artifactId>
				<version>3.8.1</version>
			</dependency>
			<dependency>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-starter-jetty</artifactId>
				<version>${spring.boot.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-starter-aop</artifactId>
				<version>${spring.boot.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-starter-web</artifactId>
				<version>${spring.boot.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-starter-test</artifactId>
				<version>${spring.boot.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>spring-core</artifactId>
				<version>${spring.web.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>spring-expression</artifactId>
				<version>${spring.web.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>spring-web</artifactId>
				<version>${spring.web.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>spring-webmvc</artifactId>
				<version>${spring.web.version}</version>
			</dependency>
			<dependency>
				<groupId>ch.qos.logback</groupId>
				<artifactId>logback-classic</artifactId>
			</dependency>
		</dependencies>
	</dependencyManagement>

	<!-- ============================================================== -->
	<!-- Define sub-projects (modules) -->
	<!-- ============================================================== -->
	<modules>
		<module>fproxy</module>
		<module>rproxy</module>
		<module>tproxy-config</module>
	</modules>

	<build>
		<pluginManagement>
			<plugins>

				<plugin>
					<artifactId>maven-surefire-plugin</artifactId>
					<version>2.17</version>
					<configuration>
						<!-- Suppresses parent pom config of Surefire plugin. Has the affect of 
						     setting Surefire file includes back to default and re-enables sidecar
						     unit tests -->
						<includes combine.self="override"></includes>
					</configuration>
				</plugin>

				<plugin>
					<groupId>com.mycila</groupId>
					<artifactId>license-maven-plugin</artifactId>
					<version>3.0</version>
					<configuration>
						<header>License.txt</header>
						<includes>
							<include>src/main/java/**</include>
							<include>src/test/java/**</include>
							<include>pom.xml</include>
						</includes>
						<skipExistingHeaders>true</skipExistingHeaders>
					</configuration>
					<executions>
						<execution>
							<goals>
								<!-- Set goal from "check" to "format" to auto update license headers -->
								<goal>check</goal>
							</goals>
							<phase>validate</phase>
						</execution>
					</executions>
				</plugin>
			</plugins>
		</pluginManagement>
	</build>
</project>
