<?xml version="1.0" encoding="UTF-8"?>
<!--
 	Licensed to the Apache Software Foundation (ASF) under one or more
 	contributor license agreements.  See the NOTICE file distributed with
 	this work for additional information regarding copyright ownership.
 	The ASF licenses this file to You 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.
-->
<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.apache</groupId>
		<artifactId>apache</artifactId>
		<version>RELEASE</version>
	</parent>
	
	<groupId>org.apache.gossip</groupId>
	<artifactId>gossip</artifactId>
	<name>gossip</name>
	<version>0.1.2-incubating</version>
	<packaging>jar</packaging>
	<description>A peer to peer cluster discovery service</description>
	<url>http://gossip.incubator.apache.org/</url>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<java.version>1.8</java.version>
		
		<!-- dependecy versions -->
		<jackson.version>2.8.5</jackson.version>
		<metrics.version>3.1.2</metrics.version>
		<commons-math.version>1.2</commons-math.version>
		<junit.jupiter.version>5.0.0-M2</junit.jupiter.version>
		<junit.platform.version>1.0.0-M2</junit.platform.version>
		<junit.vintage.version>4.12.0-M2</junit.vintage.version>
		<log4j.version>1.2.17</log4j.version>
		<tunit.version>0.0.0</tunit.version>
		
		<!-- plugins versions -->
		<maven-compiler-plugin.version>3.5.1</maven-compiler-plugin.version>
		<maven-eclipse-plugin.version>2.10</maven-eclipse-plugin.version>
		<maven-jar-plugin.version>3.0.0</maven-jar-plugin.version>
		<maven-gpg-plugin.version>1.6</maven-gpg-plugin.version>
		<maven-dependency-plugin.version>2.10</maven-dependency-plugin.version>
	</properties>
	
	<licenses>
		<license>
			<name>The Apache Software License, Version 2.0</name>
			<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
			<distribution>repo</distribution>
		</license>
	</licenses>
	
	<scm>
		<connection>scm:git:git@github.com:apache/incubator-gossip.git</connection>
		<developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/incubator-gossip.git</developerConnection>
		<url>scm:git:git@github.com:apache/incubator-gossip.git</url>
	  <tag>gossip-0.1.2-incubating</tag>
  </scm>
	
	<issueManagement>
		<system>JIRA</system>
		<url>https://issues.apache.org/jira/browse/GOSSIP</url>
	</issueManagement>
	
	<dependencies>
		<dependency>
    			<groupId>com.fasterxml.jackson.core</groupId>
    			<artifactId>jackson-core</artifactId>
    			<version>${jackson.version}</version>
		</dependency>
		<dependency>
			<groupId>commons-math</groupId>
			<artifactId>commons-math</artifactId>
			<version>${commons-math.version}</version>
		</dependency> 
		<dependency>
			<groupId>com.fasterxml.jackson.core</groupId>
			<artifactId>jackson-databind</artifactId>
			<version>${jackson.version}</version>
		</dependency>
		<dependency>
			<groupId>io.dropwizard.metrics</groupId>
			<artifactId>metrics-core</artifactId>
			<version>${metrics.version}</version></dependency>
		<dependency>
			<groupId>org.junit.jupiter</groupId>
			<artifactId>junit-jupiter-api</artifactId>
			<version>${junit.jupiter.version}</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.junit.jupiter</groupId>
			<artifactId>junit-jupiter-engine</artifactId>
			<version>${junit.jupiter.version}</version>
			<scope>test</scope>
		</dependency>
		<dependency>
            		<groupId>org.junit.vintage</groupId>
            		<artifactId>junit-vintage-engine</artifactId>
            		<version>${junit.vintage.version}</version>
            		<scope>test</scope>
        	</dependency>
        	<dependency>
            		<groupId>org.junit.platform</groupId>
            		<artifactId>junit-platform-runner</artifactId>
            		<version>${junit.platform.version}</version>
            		<scope>test</scope>
        	</dependency>
		<dependency>
			<groupId>io.teknek</groupId>
			<artifactId>tunit</artifactId>
			<version>${tunit.version}</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>log4j</groupId>
			<artifactId>log4j</artifactId>
			<version>${log4j.version}</version>
			<type>jar</type>
			<scope>compile</scope>
			<exclusions>
				<exclusion>
					<groupId>javax.jms</groupId>
					<artifactId>jms</artifactId>
				</exclusion>
				<exclusion>
					<groupId>com.sun.jdmk</groupId>
					<artifactId>jmxtools</artifactId>
				</exclusion>
				<exclusion>
					<groupId>com.sun.jmx</groupId>
					<artifactId>jmxri</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
	</dependencies>
	
	<build>
		<pluginManagement>
			<plugins>
            				<!-- we need to tweak the maven-release-plugin for GIT -->
            				<plugin>
                				<groupId>org.apache.maven.plugins</groupId>
                				<artifactId>maven-release-plugin</artifactId>
                				<version>2.5.1</version>
                				<configuration>
			                    		<pushChanges>false</pushChanges>
                    					<localCheckout>true</localCheckout>
                    					<autoVersionSubmodules>true</autoVersionSubmodules>

                    					<releaseProfiles>distribution</releaseProfiles>
                    					<preparationGoals>clean install</preparationGoals>
                				</configuration>
            				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-jar-plugin</artifactId>
					<version>${maven-jar-plugin.version}</version>
					<configuration>
					</configuration>
					<executions>
						<execution>
							<goals>
								<goal>test-jar</goal>
							</goals>
						</execution>
					</executions>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-compiler-plugin</artifactId>
					<version>${maven-compiler-plugin.version}</version>
					<configuration>
						<source>${java.version}</source>
						<target>${java.version}</target>
						<showWarnings>true</showWarnings>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-dependency-plugin</artifactId>
					<version>${maven-dependency-plugin.version}</version>
				</plugin>
			</plugins>
		</pluginManagement>
		<plugins>
            		<plugin>
                		<artifactId>maven-compiler-plugin</artifactId>
                		<version>3.1</version>
                		<configuration>
                    			<source>${java.version}</source>
                    			<target>${java.version}</target>
                		</configuration>
            		</plugin>
            		<plugin>
                		<artifactId>maven-surefire-plugin</artifactId>
                		<version>2.19.1</version>
                		<dependencies>
                    			<dependency>
                        			<groupId>org.junit.platform</groupId>
 			                       	<artifactId>junit-platform-surefire-provider</artifactId>
                        			<version>${junit.platform.version}</version>
                    			</dependency>
                		</dependencies>
            		</plugin>
			<plugin>
        			<groupId>org.apache.rat</groupId>
        			<artifactId>apache-rat-plugin</artifactId>
				<configuration>
					<excludes>
						<exclude>README.md</exclude>
						<exclude>eclipse_template.xml</exclude>
					</excludes>
				</configuration>
        			<executions>
          				<execution>
            					<phase>verify</phase>
            					<goals>
              						<goal>check</goal>
            					</goals>
          				</execution>
        			</executions>
      			</plugin>
        	</plugins>
	</build>
	
	<repositories>
		<repository>
			<id>central</id>
			<name>Maven Repository</name>
			<url>https://repo1.maven.org/maven2</url>
			<releases>
				<enabled>true</enabled>
			</releases>
			<snapshots>
				<enabled>false</enabled>
			</snapshots>
		</repository>
	</repositories>
	
	<pluginRepositories>
		<pluginRepository>
			<id>central</id>
			<url>https://repo1.maven.org/maven2</url>
			<releases>
				<enabled>true</enabled>
			</releases>
			<snapshots>
				<enabled>false</enabled>
			</snapshots>
		</pluginRepository>
	</pluginRepositories>
	
	<developers>
		<developer>
			<id>ecapriolo</id>
			<name>Edward Capriolo</name>
			<email>edlinuxguru@gmail.com</email>
			<url>https://github.com/edwardcapriolo</url>
			<organization>Apache Software Foundation</organization>
			<organizationUrl>http://gossip.incubator.apache.org/</organizationUrl>
			<roles>
				<role>developer</role>
			</roles>
			<timezone>-6</timezone>
		</developer>
	</developers>
	
	<mailingLists>
		<mailingList>
			<name>Dev Mailing List</name>
			<post>dev@gossip.incubator.apache.org</post>
			<subscribe>dev-subscribe@gossip.incubator.apache.org</subscribe>
			<unsubscribe>dev-unsubscribe@gossip.incubator.apache.org</unsubscribe>
		</mailingList>
		<mailingList>
			<name>Commits Mailing List</name>
			<post>commits@gossip.incubator.apache.org</post>
			<subscribe>commits-subscribe@gossip.incubator.apache.org</subscribe>
			<unsubscribe>commits-unsubscribe@gossip.incubator.apache.org</unsubscribe>
		</mailingList>
	</mailingLists>
	
	<profiles>
		<profile>
			<id>release-sign-artifacts</id>
			<activation>
				<property>
					<name>performRelease</name>
					<value>true</value>
				</property>
			</activation>
			<build>
				<plugins>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-gpg-plugin</artifactId>
						<version>${maven-gpg-plugin.version}</version>
						<executions>
							<execution>
								<id>sign-artifacts</id>
								<phase>verify</phase>
								<goals>
									<goal>sign</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>
	</profiles>
</project>
