<?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-table</artifactId>
		<version>1.15-SNAPSHOT</version>
		<relativePath>..</relativePath>
	</parent>

	<artifactId>flink-table-planner_${scala.binary.version}</artifactId>
	<name>Flink : Table : Planner</name>
	<description>
		This module connects Table/SQL API and runtime. It is responsible
		for translating and optimizing a table program into a Flink pipeline.
		The module can access all resources that are required during
		pre-flight and runtime phase for planning.
	</description>

	<packaging>jar</packaging>

	<dependencies>
		<!-- Mainly used for calcite-core, it would be relocated
		     to org.apache.flink.calcite.shaded by the shade plugin -->
		<dependency>
			<groupId>com.google.guava</groupId>
			<artifactId>guava</artifactId>
		</dependency>
		<dependency>
			<groupId>org.codehaus.janino</groupId>
			<artifactId>commons-compiler</artifactId>
		</dependency>
		<!-- Used for code generation -->
		<dependency>
			<groupId>org.codehaus.janino</groupId>
			<artifactId>janino</artifactId>
		</dependency>

		<!-- core dependencies -->

		<dependency>
			<groupId>org.apache.flink</groupId>
			<artifactId>flink-table-common</artifactId>
			<version>${project.version}</version>
		</dependency>

		<dependency>
			<groupId>org.apache.flink</groupId>
			<artifactId>flink-table-api-java</artifactId>
			<version>${project.version}</version>
		</dependency>

		<dependency>
			<groupId>org.apache.flink</groupId>
			<artifactId>flink-table-api-scala_${scala.binary.version}</artifactId>
			<version>${project.version}</version>
		</dependency>

		<dependency>
			<groupId>org.apache.flink</groupId>
			<artifactId>flink-table-api-java-bridge_${scala.binary.version}</artifactId>
			<version>${project.version}</version>
		</dependency>

		<dependency>
			<groupId>org.apache.flink</groupId>
			<artifactId>flink-table-api-scala-bridge_${scala.binary.version}</artifactId>
			<version>${project.version}</version>
		</dependency>

		<dependency>
			<groupId>org.apache.flink</groupId>
			<artifactId>flink-sql-parser</artifactId>
			<version>${project.version}</version>
			<exclusions>
				<exclusion>
					<groupId>org.apache.calcite</groupId>
					<artifactId>calcite-core</artifactId>
				</exclusion>
			</exclusions>
		</dependency>

		<dependency>
			<groupId>org.apache.flink</groupId>
			<artifactId>flink-sql-parser-hive</artifactId>
			<version>${project.version}</version>
			<exclusions>
				<exclusion>
					<groupId>org.apache.calcite</groupId>
					<artifactId>calcite-core</artifactId>
				</exclusion>
			</exclusions>
		</dependency>

		<dependency>
			<groupId>org.apache.flink</groupId>
			<artifactId>flink-table-runtime_${scala.binary.version}</artifactId>
			<version>${project.version}</version>
		</dependency>

		<dependency>
			<groupId>org.apache.flink</groupId>
			<artifactId>flink-scala_${scala.binary.version}</artifactId>
			<version>${project.version}</version>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>org.apache.flink</groupId>
			<artifactId>flink-streaming-scala_${scala.binary.version}</artifactId>
			<version>${project.version}</version>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>org.apache.flink</groupId>
			<artifactId>flink-cep_${scala.binary.version}</artifactId>
			<version>${project.version}</version>
			<scope>provided</scope>
		</dependency>

		<!-- Used for translation of table programs -->
		<dependency>
			<groupId>org.apache.calcite</groupId>
			<artifactId>calcite-core</artifactId>
			<!-- When updating the Calcite version, make sure to update the dependency exclusions -->
			<version>${calcite.version}</version>
			<exclusions>
				<!--
				"mvn dependency:tree" as of Calcite 1.26.0:

				[INFO] +- org.apache.calcite:calcite-core:jar:1.26.0:compile
				[INFO] |  +- org.apache.calcite:calcite-linq4j:jar:1.26.0:compile
				[INFO] |  +- com.fasterxml.jackson.core:jackson-annotations:jar:2.12.1:compile
				[INFO] |  +- org.apiguardian:apiguardian-api:jar:1.1.0:compile
				[INFO] |  +- com.esri.geometry:esri-geometry-api:jar:2.2.0:runtime
				[INFO] |  +- com.fasterxml.jackson.core:jackson-core:jar:2.12.1:runtime
				[INFO] |  +- com.fasterxml.jackson.core:jackson-databind:jar:2.12.1:runtime
				[INFO] |  +- com.jayway.jsonpath:json-path:jar:2.4.0:runtime
				[INFO] |  |  \- net.minidev:json-smart:jar:2.3:runtime
				[INFO] |  |     \- net.minidev:accessors-smart:jar:1.2:runtime
				[INFO] |  |        \- org.ow2.asm:asm:jar:5.0.4:runtime
				[INFO] |  +- commons-codec:commons-codec:jar:1.10:runtime
				[INFO] |  +- org.apache.commons:commons-lang3:jar:3.3.2:compile
				[INFO] |  \- commons-io:commons-io:jar:2.4:compile

				Dependencies that are not needed for how we use Calcite right now.
				-->
				<exclusion>
					<groupId>org.apache.calcite.avatica</groupId>
					<artifactId>avatica-server</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.apache.calcite.avatica</groupId>
					<artifactId>avatica-metrics</artifactId>
				</exclusion>
				<exclusion>
					<groupId>com.google.protobuf</groupId>
					<artifactId>protobuf-java</artifactId>
				</exclusion>
				<exclusion>
					<groupId>com.google.uzaygezen</groupId>
					<artifactId>uzaygezen-core</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.apache.httpcomponents</groupId>
					<artifactId>httpclient</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.apache.httpcomponents</groupId>
					<artifactId>httpcore</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.apache.commons</groupId>
					<artifactId>commons-dbcp2</artifactId>
				</exclusion>
				<exclusion>
					<groupId>com.fasterxml.jackson.dataformat</groupId>
					<artifactId>jackson-dataformat-yaml</artifactId>
				</exclusion>
				<exclusion>
					<groupId>com.yahoo.datasketches</groupId>
					<artifactId>sketches-core</artifactId>
				</exclusion>
				<exclusion>
					<groupId>net.hydromatic</groupId>
					<artifactId>aggdesigner-algorithm</artifactId>
				</exclusion>
			</exclusions>
		</dependency>

		<!-- Tools to unify display format for different languages -->
		<dependency>
			<groupId>com.ibm.icu</groupId>
			<artifactId>icu4j</artifactId>
			<version>67.1</version>
		</dependency>

		<!-- For legacy string expressions in Table API -->
		<dependency>
			<groupId>org.scala-lang.modules</groupId>
			<artifactId>scala-parser-combinators_${scala.binary.version}</artifactId>
		</dependency>

		<!-- test dependencies -->
		<dependency>
			<groupId>org.apache.flink</groupId>
			<artifactId>flink-test-utils_${scala.binary.version}</artifactId>
			<version>${project.version}</version>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>org.apache.flink</groupId>
			<artifactId>flink-core</artifactId>
			<version>${project.version}</version>
			<type>test-jar</type>
			<scope>test</scope>
		</dependency>

		<!-- SuccessException used in TestValuesTableFactory -->
		<dependency>
			<groupId>org.apache.flink</groupId>
			<artifactId>flink-tests</artifactId>
			<version>${project.version}</version>
			<type>test-jar</type>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>org.apache.flink</groupId>
			<artifactId>flink-table-common</artifactId>
			<version>${project.version}</version>
			<type>test-jar</type>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>org.apache.flink</groupId>
			<artifactId>flink-table-api-java</artifactId>
			<version>${project.version}</version>
			<type>test-jar</type>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>org.apache.flink</groupId>
			<artifactId>flink-table-runtime_${scala.binary.version}</artifactId>
			<version>${project.version}</version>
			<type>test-jar</type>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>org.apache.flink</groupId>
			<artifactId>flink-streaming-java_${scala.binary.version}</artifactId>
			<version>${project.version}</version>
			<type>test-jar</type>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>org.apache.flink</groupId>
			<artifactId>flink-statebackend-rocksdb_${scala.binary.version}</artifactId>
			<version>${project.version}</version>
			<scope>test</scope>
		</dependency>

		<!-- utility to scan classpaths -->
		<dependency>
			<groupId>org.reflections</groupId>
			<artifactId>reflections</artifactId>
			<version>0.9.10</version>
			<exclusions>
				<exclusion>
					<groupId>com.google.code.findbugs</groupId>
					<artifactId>annotations</artifactId>
				</exclusion>
				<exclusion>
					<groupId>com.google.guava</groupId>
					<artifactId>guava</artifactId>
				</exclusion>
			</exclusions>
			<scope>compile</scope>
		</dependency>
	</dependencies>

	<build>
		<plugins>
			<!-- Scala Compiler -->
			<plugin>
				<groupId>net.alchim31.maven</groupId>
				<artifactId>scala-maven-plugin</artifactId>
				<executions>
					<!-- Run scala compiler in the process-resources phase, so that dependencies on
						scala classes can be resolved later in the (Java) compile phase -->
					<execution>
						<id>scala-compile-first</id>
						<phase>process-resources</phase>
						<goals>
							<goal>add-source</goal>
							<goal>compile</goal>
						</goals>
					</execution>

					<!-- Run scala compiler in the process-test-resources phase, so that dependencies on
						 scala classes can be resolved later in the (Java) test-compile phase -->
					<execution>
						<id>scala-test-compile</id>
						<phase>process-test-resources</phase>
						<goals>
							<goal>testCompile</goal>
						</goals>
					</execution>
				</executions>
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-shade-plugin</artifactId>
				<executions>
					<execution>
						<id>shade-flink</id>
						<configuration>
							<shadeTestJar>false</shadeTestJar>
							<filters>
								<filter>
									<artifact>*:*</artifact>
									<excludes>
										<!-- Excluded all these files for a clean flink-table-planner JAR -->
										<exclude>org-apache-calcite-jdbc.properties</exclude>
										<exclude>common.proto</exclude>
										<exclude>requests.proto</exclude>
										<exclude>responses.proto</exclude>
										<exclude>codegen/**</exclude>
										<exclude>META-INF/*.SF</exclude>
										<exclude>META-INF/*.DSA</exclude>
										<exclude>META-INF/*.RSA</exclude>
										<exclude>META-INF/services/java.sql.Driver</exclude>
										<!-- com.ibm.icu:icu4j includes a LICENSE file in its root folder -->
										<exclude>LICENSE</exclude>
									</excludes>
								</filter>
							</filters>
							<artifactSet>
								<includes combine.children="append">
									<include>org.apache.calcite:*</include>
									<include>org.apache.calcite.avatica:*</include>

									<!-- Calcite's dependencies -->
									<include>com.esri.geometry:esri-geometry-api</include>
									<include>com.google.guava:guava</include>
									<include>com.google.guava:failureaccess</include>
									<include>com.jayway.jsonpath:json-path</include>
									<include>com.fasterxml.jackson.core:jackson-core</include>
									<include>com.fasterxml.jackson.core:jackson-databind</include>
									<include>com.fasterxml.jackson.core:jackson-annotations</include>
									<include>commons-codec:commons-codec</include>
									<include>commons-io:commons-io</include>

									<!-- flink-table-planner dependencies -->
									<include>org.apache.flink:flink-sql-parser</include>
									<include>org.apache.flink:flink-sql-parser-hive</include>

									<!-- flink-table-runtime dependencies -->
									<include>org.codehaus.janino:*</include>
									<include>org.apache.flink:flink-table-code-splitter</include>

									<!-- Tools to unify display format for different languages -->
									<include>com.ibm.icu:icu4j</include>

									<!-- For legacy string expressions in Table API -->
									<include>org.scala-lang.modules:scala-parser-combinators_${scala.binary.version}</include>

									<include>org.reflections:reflections</include>
								</includes>
							</artifactSet>
							<relocations>
								<!-- Calcite is not relocated for now, because we expose it at some locations such as CalciteConfig -->
								<!--<relocation>
									<pattern>org.apache.calcite</pattern>
									<shadedPattern>org.apache.flink.calcite.shaded.org.apache.calcite</shadedPattern>
								</relocation>-->

								<!-- Calcite's dependencies -->
								<relocation>
									<pattern>com.google</pattern>
									<shadedPattern>org.apache.flink.calcite.shaded.com.google</shadedPattern>
								</relocation>
								<relocation>
									<pattern>com.jayway</pattern>
									<shadedPattern>org.apache.flink.calcite.shaded.com.jayway</shadedPattern>
								</relocation>
								<relocation>
									<pattern>com.fasterxml</pattern>
									<shadedPattern>org.apache.flink.calcite.shaded.com.fasterxml</shadedPattern>
								</relocation>
								<relocation>
									<pattern>org.apache.commons.codec</pattern>
									<shadedPattern>org.apache.flink.calcite.shaded.org.apache.commons.codec</shadedPattern>
								</relocation>
								<relocation>
									<pattern>org.apache.commons.io</pattern>
									<shadedPattern>org.apache.flink.calcite.shaded.org.apache.commons.io</shadedPattern>
								</relocation>

								<!-- flink-table-planner dependencies -->
								<!-- not relocated for now, because we need to change the contents of the properties field otherwise -->
								<!--<relocation>
									<pattern>org.codehaus</pattern>
									<shadedPattern>org.apache.flink.table.shaded.org.codehaus</shadedPattern>
								</relocation>-->

								<relocation>
									<pattern>org.reflections</pattern>
									<shadedPattern>org.apache.flink.table.shaded.org.reflections</shadedPattern>
								</relocation>

							</relocations>
						</configuration>
					</execution>
				</executions>
			</plugin>

			<!-- Scala Code Style, most of the configuration done via plugin management -->
			<plugin>
				<groupId>org.scalastyle</groupId>
				<artifactId>scalastyle-maven-plugin</artifactId>
				<configuration>
					<configLocation>${project.basedir}/../../tools/maven/scalastyle-config.xml</configLocation>
				</configuration>
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-jar-plugin</artifactId>
				<executions>
					<execution>
						<goals>
							<goal>test-jar</goal>
						</goals>
					</execution>
				</executions>
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
				<executions>
					<execution>
						<id>integration-tests</id>
						<phase>integration-test</phase>
						<goals>
							<goal>test</goal>
						</goals>
						<configuration>
							<includes>
								<include>**/*ITCase.*</include>
							</includes>
							<!-- override reuseForks to true to reduce testing time -->
							<reuseForks>true</reuseForks>
						</configuration>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>
</project>
