<?xml version="1.0"?>
<!-- ============LICENSE_START======================================================= 
	org.onap.dmaap ================================================================================ 
	Copyright © 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========================================================= 
	ECOMP is a trademark and service mark of AT&T Intellectual Property. -->
<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.oparent</groupId>
		<artifactId>oparent</artifactId>
		<version>1.2.1</version>
	</parent>

	<groupId>org.onap.dmaap.zookeeper</groupId>
	<artifactId>zookeepr</artifactId>
	<version>2.0.0-SNAPSHOT</version>
	<name>zookeeper</name>
	<licenses>
		<license>
			<name>Apache License Version 2.0</name>
		</license>
	</licenses>

	<developers>
		<developer>
			<name>Sunil Unnava</name>
			<email/>
			<organization>ATT</organization>
			<organizationUrl>www.att.com</organizationUrl>
		</developer>
	</developers>

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

			<!-- <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> 
				<version>3.0.2</version> </plugin> -->

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-source-plugin</artifactId>
				<version>3.0.0</version>
				<executions>
					<execution>
						<id>attach-sources</id>
						<goals>
							<goal>jar-no-fork</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-release-plugin</artifactId>
				<version>2.5.3</version>
				<configuration>
					<autoVersionSubmodules>true</autoVersionSubmodules>
					<checkModificationExcludes>
					</checkModificationExcludes>
				</configuration>
				<dependencies>
					<dependency>
						<groupId>org.apache.maven.scm</groupId>
						<artifactId>maven-scm-provider-gitexe</artifactId>
						<version>1.9.4</version>
					</dependency>
				</dependencies>
			</plugin>

			<plugin>
				<groupId>org.sonatype.plugins</groupId>
				<artifactId>nexus-staging-maven-plugin</artifactId>
				<extensions>false</extensions>
				<executions>
					<execution>
						<id>injected-nexus-deploy</id>
						<phase>none</phase>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<artifactId>maven-deploy-plugin</artifactId>
				<version>2.8</version>
				<executions>
					<execution>
						<id>default-deploy</id>
						<phase>none</phase>
						<configuration>
							<skip />
						</configuration>
					</execution>
				</executions>
				<configuration>
					<skip />
				</configuration>
			</plugin>
			<plugin>
				<groupId>com.spotify</groupId>
				<artifactId>docker-maven-plugin</artifactId>
				<version>1.0.0</version>
				<configuration>
					<imageName>onap/dmaap/zookeeper</imageName>
					<dockerDirectory>src/main/docker</dockerDirectory>
					<serverId>docker-hub</serverId>
					<imageTags>
						<imageTag>${zookeeperImg}</imageTag>
						<imageTag>latest</imageTag>
					</imageTags>
					<forceTags>true</forceTags>
					<resources>
						<!-- <resource> <targetPath>/</targetPath> <directory>${dockerLocation}</directory> 
							<include>${project.build.finalName}.jar</include> </resource> -->
						<resource>
							<targetPath>/</targetPath>
							<directory>${project.build.directory}</directory>
							<include>**/**</include>
						</resource>
					</resources>
				</configuration>
				<executions>
					<execution>
						<id>build-image</id>
						<phase>install</phase>
						<goals>
							<goal>build</goal>
						</goals>
						<configuration>
							<skipDockerBuild>${skip.docker.build}</skipDockerBuild>
						</configuration>
					</execution>

					<execution>
						<id>tag-image-project-version</id>
						<phase>install</phase>
						<goals>
							<goal>tag</goal>
						</goals>
						<configuration>
							<image>onap/dmaap/zookeeper</image>
							<newName>${docker.push.registry}/onap/dmaap/zookeeper:${zookeeperImg}</newName>
							<skipDockerTag>${skip.docker.push}</skipDockerTag>
						</configuration>
					</execution>

					<execution>
						<id>tag-image-latest</id>
						<phase>install</phase>
						<goals>
							<goal>tag</goal>
						</goals>
						<configuration>
							<image>onap/dmaap/zookeeper</image>
							<newName>${docker.push.registry}/onap/dmaap/zookeeper:latest</newName>
							<skipDockerTag>${skip.docker.push}</skipDockerTag>
						</configuration>
					</execution>

					<execution>
						<id>push-image</id>
						<phase>deploy</phase>
						<goals>
							<goal>push</goal>
						</goals>
						<configuration>
							<imageName>${docker.push.registry}/onap/dmaap/zookeeper:${zookeeperImg}</imageName>
							<skipDockerPush>${skip.docker.push}</skipDockerPush>
						</configuration>
					</execution>

					<execution>
						<id>push-image-latest</id>
						<phase>deploy</phase>
						<goals>
							<goal>push</goal>
						</goals>
						<configuration>
							<imageName>${docker.push.registry}/onap/dmaap/zookeeper:latest</imageName>
							<skipDockerPush>${skip.docker.push}</skipDockerPush>
						</configuration>
					</execution>
				</executions>
			</plugin>

		</plugins>
	</build>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<zookeeperImg>2.0.0</zookeeperImg>
		<sitePath>/content/sites/site/org/onap/dmaap/zookeeper/${project.artifactId}/${project.version}</sitePath>
		<skip.docker.build>true</skip.docker.build>
		<skip.docker.push>true</skip.docker.push>
		<nexusproxy>https://nexus.onap.org</nexusproxy>
		<docker.push.registry>nexus3.onap.org:10003</docker.push.registry>
		<onap.nexus.url>https://nexus.onap.org</onap.nexus.url>
	</properties>

	<!-- Distribution management -->
	<distributionManagement>
		<site>
			<id>ecomp-site</id>
			<url>dav:${nexusproxy}${sitePath}</url>
		</site>
	</distributionManagement>

	<dependencies>
	</dependencies>

	<profiles>
		<profile>
			<id>docker</id>
			<properties>
				<skip.docker.build>false</skip.docker.build>
				<skip.docker.tag>false</skip.docker.tag>
				<skip.docker.push>false</skip.docker.push>
			</properties>
		</profile>

	</profiles>

</project>
