<!-- ~ 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.9.0-HBase-1.2</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>
