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

	<properties>
		<flink.format.parquet.version>1.11.1</flink.format.parquet.version>
	</properties>

	<artifactId>flink-formats</artifactId>
	<name>Flink : Formats : </name>
	<packaging>pom</packaging>

	<modules>
		<module>flink-avro</module>
		<module>flink-json</module>
		<module>flink-avro-confluent-registry</module>
		<module>flink-parquet</module>
		<module>flink-sequence-file</module>
		<module>flink-compress</module>
		<module>flink-csv</module>
		<module>flink-orc</module>
		<module>flink-orc-nohive</module>
		<module>flink-hadoop-bulk</module>
		<module>flink-avro-glue-schema-registry</module>
    <module>flink-format-common</module>
  </modules>

	<!-- override these root dependencies as 'provided', so they don't end up
		in the jars-with-dependencies (uber jars) of formats and
		user programs that depend on the formats -->

	<dependencies>
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-api</artifactId>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>org.apache.flink</groupId>
			<artifactId>flink-test-utils-junit</artifactId>
		</dependency>
	</dependencies>

	<profiles>

		<!-- Create SQL Client uber jars by default -->
		<profile>
			<id>sql-jars</id>
			<activation>
				<property>
					<name>!skipSqlJars</name>
				</property>
			</activation>
			<modules>
				<module>flink-sql-orc</module>
				<module>flink-sql-parquet</module>
				<module>flink-sql-avro</module>
				<module>flink-sql-avro-confluent-registry</module>
			</modules>
		</profile>
	</profiles>

</project>
