<?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.flink</groupId>
		<artifactId>flink-filesystems</artifactId>
		<version>1.5.1</version>
		<relativePath>..</relativePath>
	</parent>

	<artifactId>flink-swift-fs-hadoop</artifactId>
	<name>flink-swift-fs-hadoop</name>

	<packaging>jar</packaging>

	<properties>
		<!-- Do not change this without updating the copied Configuration class! -->
		<openstackhadoop.hadoop.version>2.8.1</openstackhadoop.hadoop.version>
	</properties>

	<dependencies>

		<!-- Flink core -->

		<dependency>
			<groupId>org.apache.flink</groupId>
			<artifactId>flink-core</artifactId>
			<version>${project.version}</version>
			<scope>provided</scope>
		</dependency>

		<!-- File system builds on the Hadoop file system support -->

		<dependency>
			<groupId>org.apache.flink</groupId>
			<artifactId>flink-hadoop-fs</artifactId>
			<version>${project.version}</version>

			<!-- this exclusion is only needed to run tests in the IDE, pre shading,
				because the optional Hadoop dependency is also pulled in for tests -->
			<exclusions>
				<exclusion>
					<groupId>org.apache.flink</groupId>
					<artifactId>flink-shaded-hadoop2</artifactId>
				</exclusion>
			</exclusions>
		</dependency>

		<!-- Hadoop's openstack file system -->

		<dependency>
			<groupId>org.apache.hadoop</groupId>
			<artifactId>hadoop-client</artifactId>
			<version>${openstackhadoop.hadoop.version}</version>
			<exclusions>
				<exclusion>
					<groupId>org.apache.hadoop</groupId>
					<artifactId>hadoop-mapreduce-client-core</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.apache.hadoop</groupId>
					<artifactId>hadoop-yarn-api</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.apache.hadoop</groupId>
					<artifactId>hadoop-mapreduce-client-jobclient</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.apache.hadoop</groupId>
					<artifactId>hadoop-mapreduce-client-app</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.apache.avro</groupId>
					<artifactId>avro</artifactId>
				</exclusion>
				<exclusion>
					<groupId>javax.servlet.jsp</groupId>
					<artifactId>jsp-api</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.apache.directory.server</groupId>
					<artifactId>apacheds-kerberos-codec</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.apache.curator</groupId>
					<artifactId>curator-client</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.apache.curator</groupId>
					<artifactId>curator-framework</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.apache.curator</groupId>
					<artifactId>curator-recipes</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.apache.zookeeper</groupId>
					<artifactId>zookeeper</artifactId>
				</exclusion>
			</exclusions>
		</dependency>

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

		<!-- make sure that also logger and JSR is provided -->

		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-api</artifactId>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>com.google.code.findbugs</groupId>
			<artifactId>jsr305</artifactId>
			<scope>provided</scope>
		</dependency>

		<!-- test dependencies -->

		<dependency>
			<groupId>org.apache.flink</groupId>
			<artifactId>flink-test-utils-junit</artifactId>
			<version>${project.version}</version>
			<scope>test</scope>
		</dependency>
	</dependencies>

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

				<!-- we need to explicitly override this version, because the -->
				<!-- earlier versions of the shade plugin have a bug relocating services -->
				<version>3.0.0</version>

				<executions>
					<execution>
						<id>shade-flink</id>
						<phase>package</phase>
						<goals>
							<goal>shade</goal>
						</goals>
						<configuration>
							<shadeTestJar>false</shadeTestJar>
							<artifactSet>
								<includes>
									<include>*:*</include>
								</includes>
							</artifactSet>
							<relocations>
								<relocation>
									<pattern>com.fasterxml</pattern>
									<shadedPattern>org.apache.flink.fs.openstackhadoop.shaded.com.fasterxml</shadedPattern>
								</relocation>
								<relocation>
									<pattern>com.google</pattern>
									<shadedPattern>org.apache.flink.fs.openstackhadoop.shaded.com.google</shadedPattern>
									<excludes>
										<!-- provided -->
										<exclude>com.google.code.findbugs.**</exclude>
									</excludes>
								</relocation>
								<relocation>
									<pattern>com.nimbusds</pattern>
									<shadedPattern>org.apache.flink.fs.openstackhadoop.shaded.com.nimbusds</shadedPattern>
								</relocation>
								<relocation>
									<pattern>com.squareup</pattern>
									<shadedPattern>org.apache.flink.fs.openstackhadoop.shaded.com.squareup</shadedPattern>
								</relocation>
								<relocation>
									<pattern>net.jcip</pattern>
									<shadedPattern>org.apache.flink.fs.openstackhadoop.shaded.net.jcip</shadedPattern>
								</relocation>
								<relocation>
									<pattern>net.minidev</pattern>
									<shadedPattern>org.apache.flink.fs.openstackhadoop.shaded.net.minidev</shadedPattern>
								</relocation>

								<!-- relocate everything from the flink-hadoop-fs project -->
								<relocation>
									<pattern>org.apache.flink.runtime.fs.hdfs</pattern>
									<shadedPattern>org.apache.flink.fs.openstackhadoop.shaded.org.apache.flink.runtime.fs.hdfs</shadedPattern>
								</relocation>
								<relocation>
									<pattern>org.apache.flink.runtime.util</pattern>
									<shadedPattern>org.apache.flink.fs.openstackhadoop.shaded.org.apache.flink.runtime.util</shadedPattern>
									<includes>
										<include>org.apache.flink.runtime.util.**Hadoop*</include>
									</includes>
								</relocation>

								<relocation>
									<pattern>org.apache</pattern>
									<shadedPattern>org.apache.flink.fs.openstackhadoop.shaded.org.apache</shadedPattern>
									<excludes>
										<!-- keep all other classes of flink as they are (exceptions above) -->
										<exclude>org.apache.flink.**</exclude>
										<exclude>org.apache.log4j.**</exclude> <!-- provided -->
									</excludes>
								</relocation>
								<relocation>
									<pattern>org.codehaus</pattern>
									<shadedPattern>org.apache.flink.fs.openstackhadoop.shaded.org.codehaus</shadedPattern>
								</relocation>
								<relocation>
									<pattern>org.joda</pattern>
									<shadedPattern>org.apache.flink.fs.openstackhadoop.shaded.org.joda</shadedPattern>
								</relocation>
								<relocation>
									<pattern>org.mortbay</pattern>
									<shadedPattern>org.apache.flink.fs.openstackhadoop.shaded.org.mortbay</shadedPattern>
								</relocation>
								<relocation>
									<pattern>org.tukaani</pattern>
									<shadedPattern>org.apache.flink.fs.openstackhadoop.shaded.org.tukaani</shadedPattern>
								</relocation>
								<relocation>
									<pattern>org.znerd</pattern>
									<shadedPattern>org.apache.flink.fs.openstackhadoop.shaded.org.znerd</shadedPattern>
								</relocation>
								<relocation>
									<pattern>okio</pattern>
									<shadedPattern>org.apache.flink.fs.openstackhadoop.shaded.okio</shadedPattern>
								</relocation>
							</relocations>
							<filters>
								<filter>
									<artifact>*</artifact>
									<excludes>
										<exclude>log4j.properties</exclude>
										<exclude>mime.types</exclude>
										<exclude>properties.dtd</exclude>
										<exclude>PropertyList-1.0.dtd</exclude>
										<exclude>models/**</exclude>
										<exclude>mozilla/**</exclude>
										<exclude>META-INF/maven/com*/**</exclude>
										<exclude>META-INF/maven/net*/**</exclude>
										<exclude>META-INF/maven/software*/**</exclude>
										<exclude>META-INF/maven/joda*/**</exclude>
										<exclude>META-INF/maven/org.mortbay.jetty/**</exclude>
										<exclude>META-INF/maven/org.apache.h*/**</exclude>
										<exclude>META-INF/maven/org.apache.commons/**</exclude>
										<exclude>META-INF/maven/org.apache.flink/flink-hadoop-fs/**</exclude>
										<exclude>META-INF/maven/org.apache.flink/force-shading/**</exclude>
										<!-- we use our own "shaded" core-default.xml: core-default-shaded.xml -->
										<exclude>core-default.xml</exclude>
										<!-- we only add a core-site.xml with unshaded classnames for the unit tests -->
										<exclude>core-site.xml</exclude>
									</excludes>
								</filter>
							</filters>
						</configuration>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>

</project>
