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

	<artifactId>flink-streaming-connectors</artifactId>
	<name>flink-streaming-connectors</name>

	<packaging>pom</packaging>

	<modules>
		<module>flink-connector-flume</module>
		<module>flink-connector-kafka-base</module>
		<module>flink-connector-kafka-0.8</module>
		<module>flink-connector-kafka-0.9</module>
		<module>flink-connector-elasticsearch</module>
		<module>flink-connector-elasticsearch2</module>
		<module>flink-connector-rabbitmq</module>
		<module>flink-connector-twitter</module>
		<module>flink-connector-nifi</module>
		<module>flink-connector-cassandra</module>
		<module>flink-connector-redis</module>
	</modules>

	<!-- See main pom.xml for explanation of profiles -->
	<profiles>
		<profile>
			<id>hadoop-2</id>
			<activation>
				<property>
					<!-- Please do not remove the 'hadoop2' comment. See ./tools/generate_specific_pom.sh -->
					<!--hadoop2--><name>!hadoop.profile</name>
				</property>
			</activation>
			<modules>
				<!-- Include the flink-fs-tests project only for HD2.
				 	The HDFS minicluster interfaces changed between the two versions.
				 -->
				<module>flink-connector-filesystem</module>
			</modules>
		</profile>
		<!--
			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>
			<modules>
				<module>flink-connector-kinesis</module>
			</modules>
		</profile>
	</profiles>

</project>
