<?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-SNAPSHOT</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>HEAD</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>
