<!-- ~ 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.phoenix</groupId>
		<artifactId>phoenix</artifactId>
		<version>4.8.0-HBase-0.98</version>
	</parent>

	<artifactId>phoenix-pherf</artifactId>
	<packaging>jar</packaging>
	<name>Phoenix - Pherf</name>

	<properties>
		<top.dir>${project.basedir}/..</top.dir>
		<shaded.package>org.apache.phoenix.shaded</shaded.package>
	</properties>

	<repositories>
		<repository>
			<id>apache release</id>
			<url>https://repository.apache.org/content/repositories/releases/</url>
		</repository>
	</repositories>

	<dependencies>
		<dependency>
			<groupId>org.apache.phoenix</groupId>
			<artifactId>phoenix-core</artifactId>
		</dependency>
		<dependency>
			<groupId>org.apache.phoenix</groupId>
			<artifactId>phoenix-core</artifactId>
			<classifier>tests</classifier>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>com.googlecode.java-diff-utils</groupId>
			<artifactId>diffutils</artifactId>
			<version>1.2.1</version>
		</dependency>
		<dependency>
			<groupId>org.apache.commons</groupId>
			<artifactId>commons-lang3</artifactId>
			<version>3.3.2</version>
		</dependency>
		<dependency>
			<groupId>org.apache.commons</groupId>
			<artifactId>commons-math3</artifactId>
			<version>3.3</version>
		</dependency>

		<!-- Test Dependencies -->
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>com.jcabi</groupId>
			<artifactId>jcabi-jdbc</artifactId>
			<version>0.15</version>
		</dependency>
		<dependency>
			<groupId>org.hamcrest</groupId>
			<artifactId>hamcrest-junit</artifactId>
			<version>1.0.0.0</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>com.github.stefanbirkner</groupId>
			<artifactId>system-rules</artifactId>
			<version>1.8.0</version>
		</dependency>
		<dependency>
			<groupId>org.apache.hbase</groupId>
			<artifactId>hbase-testing-util</artifactId>
			<scope>test</scope>
			<optional>true</optional>
		</dependency>
		<dependency>
			<groupId>org.apache.hbase</groupId>
			<artifactId>hbase-it</artifactId>
			<type>test-jar</type>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.apache.tephra</groupId>
			<artifactId>tephra-core</artifactId>
			<type>test-jar</type>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.apache.hadoop</groupId>
			<artifactId>hadoop-minicluster</artifactId>
			<scope>test</scope>
		</dependency>
	</dependencies>

	<build>
		<resources>
			<resource>
				<directory>src/main/resources</directory>
			</resource>
			<resource>
				<directory>config</directory>
				<excludes>
					<exclude>**/*.sql</exclude>
					<exclude>**/*.xml</exclude>
				</excludes>
			</resource>
		</resources>
		<testResources>
			<testResource>
				<directory>src/test/resources</directory>
			</testResource>
			<testResource>
				<directory>${project.basedir}/config</directory>
			</testResource>
		</testResources>
		<plugins>
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>build-helper-maven-plugin</artifactId>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-failsafe-plugin</artifactId>
			</plugin>
			<plugin>
				<artifactId>maven-dependency-plugin</artifactId>
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<configuration>
					<source>1.7</source>
					<target>1.7</target>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
					<configuration>
						<workingDirectory>${java.io.tmpdir}</workingDirectory>
						<forkCount>1</forkCount>
					</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-resources-plugin</artifactId>
			</plugin>
		<plugin>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-install-plugin</artifactId>
			<executions>
				<execution>
					<goals>
						<goal>install-file</goal>
					</goals>
					<id>default-install</id>
					<configuration>
						<skip>true</skip>
					</configuration>
					<phase>install</phase>
				</execution>
			</executions>
			<configuration>
				<file>${basedir}/target/phoenix-pherf-${project.version}-minimal.jar</file>
			</configuration>
		</plugin>
		<plugin>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-shade-plugin</artifactId>
			<executions>
				<execution>
					<phase>package</phase>
					<goals>
						<goal>shade</goal>
					</goals>
					<configuration>
						<finalName>phoenix-pherf-${project.version}-minimal</finalName>
						<shadedArtifactAttached>false</shadedArtifactAttached>
						<promoteTransitiveDependencies>true</promoteTransitiveDependencies>
						<shadeTestJar>false</shadeTestJar>
						<transformers>
							<transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
							<transformer
									implementation="org.apache.maven.plugins.shade.resource.IncludeResourceTransformer">
								<resource>README.md</resource>
								<file>${project.basedir}/../README.md</file>
							</transformer>
							<transformer
									implementation="org.apache.maven.plugins.shade.resource.IncludeResourceTransformer">
								<resource>LICENSE.txt</resource>
								<file>${project.basedir}/../LICENSE</file>
							</transformer>
							<transformer
									implementation="org.apache.maven.plugins.shade.resource.IncludeResourceTransformer">
								<resource>NOTICE</resource>
								<file>${project.basedir}/../NOTICE</file>
							</transformer>
						</transformers>
						<artifactSet>
							<includes>
								<include>org.apache.phoenix:phoenix-pherf</include>
								<include>com.googlecode.java-diff-utils:diffutils</include>
								<include>org.apache.commons:commons-lang3</include>
								<include>org.apache.commons:commons-math3</include>
							</includes>
						</artifactSet>
						<filters>
							<filter>
								<artifact>*:*</artifact>
								<excludes>
									<exclude>META-INF/*.SF</exclude>
									<exclude>META-INF/*.DSA</exclude>
									<exclude>META-INF/*.RSA</exclude>
									<exclude>META-INF/license/*</exclude>
									<exclude>LICENSE.*</exclude>
									<exclude>NOTICE.*</exclude>
								</excludes>
							</filter>
						</filters>

						<relocations>

							<!-- COM relocation -->
							<relocation>
								<pattern>com.codahale</pattern>
								<shadedPattern>${shaded.package}.com.codahale</shadedPattern>
							</relocation>
							<relocation>
								<pattern>com.fasterxml</pattern>
								<shadedPattern>${shaded.package}.com.fasterxml</shadedPattern>
							</relocation>
							<relocation>
								<pattern>com.jamesmurty</pattern>
								<shadedPattern>${shaded.package}.com.jamesmurty</shadedPattern>
							</relocation>
							<relocation>
								<pattern>com.jcraft</pattern>
								<shadedPattern>${shaded.package}.com.jcraft</shadedPattern>
							</relocation>
							<relocation>
								<pattern>com.lmax</pattern>
								<shadedPattern>${shaded.package}.com.lmax</shadedPattern>
							</relocation>
							<relocation>
								<pattern>com.thoughtworks</pattern>
								<shadedPattern>${shaded.package}.com.thoughtworks</shadedPattern>
							</relocation>
							<relocation>
								<pattern>com.yammer</pattern>
								<shadedPattern>${shaded.package}.com.yammer</shadedPattern>
							</relocation>

							<!-- IO relocations -->
							<relocation>
								<pattern>io.netty</pattern>
								<shadedPattern>${shaded.package}.io.netty</shadedPattern>
							</relocation>

							<!-- ORG relocations -->
							<relocation>
								<pattern>org.antlr</pattern>
								<shadedPattern>${shaded.package}.org.antlr</shadedPattern>
							</relocation>
							<relocation>
								<pattern>org.aopalliance</pattern>
								<shadedPattern>${shaded.package}.org.aopalliance</shadedPattern>
							</relocation>
							<relocation>
								<pattern>org.codehaus</pattern>
								<shadedPattern>${shaded.package}.org.codehaus</shadedPattern>
							</relocation>
							<relocation>
								<pattern>org.fusesource</pattern>
								<shadedPattern>${shaded.package}.org.fusesource</shadedPattern>
							</relocation>
							<relocation>
								<pattern>org.hamcrest</pattern>
								<shadedPattern>${shaded.package}.org.hamcrest</shadedPattern>
							</relocation>
							<relocation>
								<pattern>org.hsqldb</pattern>
								<shadedPattern>${shaded.package}.org.hsqldb</shadedPattern>
							</relocation>
							<relocation>
								<pattern>org.iq80</pattern>
								<shadedPattern>${shaded.package}.org.iq80</shadedPattern>
							</relocation>
							<relocation>
								<pattern>org.jamon</pattern>
								<shadedPattern>${shaded.package}.org.jamon</shadedPattern>
							</relocation>
							<relocation>
								<pattern>org.jboss</pattern>
								<shadedPattern>${shaded.package}.org.jboss</shadedPattern>
							</relocation>
							<relocation>
								<pattern>org.jcodings</pattern>
								<shadedPattern>${shaded.package}.org.jcodings</shadedPattern>
							</relocation>
							<relocation>
								<pattern>org.jets3t</pattern>
								<shadedPattern>${shaded.package}.org.jets3t</shadedPattern>
							</relocation>
							<relocation>
								<pattern>org.joda</pattern>
								<shadedPattern>${shaded.package}.org.joda</shadedPattern>
							</relocation>
							<relocation>
								<pattern>org.joni</pattern>
								<shadedPattern>${shaded.package}.org.joni</shadedPattern>
							</relocation>
							<relocation>
								<pattern>org.junit</pattern>
								<shadedPattern>${shaded.package}.org.junit</shadedPattern>
							</relocation>
							<relocation>
								<pattern>org.kosmix</pattern>
								<shadedPattern>${shaded.package}.org.kosmix</shadedPattern>
							</relocation>
							<relocation>
								<pattern>org.mortbay</pattern>
								<shadedPattern>${shaded.package}.org.mortbay</shadedPattern>
							</relocation>
							<relocation>
								<pattern>org.objectweb</pattern>
								<shadedPattern>${shaded.package}.org.objectweb</shadedPattern>
							</relocation>
							<relocation>
								<pattern>org.stringtemplate</pattern>
								<shadedPattern>${shaded.package}.org.stringtemplate</shadedPattern>
							</relocation>
							<relocation>
								<pattern>org.tukaani</pattern>
								<shadedPattern>${shaded.package}.org.tukaani</shadedPattern>
							</relocation>
							<relocation>
								<pattern>org.znerd</pattern>
								<shadedPattern>${shaded.package}.org.znerd</shadedPattern>
							</relocation>
							<relocation>
								<pattern>org.apache.avro</pattern>
								<shadedPattern>${shaded.package}.org.apache.avro</shadedPattern>
							</relocation>
							<relocation>
								<pattern>org.apache.commons</pattern>
								<shadedPattern>${shaded.package}.org.apache.commons</shadedPattern>
								<excludes>
									<exclude>org.apache.commons.csv.**</exclude>
									<exclude>org.apache.commons.logging.**</exclude>
								</excludes>
							</relocation>
							<relocation>
								<pattern>org.apache.directory</pattern>
								<shadedPattern>${shaded.package}.org.apache.directory</shadedPattern>
							</relocation>
							<relocation>
								<pattern>org.apache.http</pattern>
								<shadedPattern>${shaded.package}.org.apache.http</shadedPattern>
							</relocation>
							<relocation>
								<pattern>org.apache.jasper</pattern>
								<shadedPattern>${shaded.package}.org.apache.jasper</shadedPattern>
							</relocation>
							<relocation>
								<pattern>org.apache.jute</pattern>
								<shadedPattern>${shaded.package}.org.apache.jute</shadedPattern>
							</relocation>
							<relocation>
								<pattern>org.apache.mina</pattern>
								<shadedPattern>${shaded.package}.org.apache.mina</shadedPattern>
							</relocation>
							<relocation>
								<pattern>org.apache.oro</pattern>
								<shadedPattern>${shaded.package}.org.apache.oro</shadedPattern>
							</relocation>
							<relocation>
								<pattern>org.apache.taglibs</pattern>
								<shadedPattern>${shaded.package}.org.apache.taglibs</shadedPattern>
							</relocation>
							<relocation>
								<pattern>org.apache.thrift</pattern>
								<shadedPattern>${shaded.package}.org.apache.thrift</shadedPattern>
							</relocation>
							<relocation>
								<pattern>org.apache.tools</pattern>
								<shadedPattern>${shaded.package}.org.apache.tools</shadedPattern>
							</relocation>
							<relocation>
								<pattern>org.apache.twill</pattern>
								<shadedPattern>${shaded.package}.org.apache.twill</shadedPattern>
							</relocation>
							<relocation>
								<pattern>org.apache.velocity</pattern>
								<shadedPattern>${shaded.package}.org.apache.velocity</shadedPattern>
							</relocation>
							<relocation>
								<pattern>org.apache.zookeeper</pattern>
								<shadedPattern>${shaded.package}.org.apache.zookeeper</shadedPattern>
							</relocation>

							<!-- NET relocations -->
							<relocation>
								<pattern>net</pattern>
								<shadedPattern>${shaded.package}.net</shadedPattern>
							</relocation>

							<!-- Misc relocations -->
							<relocation>
								<pattern>antlr</pattern>
								<shadedPattern>${shaded.package}.antlr</shadedPattern>
							</relocation>
							<relocation>
								<pattern>it.unimi</pattern>
								<shadedPattern>${shaded.package}.it.unimi</shadedPattern>
							</relocation>
							<relocation>
								<pattern>jline</pattern>
								<shadedPattern>${shaded.package}.jline</shadedPattern>
							</relocation>
							<relocation>
								<pattern>junit</pattern>
								<shadedPattern>${shaded.package}.junit</shadedPattern>
							</relocation>
						</relocations>
					</configuration>
				</execution>
			</executions>
		</plugin>



			<plugin>
				<groupId>org.apache.rat</groupId>
				<artifactId>apache-rat-plugin</artifactId>
				<configuration>
					<excludes>
						<exclude>*/RESULTS/**</exclude>
						<exclude>README.md</exclude>
					</excludes>
				</configuration>
			</plugin>
		</plugins>
	</build>
</project>
