<?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-parent</artifactId>
		<version>0.9.1</version>
		<relativePath>..</relativePath>
	</parent>

	<artifactId>flink-dist</artifactId>
	<name>flink-dist</name>
	<packaging>jar</packaging>

	<dependencies>
		<!-- BINARIES -->
		<dependency>
			<groupId>org.apache.flink</groupId>
			<artifactId>flink-core</artifactId>
			<version>${project.version}</version>
		</dependency>

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

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

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

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

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

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

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

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

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

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

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

		<dependency>
			<groupId>org.apache.flink</groupId>
			<artifactId>flink-language-binding-generic</artifactId>
			<version>${project.version}</version>
		</dependency>
                
		<dependency>
			<groupId>org.apache.flink</groupId>
			<artifactId>flink-python</artifactId>
			<version>${project.version}</version>
		</dependency>
	</dependencies>

	<!-- See main pom.xml for explanation of profiles -->
	<profiles>
		<profile>
			<id>scala-2.10</id>
			<activation>

				<property>
					<!-- this is the default scala profile -->
					<name>!scala-2.11</name>
				</property>
			</activation>

			<properties>
				<scala.version>2.10.4</scala.version>
				<scala.binary.version>2.10</scala.binary.version>
			</properties>

			<dependencies>
				<dependency>
					<groupId>org.apache.flink</groupId>
					<artifactId>flink-scala-shell</artifactId>
					<version>${project.version}</version>
				</dependency>
			</dependencies>
		</profile>
		<profile>
			<id>include-yarn</id>
			<activation>
				<property>
					<!-- Please do not remove the 'hadoop2' comment. See ./tools/generate_specific_pom.sh -->
					<!--hadoop2--><name>!hadoop.profile</name>
				</property>
			</activation>
			<dependencies>
				<dependency>
					<groupId>org.apache.flink</groupId>
					<artifactId>flink-yarn</artifactId>
					<version>${project.version}</version>
				</dependency>
			</dependencies>
		</profile>

		<profile>
			<id>debian-package</id>
			<build>
				<plugins>
					<plugin>
						<artifactId>jdeb</artifactId>
						<groupId>org.vafer</groupId>
						<version>1.0.1</version>
						<executions>
							<execution>
								<phase>package</phase>
								<goals>
									<goal>jdeb</goal>
								</goals>
								<configuration>
									<deb>${project.build.directory}/${project.artifactId}_${project.version}.deb</deb>
									<controlDir>${basedir}/src/deb/control</controlDir>
									<dataSet>
										<data>
											<src>${basedir}/src/deb/bin/jobManager</src>
											<type>file</type>
											<mapper>
												<type>perm</type>
												<prefix>/etc/init.d</prefix>
												<user>root</user>
												<group>root</group>
												<filemode>0755</filemode>
											</mapper>
										</data>
										<data>
											<src>${basedir}/src/deb/bin/taskmanager</src>
											<type>file</type>
											<mapper>
												<type>perm</type>
												<prefix>/etc/init.d</prefix>
												<user>root</user>
												<group>root</group>
												<filemode>0755</filemode>
											</mapper>
										</data>
										<data>
											<src>${basedir}/src/deb/bin/webclient</src>
											<type>file</type>
											<mapper>
												<type>perm</type>
												<prefix>/etc/init.d</prefix>
												<user>root</user>
												<group>root</group>
												<filemode>0755</filemode>
											</mapper>
										</data>
										<data>
											<src>${project.build.directory}/${project.artifactId}-${project.version}-bin/flink-${project.version}/bin</src>
											<type>directory</type>
											<mapper>
												<type>perm</type>
												<prefix>/usr/share/${project.artifactId}/bin</prefix>
												<user>root</user>
												<group>root</group>
												<filemode>0755</filemode>
											</mapper>
										</data>
										<data>
											<src>${project.build.directory}/${project.artifactId}-${project.version}-bin/flink-${project.version}/examples</src>
											<type>directory</type>
											<mapper>
												<type>perm</type>
												<prefix>/usr/share/${project.artifactId}/examples</prefix>
												<user>root</user>
												<group>root</group>
											</mapper>
										</data>
										<data>
											<src>${project.build.directory}/${project.artifactId}-${project.version}-bin/flink-${project.version}/lib</src>
											<type>directory</type>
											<mapper>
												<type>perm</type>
												<prefix>/usr/share/${project.artifactId}/lib</prefix>
												<user>root</user>
												<group>root</group>
											</mapper>
										</data>
										<data>
											<src>${project.build.directory}/${project.artifactId}-${project.version}-bin/flink-${project.version}/resources</src>
											<type>directory</type>
											<mapper>
												<type>perm</type>
												<prefix>/usr/share/${project.artifactId}/resources</prefix>
												<user>root</user>
												<group>root</group>
											</mapper>
										</data>
										<data>
											<src>${project.build.directory}/${project.artifactId}-${project.version}-bin/flink-${project.version}/conf</src>
											<type>directory</type>
											<mapper>
												<type>perm</type>
												<prefix>/etc/${project.artifactId}/conf</prefix>
												<user>root</user>
												<group>root</group>
											</mapper>
										</data>
										<data>
											<type>template</type>
											<paths>
												<path>/var/log/${project.artifactId}</path>
											</paths>
										</data>
										<data>
											<type>link</type>
											<linkName>/usr/share/${project.artifactId}/conf</linkName>
											<linkTarget>/etc/${project.artifactId}/conf</linkTarget>
											<symlink>true</symlink>
										</data>
										<data>
											<type>link</type>
											<linkName>/usr/share/${project.artifactId}/log</linkName>
											<linkTarget>/var/log/${project.artifactId}</linkTarget>
											<symlink>true</symlink>
										</data>
									</dataSet>
								</configuration>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>
	</profiles>

	<build>
		<plugins>
			<plugin>
				<!--Build uber jar-->
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-shade-plugin</artifactId>
				<executions>
					<execution>
						<phase>package</phase>
						<goals>
							<goal>shade</goal>
						</goals>
						<configuration combine.self="override">
							<createDependencyReducedPom>false</createDependencyReducedPom>
							<shadedArtifactAttached>false</shadedArtifactAttached>
							<finalName>${project.artifactId}-${project.version}</finalName>
							<filters>
								<!-- Globally exclude log4j.properties from our JAR files. -->
								<filter>
									<artifact>*</artifact>
									<excludes>
										<exclude>log4j.properties</exclude>
										<exclude>log4j-test.properties</exclude>
									</excludes>
								</filter>
							</filters>
							<artifactSet>
								<excludes>
									<exclude>org.apache.flink:flink-java-examples</exclude>
									<exclude>org.apache.flink:flink-scala-examples</exclude>
									<exclude>org.apache.flink:flink-streaming-examples</exclude>
									<exclude>org.apache.flink:flink-python</exclude>
								</excludes>
							</artifactSet>
							<transformers>
								<transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
									<resource>reference.conf</resource>
								</transformer>
								<!-- The service transformer is needed to merge META-INF/services files -->
								<transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
								<transformer implementation="org.apache.maven.plugins.shade.resource.ApacheNoticeResourceTransformer"/>
							</transformers>
						</configuration>
					</execution>
				</executions>
			</plugin>

			<plugin>
				<artifactId>maven-assembly-plugin</artifactId>
				<executions>
					<execution>
						<id>bin</id>
						<phase>package</phase>
						<goals>
							<goal>single</goal>
						</goals>
						<configuration>
							<descriptors>
								<descriptor>src/main/assemblies/bin.xml</descriptor>
							</descriptors>
							<finalName>flink-${project.version}-bin</finalName>
							<appendAssemblyId>false</appendAssemblyId>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-deploy-plugin</artifactId>
				<version>2.4</version><!--$NO-MVN-MAN-VER$-->
				<configuration>
					<skip>true</skip>
				</configuration>
			</plugin>

			<plugin>
				<!-- Description: https://github.com/ktoso/maven-git-commit-id-plugin -->
				<groupId>pl.project13.maven</groupId>
				<artifactId>git-commit-id-plugin</artifactId>
				<version>2.1.5</version>
				<executions>
					<execution>
						<goals>
							<goal>revision</goal>
						 </goals>
					</execution>
				</executions>
				<configuration>
					<dotGitDirectory>${project.basedir}/../.git</dotGitDirectory>
					<generateGitPropertiesFile>true</generateGitPropertiesFile>
					<failOnNoGitDirectory>false</failOnNoGitDirectory>
					<skipPoms>false</skipPoms>
					<generateGitPropertiesFilename>src/main/flink-bin/.version.properties</generateGitPropertiesFilename>
					<gitDescribe>
						<!-- don't generate the describe property -->
						<skip>true</skip>
					</gitDescribe>
				</configuration>
			</plugin>

			<!-- create a symbolic link to the build target in the root directory -->
			<plugin>
				<groupId>com.pyx4j</groupId>
				<artifactId>maven-junction-plugin</artifactId>
				<version>1.0.3</version>
				<executions>
					<execution>
						<phase>package</phase>
						<goals>
							<goal>link</goal>
						</goals>
					</execution>
					<execution>
						<id>unlink</id>
						<phase>pre-clean</phase>
						<goals>
							<goal>unlink</goal>
						</goals>
					</execution>
				</executions>
				<configuration>
					<links>
						<link>
							<dst>${project.basedir}/../build-target</dst>
							<src>${project.basedir}/target/flink-${project.version}-bin/flink-${project.version}</src>
						</link>
					</links>
				</configuration>
			</plugin>

		</plugins>
	</build>
</project>
