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


	<artifactId>flink-staging</artifactId>
	<name>flink-staging</name>
	<packaging>pom</packaging>

	<modules>
		<module>flink-avro</module>
		<module>flink-jdbc</module>
		<module>flink-hadoop-compatibility</module>
		<module>flink-hbase</module>
		<module>flink-hcatalog</module>
		<module>flink-table</module>
		<module>flink-ml</module>
		<module>flink-language-binding</module>
		<module>flink-scala-shell</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-fs-tests</module>
			</modules>
		</profile>
		<profile>
			<id>include-tez</id>
			<modules>
				<module>flink-tez</module>
			</modules>
		</profile>
	</profiles>
</project>
