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

	<packaging>pom</packaging>

	<artifactId>flink-end-to-end-tests</artifactId>
	<name>flink-end-to-end-tests</name>

	<modules>
		<module>flink-cli-test</module>
		<module>flink-parent-child-classloading-test-program</module>
		<module>flink-parent-child-classloading-test-lib-package</module>
		<module>flink-dataset-allround-test</module>
		<module>flink-dataset-fine-grained-recovery-test</module>
		<module>flink-datastream-allround-test</module>
		<module>flink-batch-sql-test</module>
		<module>flink-stream-sql-test</module>
		<module>flink-bucketing-sink-test</module>
		<module>flink-distributed-cache-via-blob-test</module>
		<module>flink-high-parallelism-iterations-test</module>
		<module>flink-stream-stateful-job-upgrade-test</module>
		<module>flink-queryable-state-test</module>
		<module>flink-local-recovery-and-allocation-test</module>
		<module>flink-elasticsearch2-test</module>
		<module>flink-elasticsearch5-test</module>
		<module>flink-elasticsearch6-test</module>
		<module>flink-quickstart-test</module>
		<module>flink-confluent-schema-registry</module>
		<module>flink-stream-state-ttl-test</module>
		<module>flink-sql-client-test</module>
		<module>flink-streaming-file-sink-test</module>
		<module>flink-state-evolution-test</module>
		<module>flink-e2e-test-utils</module>
		<module>flink-end-to-end-tests-common</module>
		<module>flink-metrics-availability-test</module>
		<module>flink-metrics-reporter-prometheus-test</module>
		<module>flink-heavy-deployment-stress-test</module>
		<module>flink-connector-gcp-pubsub-emulator-tests</module>
		<module>flink-streaming-kafka-test-base</module>
		<module>flink-streaming-kafka-test</module>
		<module>flink-streaming-kafka011-test</module>
		<module>flink-streaming-kafka010-test</module>
		<module>flink-plugins-test</module>
		<module>flink-tpch-test</module>
	</modules>

	<!-- See main pom.xml for explanation of profiles -->
	<profiles>
		<!--
			We include the kinesis module only optionally because it contains a dependency
			licenced under the "Amazon Software License".
			In accordance with the discussion in https://issues.apache.org/jira/browse/LEGAL-198
			this is an optional module for Flink.
		-->
		<profile>
			<id>include-kinesis</id>
			<activation>
				<property>
					<name>include-kinesis</name>
				</property>
			</activation>
			<modules>
				<module>flink-streaming-kinesis-test</module>
			</modules>
		</profile>
	</profiles>

	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-deploy-plugin</artifactId>
				<configuration>
					<skip>true</skip>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
				<executions>
					<!-- Do not execute any tests by default.
						E2E tests should specify an additional execution within a profile. -->
					<execution>
						<id>default-test</id>
						<phase>none</phase>
					</execution>
					<execution>
						<id>integration-tests</id>
						<phase>none</phase>
					</execution>
				</executions>
			</plugin>
		</plugins>

		<pluginManagement>
			<plugins>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-shade-plugin</artifactId>
					<configuration>
						<artifactSet>
							<excludes>
								<exclude>com.google.code.findbugs:jsr305</exclude>
								<exclude>org.slf4j:slf4j-api</exclude>
							</excludes>
						</artifactSet>
						<filters>
							<filter>
								<artifact>*:*</artifact>
								<excludes>
									<exclude>META-INF/*.SF</exclude>
									<exclude>META-INF/*.DSA</exclude>
									<exclude>META-INF/*.RSA</exclude>
								</excludes>
							</filter>
						</filters>
					</configuration>
				</plugin>
			</plugins>
		</pluginManagement>
	</build>
	
</project>
