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

	<artifactId>flink-storm-examples</artifactId>
	<name>flink-storm-examples</name>

	<packaging>jar</packaging>

	<dependencies>
		<dependency>
			<groupId>org.apache.flink</groupId>
			<artifactId>flink-storm</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-streaming-java</artifactId>
			<version>${project.version}</version>
			<scope>test</scope>
			<type>test-jar</type>
		</dependency>

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

	<build>
		<plugins>
			<!-- get default data from flink-java-examples package -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-dependency-plugin</artifactId>
				<version>2.9</version><!--$NO-MVN-MAN-VER$-->
				<executions>
					<execution>
						<id>unpack</id>
						<phase>prepare-package</phase>
						<goals>
							<goal>unpack</goal>
						</goals>
						<configuration>
							<artifactItems>
								<artifactItem>
									<groupId>org.apache.flink</groupId>
									<artifactId>flink-java-examples</artifactId>
									<version>${project.version}</version>
									<type>jar</type>
									<overWrite>false</overWrite>
									<outputDirectory>${project.build.directory}/classes</outputDirectory>
									<includes>org/apache/flink/examples/java/wordcount/util/WordCountData.class</includes>
								</artifactItem>
								<artifactItem>
									<groupId>org.apache.flink</groupId>
									<artifactId>flink-storm</artifactId>
									<version>${project.version}</version>
									<type>jar</type>
									<overWrite>false</overWrite>
									<outputDirectory>${project.build.directory}/classes</outputDirectory>
								</artifactItem>
								<artifactItem>
									<groupId>org.apache.storm</groupId>
									<artifactId>storm-core</artifactId>
									<version>0.9.4</version>
									<type>jar</type>
									<overWrite>false</overWrite>
									<outputDirectory>${project.build.directory}/classes</outputDirectory>
									<!-- need to exclude to be able to run
									       * StormWordCountRemoteByClient and
									       * StormWordCountRemoteBySubmitter
									     within Eclipse -->
									<excludes>defaults.yaml</excludes>
								</artifactItem>
								<artifactItem>
									<groupId>com.googlecode.json-simple</groupId>
									<artifactId>json-simple</artifactId>
									<version>1.1</version>
									<type>jar</type>
									<overWrite>false</overWrite>
									<outputDirectory>${project.build.directory}/classes</outputDirectory>
								</artifactItem>
								<artifactItem>
									<groupId>org.yaml</groupId>
									<artifactId>snakeyaml</artifactId>
									<version>1.11</version>
									<type>jar</type>
									<overWrite>false</overWrite>
									<outputDirectory>${project.build.directory}/classes</outputDirectory>
								</artifactItem>
							</artifactItems>
						</configuration>
					</execution>
				</executions>
			</plugin>

			<!-- self-contained jars for each example -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-jar-plugin</artifactId>

				<executions>

					<!-- WordCount Spout source-->
					<!-- example for embedded spout - for whole topologies see "WordCount Storm topology" example below -->
					<execution>
						<id>WordCount-SpoutSource</id>
						<phase>package</phase>
						<goals>
							<goal>jar</goal>
						</goals>
						<configuration>
							<finalName>WordCount</finalName>
							<classifier>SpoutSource</classifier>

							<archive>
								<manifestEntries>
									<program-class>org.apache.flink.storm.wordcount.SpoutSourceWordCount</program-class>
								</manifestEntries>
							</archive>

							<includes>
								<!-- from storm-core -->
								<include>backtype/storm/topology/*.class</include>
								<include>backtype/storm/spout/*.class</include>
								<include>backtype/storm/task/*.class</include>
								<include>backtype/storm/tuple/*.class</include>
								<include>backtype/storm/generated/*.class</include>
								<include>backtype/storm/metric/**/*.class</include>
								<include>org/apache/thrift7/**/*.class</include>
								<!-- Storm's recursive dependencies -->
								<include>org/json/simple/**/*.class</include>
								<!-- compatibility layer -->
								<include>org/apache/flink/storm/api/*.class</include>
								<include>org/apache/flink/storm/util/*.class</include>
								<include>org/apache/flink/storm/wrappers/*.class</include>
								<!-- Word Count -->
								<include>org/apache/flink/storm/wordcount/SpoutSourceWordCount.class</include>
								<include>org/apache/flink/storm/wordcount/SpoutSourceWordCount$*.class</include>
								<include>org/apache/flink/storm/wordcount/operators/WordCountFileSpout.class</include>
								<include>org/apache/flink/storm/wordcount/operators/WordCountInMemorySpout.class</include>
								<include>org/apache/flink/storm/util/AbstractLineSpout.class</include>
								<include>org/apache/flink/storm/util/FileSpout.class</include>
								<include>org/apache/flink/storm/util/InMemorySpout.class</include>
								<include>org/apache/flink/examples/java/wordcount/util/WordCountData.class</include>
							</includes>
						</configuration>
					</execution>

					<!-- WordCount Bolt tokenizer-->
					<!-- example for embedded bolt - for whole topologies see "WordCount Storm topology" example below -->
					<execution>
						<id>WordCount-BoltTokenizer</id>
						<phase>package</phase>
						<goals>
							<goal>jar</goal>
						</goals>
						<configuration>
							<finalName>WordCount</finalName>
							<classifier>BoltTokenizer</classifier>

							<archive>
								<manifestEntries>
									<program-class>org.apache.flink.storm.wordcount.BoltTokenizerWordCount</program-class>
								</manifestEntries>
							</archive>

							<includes>
								<!-- from storm-core -->
								<include>backtype/storm/topology/*.class</include>
								<include>backtype/storm/spout/*.class</include>
								<include>backtype/storm/task/*.class</include>
								<include>backtype/storm/tuple/*.class</include>
								<include>backtype/storm/generated/*.class</include>
								<include>backtype/storm/metric/**/*.class</include>
								<include>org/apache/thrift7/**/*.class</include>
								<!-- Storm's recursive dependencies -->
								<include>org/json/simple/**/*.class</include>
								<!-- compatibility layer -->
								<include>org/apache/flink/storm/api/*.class</include>
								<include>org/apache/flink/storm/util/*.class</include>
								<include>org/apache/flink/storm/wrappers/*.class</include>
								<!-- Word Count -->
								<include>org/apache/flink/storm/wordcount/BoltTokenizerWordCount.class</include>
								<include>org/apache/flink/storm/wordcount/operators/BoltTokenizer.class</include>
								<include>org/apache/flink/examples/java/wordcount/util/WordCountData.class</include>
							</includes>
						</configuration>
					</execution>

					<!-- WordCount Storm topology-->
					<!-- Example for whole topologies (ie, if FlinkTopologyBuilder is used) -->
					<!-- We cannot use maven-jar-plugin because 'defaults.yaml' must be included in jar.
					     However, we excluded 'defaults.yaml' in dependency-plugin to get clean Eclipse environment.
					     Thus, 'defaults.yaml' is not available for maven-jar-plugin.
					     Nevertheless, we register an empty jar with corresponding name, such that the final jar can be installed to local maven repository.
					     We use maven-shade-plugin to build the actual jar (which will replace the empty jar). -->
					<execution>
						<id>WordCount-StormTopology</id>
						<phase>package</phase>
						<goals>
							<goal>jar</goal>
						</goals>
						<configuration>
							<finalName>WordCount</finalName>
							<classifier>StormTopology</classifier>
						</configuration>
					</execution>

					<execution>
						<goals>
							<goal>test-jar</goal>
						</goals>
					</execution>
				</executions>
			</plugin>

			<!-- WordCount Storm topology-->
			<!-- Cannot use maven-jar-plugin because 'defaults.yaml' must be included in jar -->
			<!-- Build StormTopolgy jar to overwrite empty jar created with maven-jar-plugin. -->
			<plugin>
				<artifactId>maven-shade-plugin</artifactId>
				<groupId>org.apache.maven.plugins</groupId>
				<executions>
					<execution>
						<id>WordCount-StormTopology</id>
						<phase>package</phase>
						<goals>
							<goal>shade</goal>
						</goals>
						<configuration>
							<finalName>WordCount-StormTopology</finalName>

							<artifactSet>
								<includes>
									<include>org.apache.storm:storm-core</include>
									<!-- Storm's recursive dependencies -->
									<include>org.yaml:snakeyaml</include>
									<include>com.googlecode.json-simple:json-simple</include>
									<include>org.apache.flink:flink-storm</include>
									<include>org.apache.flink:flink-storm-examples</include>
								</includes>
							</artifactSet>
							<filters>
								<filter>
									<artifact>org.apache.storm:storm-core</artifact>
									<includes>
										<include>defaults.yaml</include>
										<include>backtype/storm/*.class</include>
										<include>backtype/storm/topology/*.class</include>
										<include>backtype/storm/spout/*.class</include>
										<include>backtype/storm/task/*.class</include>
										<include>backtype/storm/tuple/*.class</include>
										<include>backtype/storm/generated/*.class</include>
										<include>backtype/storm/metric/**/*.class</include>
										<include>backtype/storm/utils/*.class</include>
										<include>backtype/storm/serialization/*.class</include>
										<include>org/apache/storm/curator/**/*.class</include>
										<include>org/apache/thrift7/**/*.class</include>
										<!-- Storm's recursive dependencies -->
										<include>org/json/simple/**/*.class</include>
										<include>org/yaml/snakeyaml/**/*.class</include>
									</includes>
								</filter>
								<filter>
									<artifact>org.apache.flink:flink-storm-examples</artifact>
									<includes>
										<include>org/apache/flink/storm/wordcount/WordCountRemoteBySubmitter.class</include>
										<include>org/apache/flink/storm/wordcount/WordCountTopology.class</include>
										<include>org/apache/flink/storm/wordcount/operators/*.class</include>
										<include>org/apache/flink/storm/util/*.class</include>
										<include>org/apache/flink/examples/java/wordcount/util/WordCountData.class</include>
									</includes>
								</filter>
								<filter>
									<artifact>org.apache.flink:flink-storm</artifact>
									<includes>
										<include>org/apache/flink/storm/api/*.class</include>
										<include>org/apache/flink/storm/util/*.class</include>
										<include>org/apache/flink/storm/wrappers/*.class</include>
									</includes>
								</filter>
							</filters>
							<transformers>
								<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
									<mainClass>org.apache.flink.storm.wordcount.WordCountRemoteBySubmitter</mainClass>
								</transformer>
							</transformers>
						</configuration>
					</execution>
				</executions>
			</plugin>
		</plugins>

		<pluginManagement>
			<plugins>
				<!--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.apache.maven.plugins</groupId>
										<artifactId>maven-dependency-plugin</artifactId>
										<versionRange>[2.9,)</versionRange>
										<goals>
											<goal>unpack</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<ignore/>
									</action>
								</pluginExecution>
							</pluginExecutions>
						</lifecycleMappingMetadata>
					</configuration>
				</plugin>
			</plugins>
		</pluginManagement>

	</build>

</project>
