<?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/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>


	<groupId>org.apache.pirk</groupId>
	<artifactId>apache-pirk</artifactId>
	<version>0.0.1</version>
	<packaging>jar</packaging>

	<name>Apache Pirk (incubating) Project</name>
	<description>Apache Pirk (incubating) is a framework for scalable Private Information Retrieval (PIR). </description>
	<url>http://pirk.incubator.apache.org/</url>

	<!-- this is the year of inception at ASF -->
	<inceptionYear>2016</inceptionYear>

	<organization>
		<name>The Apache Software Foundation</name>
		<url>https://www.apache.org</url>
	</organization>

	<licenses>
		<license>
			<name>Apache License, Version 2.0</name>
			<url>https://www.apache.org/licenses/LICENSE-2.0</url>
		</license>
	</licenses>

	<mailingLists>
		<mailingList>
			<name>Dev</name>
			<subscribe>dev-subscribe@pirk.incubator.apache.org</subscribe>
			<unsubscribe>dev-unsubscribe@pirk.incubator.apache.org</unsubscribe>
			<post>dev@pirk.incubator.apache.org</post>
			<archive>http://mail-archives.apache.org/mod_mbox/incubator-pirk-dev/</archive>
		</mailingList>
		<mailingList>
			<name>Commits</name>
			<subscribe>commits-subscribe@pirk.incubator.apache.org</subscribe>
			<unsubscribe>commits-unsubscribe@pirk.incubator.apache.org</unsubscribe>
			<archive>http://mail-archives.apache.org/mod_mbox/incubator-pirk-commits</archive>
		</mailingList>
	</mailingLists>

	<scm>
		<connection>scm:git:git://git.apache.org/incubator-pirk.git</connection>
		<developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/incubator-pirk.git</developerConnection>
		<url>https://git-wip-us.apache.org/repos/asf?p=incubator-pirk.git</url>
		<tag>apache-pirk-0.0.1</tag>
	</scm>

	<issueManagement>
		<system>JIRA</system>
		<url>https://issues.apache.org/jira/browse/PIRK</url>
	</issueManagement>

	<repositories>
		<repository>
			<id>mvn-public</id>
			<url>http://mvnrepository.com/artifact</url>
			<snapshots>
				<updatePolicy>always</updatePolicy>
			</snapshots>
		</repository>
		<repository>
			<id>apache-repo</id>
			<name>Apache Repository</name>
			<url>https://repository.apache.org/content/repositories/releases</url>
			<releases>
				<enabled>true</enabled>
			</releases>
			<snapshots>
				<enabled>false</enabled>
			</snapshots>
		</repository>
	</repositories>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<maven.compiler.source>1.8</maven.compiler.source>
		<maven.compiler.target>1.8</maven.compiler.target>
		<scala.version>2.10.4</scala.version>
		<jmh.version>1.11.3</jmh.version>
		<benchmarkjar.name>benchmarks</benchmarkjar.name>
		<javac.target>1.8</javac.target>
		<slf4j.version>1.7.21</slf4j.version>
		<log4j2.version>2.6.2</log4j2.version>
		<junit.version>4.12</junit.version>
		<log4j.configuration>log4j2.xml</log4j.configuration>
		<hadoop.version>2.7.2</hadoop.version>
		<apache-commons.version>3.3</apache-commons.version>
		<elasticsearch.version>2.3.3</elasticsearch.version>
		<pirk.forkCount>1C</pirk.forkCount>
		<pirk.reuseForks>true</pirk.reuseForks>
		<jackson.version>2.8.1</jackson.version>
	</properties>

	<dependencies>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.12</version>
		</dependency>

		<dependency>
			<groupId>org.apache.commons</groupId>
			<artifactId>commons-math3</artifactId>
			<version>${apache-commons.version}</version>
		</dependency>

		<dependency>
			<groupId>com.googlecode.json-simple</groupId>
			<artifactId>json-simple</artifactId>
			<version>1.1</version>
		</dependency>

		<dependency>
			<groupId>commons-net</groupId>
			<artifactId>commons-net</artifactId>
			<version>${apache-commons.version}</version>
		</dependency>

		<dependency>
			<groupId>org.apache.hadoop</groupId>
			<artifactId>hadoop-common</artifactId>
			<version>${hadoop.version}</version>
			<exclusions>
				<exclusion>
					<groupId>org.slf4j</groupId>
					<artifactId>slf4j-log4j12</artifactId>
				</exclusion>
			</exclusions>
		</dependency>

		<dependency>
			<groupId>org.apache.hadoop</groupId>
			<artifactId>hadoop-mapreduce-client-core</artifactId>
			<version>${hadoop.version}</version>
			<exclusions>
				<exclusion>
					<groupId>org.slf4j</groupId>
					<artifactId>slf4j-log4j12</artifactId>
				</exclusion>
				<exclusion>
					<groupId>log4j</groupId>
					<artifactId>log4j</artifactId>
				</exclusion>
			</exclusions>
		</dependency>

		<dependency>
			<groupId>org.apache.hadoop</groupId>
			<artifactId>hadoop-client</artifactId>
			<version>${hadoop.version}</version>
			<exclusions>
				<exclusion>
					<groupId>org.slf4j</groupId>
					<artifactId>slf4j-log4j12</artifactId>
				</exclusion>
				<exclusion>
					<groupId>log4j</groupId>
					<artifactId>log4j</artifactId>
				</exclusion>
			</exclusions>
		</dependency>

		<dependency>
			<groupId>org.apache.spark</groupId>
			<artifactId>spark-core_2.11</artifactId>
			<version>1.6.1</version>
			<exclusions>
				<exclusion>
					<groupId>org.slf4j</groupId>
					<artifactId>slf4j-log4j12</artifactId>
				</exclusion>
				<exclusion>
					<groupId>log4j</groupId>
					<artifactId>log4j</artifactId>
				</exclusion>
			</exclusions>
		</dependency>

		<dependency>
			<groupId>org.elasticsearch</groupId>
			<artifactId>elasticsearch-hadoop</artifactId>
			<version>${elasticsearch.version}</version>
			<exclusions>
				<exclusion>
					<artifactId>commons-net</artifactId>
					<groupId>commons-net</groupId>
				</exclusion>
				<exclusion>
					<groupId>org.apache.hive</groupId>
					<artifactId>hive-service</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.slf4j</groupId>
					<artifactId>slf4j-log4j12</artifactId>
				</exclusion>
				<exclusion>
					<groupId>log4j</groupId>
					<artifactId>log4j</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.apache.storm</groupId>
					<artifactId>storm-core</artifactId>
				</exclusion>
			</exclusions>
		</dependency>

		<!-- Square's JNA GMP module -->
		<dependency>
			<groupId>com.squareup.jnagmp</groupId>
			<artifactId>jnagmp</artifactId>
			<version>1.1.0</version>
		</dependency>

		<!-- JMH for benchmarking the Paillier functions -->
		<dependency>
			<groupId>org.openjdk.jmh</groupId>
			<artifactId>jmh-core</artifactId>
			<version>${jmh.version}</version>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>org.openjdk.jmh</groupId>
			<artifactId>jmh-generator-annprocess</artifactId>
			<version>${jmh.version}</version>
			<scope>provided</scope>
		</dependency>

		<!-- Sl4j modules -->
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-api</artifactId>
			<version>${slf4j.version}</version>
		</dependency>

		<dependency>
			<groupId>org.apache.logging.log4j</groupId>
			<artifactId>log4j-slf4j-impl</artifactId>
			<version>2.6.2</version>
		</dependency>

		<dependency>
			<groupId>org.apache.logging.log4j</groupId>
			<artifactId>log4j-core</artifactId>
			<version>2.6.2</version>
		</dependency>

		<!-- Jackson dependency -->
		<dependency>
			<groupId>com.fasterxml.jackson.core</groupId>
			<artifactId>jackson-core</artifactId>
			<version>${jackson.version}</version>
		</dependency>

	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
			</plugin>

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

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-shade-plugin</artifactId>
			</plugin>

			<plugin>
				<groupId>org.apache.rat</groupId>
				<artifactId>apache-rat-plugin</artifactId>
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-release-plugin</artifactId>
			</plugin>
		</plugins>

		<pluginManagement>
			<plugins>
				<plugin>
					<groupId>org.apache.rat</groupId>
					<artifactId>apache-rat-plugin</artifactId>
					<version>0.12</version>
					<configuration>
						<excludes>
							<exclude>.travis.yml</exclude> <!-- Travis CI Build Descriptor File -->
							<exclude>findbugs-exclude.xml</exclude> <!-- False positives for FindBugs analysis -->
							<exclude>KEYS</exclude> <!-- GPG keys of Release Managers -->
							<exclude>eclipse*.xml</exclude> <!-- Exclude eclipse* xml -->
							<exclude>docs/*</exclude> <!-- Exclude docs -->
							<exclude>logs/*</exclude> <!-- Exclude logs -->
							<exclude>**/m2.conf</exclude> <!-- Exclude Maven conf which gets installed on travis and fails RAT check -->
						</excludes>
					</configuration>
					<dependencies>
						<!-- workaround for RAT-158 -->
						<dependency>
							<groupId>org.apache.maven.doxia</groupId>
							<artifactId>doxia-core</artifactId>
							<version>1.6</version>
							<exclusions>
								<exclusion>
									<groupId>xerces</groupId>
									<artifactId>xercesImpl</artifactId>
								</exclusion>
							</exclusions>
						</dependency>
					</dependencies>
					<executions>
						<execution>
							<phase>validate</phase>
							<goals>
								<goal>check</goal>
							</goals>
						</execution>
					</executions>
				</plugin>

				<!-- Coverage analysis for tests -->
				<plugin>
					<groupId>org.jacoco</groupId>
					<artifactId>jacoco-maven-plugin</artifactId>
					<version>0.7.5.201505241946</version>
					<executions>
						<execution>
							<goals>
								<goal>prepare-agent</goal>
							</goals>
							<configuration>
								<output>file</output>
								<dumpOnExit>true</dumpOnExit>
							</configuration>
						</execution>
						<execution>
							<id>report</id>
							<phase>prepare-package</phase>
							<goals>
								<goal>report</goal>
							</goals>
						</execution>
					</executions>
				</plugin>

				<!-- Report jacoco coverage to coveralls.io -->
				<plugin>
					<groupId>org.eluder.coveralls</groupId>
					<artifactId>coveralls-maven-plugin</artifactId>
					<version>4.1.0</version>
				</plugin>


				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-surefire-plugin</artifactId>
					<version>2.18</version>
					<configuration>
						<redirectTestOutputToFile>true</redirectTestOutputToFile>
						<argLine combine.children="append">-Xmx1G
							-Djava.net.preferIPv4Stack=true
						</argLine>
						<systemPropertyVariables>
							<log4j.configuration>${log4j.configuration}</log4j.configuration>
						</systemPropertyVariables>
						<forkCount>${pirk.forkCount}</forkCount>
						<reuseForks>${pirk.reuseForks}</reuseForks>
					</configuration>
					<dependencies>
						<dependency>
							<!-- Force surefire to use JUnit -->
							<groupId>org.apache.maven.surefire</groupId>
							<artifactId>surefire-junit4</artifactId>
							<version>2.18</version>
						</dependency>
					</dependencies>
				</plugin>

				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-compiler-plugin</artifactId>
					<version>3.5.1</version>
					<configuration>
						<compilerVersion>${javac.target}</compilerVersion>
						<source>${javac.target}</source>
						<target>${javac.target}</target>
					</configuration>
				</plugin>

				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-jar-plugin</artifactId>
					<version>3.0.1</version>
					<configuration>
						<excludes>
							<exclude>org/apache/pirk/benchmark/**</exclude>
							<exclude>org/openjdk/jmh/**</exclude>
						</excludes>
					</configuration>
				</plugin>

				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-shade-plugin</artifactId>
					<version>2.4.3</version> <!-- older versions of maven-shade-plugin make JMH painful -->

					<executions>
						<execution>
							<phase>package</phase>
							<id>main</id>
							<goals>
								<goal>shade</goal>
							</goals>
							<configuration>
								<shadedArtifactAttached>true</shadedArtifactAttached>
								<shadedClassifierName>exe</shadedClassifierName>
								<minimizeJar>true</minimizeJar>
								<transformers>
									<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
									</transformer>
									<transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer">
									</transformer>
								</transformers>
								<filters>
									<filter>
										<artifact>org.tachyonproject:*</artifact>
										<includes>
											<include>org/tachyonproject/**</include>
										</includes>
									</filter>
									<filter>
										<artifact>*:*</artifact>
										<excludes>
											<exclude>META-INF/*.SF</exclude>
											<exclude>META-INF/*.DSA</exclude>
											<exclude>META-INF/*.RSA</exclude>
										</excludes>
									</filter>
								</filters>
							</configuration>
						</execution>

						<!-- in the version with benchmarks (pom-with-benchmarks.xml), this 
							is where that <execution></execution> lives -->

					</executions>
				</plugin>

				<!--This plugin's configuration is used to store Eclipse m2e settings 
					only. It has no influence on the Maven build itself. -->
				<plugin>
					<groupId>org.eclipse.m2e</groupId>
					<artifactId>lifecycle-mapping</artifactId>
					<version>1.0.0</version>
					<configuration>
						<lifecycleMappingMetadata>
							<pluginExecutions>
								<pluginExecution>
									<pluginExecutionFilter>
										<groupId>
											org.scala-tools
										</groupId>
										<artifactId>
											maven-scala-plugin
										</artifactId>
										<versionRange>
											[2.15.2,)
										</versionRange>
										<goals>
											<goal>testCompile</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<ignore />
									</action>
								</pluginExecution>
								<pluginExecution>
									<pluginExecutionFilter>
										<groupId>
											org.apache.rat
										</groupId>
										<artifactId>
											apache-rat-plugin
										</artifactId>
										<versionRange>
											[0.11,)
										</versionRange>
										<goals>
											<goal>check</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<ignore />
									</action>
								</pluginExecution>
							</pluginExecutions>
						</lifecycleMappingMetadata>
					</configuration>
				</plugin>

				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-release-plugin</artifactId>
					<version>2.5.1</version>
					<configuration>
						<useReleaseProfile>true</useReleaseProfile>
						<releaseProfiles>signed_release</releaseProfiles>
						<autoVersionSubmodules>true</autoVersionSubmodules>
						<goals>deploy</goals>
						<tagNameFormat>@{project.artifactId}-@{project.version}</tagNameFormat>
						<pushChanges>false</pushChanges>
						<localCheckout>true</localCheckout>
					</configuration>
					<executions>
						<execution>
							<id>default</id>
							<goals>
								<goal>perform</goal>
							</goals>
							<configuration>
								<pomFileName>pom.xml</pomFileName>
							</configuration>
						</execution>
					</executions>
				</plugin>

				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-javadoc-plugin</artifactId>
					<version>2.10.4</version>
					<configuration>
						<javadocDirectory>docs</javadocDirectory>
						<testJavadocDirectory>docs/test</testJavadocDirectory>
						<javadocVersion>1.8</javadocVersion>
					</configuration>
				</plugin>
			</plugins>
		</pluginManagement>

	</build>

	<profiles>
		<profile>
			<!-- Performs execution of Integration Tests using the Maven FailSafe 
				Plugin. The view of integration tests in this context are those tests interfacing 
				with external sources and services requiring additional resources or credentials 
				that cannot be explicitly provided. -->
			<id>integration-tests</id>
			<build>
				<plugins>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-failsafe-plugin</artifactId>
						<executions>
							<execution>
								<goals>
									<goal>integration-test</goal>
									<goal>verify</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>
		<profile>
			<!-- Checks style and licensing requirements. This is a good idea to run 
				for contributions and for the release process. While it would be nice to 
				run always these plugins can considerably slow the build and have proven 
				to create unstable builds in our multi-module project and when building using 
				multiple threads. The stability issues seen with Checkstyle in multi-module 
				builds include false-positives and false negatives. -->
			<id>contrib-check</id>
			<build>
				<plugins>
					<plugin>
						<groupId>org.apache.rat</groupId>
						<artifactId>apache-rat-plugin</artifactId>
						<executions>
							<execution>
								<goals>
									<goal>check</goal>
								</goals>
								<phase>verify</phase>
							</execution>
						</executions>
					</plugin>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-checkstyle-plugin</artifactId>
						<executions>
							<execution>
								<id>check-style</id>
								<goals>
									<goal>check</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>
		<profile>
			<!-- This profile will disable DocLint which performs strict JavaDoc processing 
				which was introduced in JDK 8. These are technically errors in the JavaDoc 
				which we need to eventually address. However, if a release is performed using 
				JDK 8, the JavaDoc generation would fail. By activating this profile when 
				running on JDK 8 we can ensure the JavaDocs continue to generate successfully -->
			<id>disable-doclint</id>
			<activation>
				<jdk>1.8</jdk>
			</activation>
			<build>
				<pluginManagement>
					<plugins>
						<plugin>
							<groupId>org.apache.maven.plugins</groupId>
							<artifactId>maven-javadoc-plugin</artifactId>
							<configuration>
								<additionalparam>-Xdoclint:none</additionalparam>
							</configuration>
						</plugin>
					</plugins>
				</pluginManagement>
			</build>
		</profile>
	</profiles>

</project>