<!-- ============LICENSE_START======================================================= 
	Copyright (C) 2019 Nordix Foundation. ================================================================================ 
	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. SPDX-License-Identifier: 
	Apache-2.0 ============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>
	<parent>
		<groupId>org.onap.svnfm</groupId>
		<artifactId>simulator</artifactId>
		<version>1.0.0-SNAPSHOT</version>
	</parent>

	<artifactId>packages</artifactId>
	<packaging>pom</packaging>
	<name>SVNFM Simulator Packages</name>


	<profiles>
		<!-- DO NOT CHANGE THE *ORDER* IN WHICH THESE PROFILES ARE DEFINED! -->

		<profile>
			<id>default</id>
			<activation>
				<activeByDefault>true</activeByDefault>
			</activation>
		</profile>

		<!-- Those profile are exclusive, choose docker or with-integration-tests -->
		<profile>
			<id>docker</id>
			<modules>
				<module>docker</module>
			</modules>
			<properties>
				<!-- For this profile we probably don't want to skip the docker push 
					(if deploy goal is specified) -->
				<docker.skip.push>false</docker.skip.push>
			</properties>
		</profile>
	</profiles>
</project>