<?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.14.0</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>

		<dependency>
			<groupId>org.apache.flink</groupId>
			<artifactId>flink-statebackend-changelog</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>
