<?xml version="1.0" encoding="UTF-8"?>
<!--

    ﻿============LICENSE_START=======================================================
    org.onap.aaf
    ================================================================================
    Copyright © 2018 European Software Marketing Ltd.
    ================================================================================
    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">
	<modelVersion>4.0.0</modelVersion>
	<groupId>org.onap.aaf.cadi.sidecar</groupId>
	<artifactId>sidecar</artifactId>
	<version>2.1.2-SNAPSHOT</version>
	<name>aaf-cadi-sidecar</name>
	<packaging>pom</packaging>

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

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<java.version>1.8</java.version>
	</properties>

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

	<build>
		<pluginManagement>
			<plugins>
				<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>
