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

	<artifactId>flink-python_${scala.binary.version}</artifactId>
	<name>Flink : Python</name>

	<packaging>jar</packaging>

	<properties>
		<arrow.version>0.16.0</arrow.version>
	</properties>

	<dependencies>

		<!-- core dependencies -->

		<dependency>
			<groupId>org.apache.flink</groupId>
			<artifactId>flink-core</artifactId>
			<version>${project.version}</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.apache.flink</groupId>
			<artifactId>flink-clients</artifactId>
			<version>${project.version}</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.apache.flink</groupId>
			<artifactId>flink-java</artifactId>
			<version>${project.version}</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.apache.flink</groupId>
			<artifactId>flink-streaming-java</artifactId>
			<version>${project.version}</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.apache.flink</groupId>
			<artifactId>flink-table-common</artifactId>
			<version>${project.version}</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.apache.flink</groupId>
			<artifactId>flink-table-api-scala-bridge_${scala.binary.version}</artifactId>
			<version>${project.version}</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.apache.flink</groupId>
			<artifactId>flink-table-runtime</artifactId>
			<version>${project.version}</version>
			<scope>provided</scope>
		</dependency>

		<!-- Beam dependencies -->

		<dependency>
			<groupId>org.apache.beam</groupId>
			<artifactId>beam-runners-java-fn-execution</artifactId>
			<exclusions>
				<exclusion>
					<groupId>org.apache.beam</groupId>
					<artifactId>beam-vendor-bytebuddy-1_10_8</artifactId>
				</exclusion>
			</exclusions>
		</dependency>

		<dependency>
			<groupId>org.apache.beam</groupId>
			<artifactId>beam-runners-core-java</artifactId>
		</dependency>

		<!-- PemJa dependencies -->
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>pemja</artifactId>
			<version>0.1.4</version>
		</dependency>

		<!-- Protobuf dependencies -->

		<dependency>
			<groupId>com.google.protobuf</groupId>
			<artifactId>protobuf-java</artifactId>
		</dependency>

		<!-- Python API dependencies -->

		<dependency>
			<groupId>net.sf.py4j</groupId>
			<artifactId>py4j</artifactId>
		</dependency>
		<dependency>
			<groupId>net.razorvine</groupId>
			<artifactId>pyrolite</artifactId>
			<version>4.13</version>
			<exclusions>
				<exclusion>
					<groupId>net.razorvine</groupId>
					<artifactId>serpent</artifactId>
				</exclusion>
			</exclusions>
		</dependency>

		<!-- Arrow dependencies -->

		<dependency>
			<groupId>org.apache.arrow</groupId>
			<artifactId>arrow-vector</artifactId>
			<version>${arrow.version}</version>
			<exclusions>
				<exclusion>
					<groupId>commons-codec</groupId>
					<artifactId>commons-codec</artifactId>
				</exclusion>
			</exclusions>
		</dependency>

		<!-- test dependencies -->

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

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

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

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

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

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

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

	</dependencies>

	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>net.sf.py4j</groupId>
				<artifactId>py4j</artifactId>
				<version>${py4j.version}</version>
			</dependency>

			<dependency>
				<groupId>org.apache.beam</groupId>
				<artifactId>beam-runners-java-fn-execution</artifactId>
				<version>${beam.version}</version>
			</dependency>

			<dependency>
				<groupId>org.apache.beam</groupId>
				<artifactId>beam-runners-core-java</artifactId>
				<version>${beam.version}</version>
			</dependency>

			<dependency>
				<groupId>com.google.protobuf</groupId>
				<artifactId>protobuf-java</artifactId>
				<version>${protoc.version}</version>
			</dependency>

			<dependency>
				<groupId>org.conscrypt</groupId>
				<artifactId>conscrypt-openjdk-uber</artifactId>
				<version>2.5.1</version>
				<scope>runtime</scope>
			</dependency>
		</dependencies>
	</dependencyManagement>

	<build>
		<resources>
			<resource>
				<directory>src/main/resources</directory>
			</resource>
		</resources>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-antrun-plugin</artifactId>
				<executions>
					<execution>
						<id>clean</id>
						<phase>clean</phase>
						<goals>
							<goal>run</goal>
						</goals>
						<configuration>
							<target>
								<delete includeEmptyDirs="true">
									<fileset dir="${project.basedir}/pyflink"
											 includes="**/*.pyc,**/__pycache__"/>
									<fileset dir="${project.basedir}/pyflink">
										<and>
											<size value="0"/>
											<type type="dir"/>
										</and>
									</fileset>
								</delete>
								<delete file="${project.basedir}/lib/pyflink.zip"/>
								<delete dir="${project.basedir}/target"/>
								<delete dir="${project.basedir}/build"/>
								<delete dir="${project.basedir}/apache-flink-libraries/build"/>
								<delete dir="${project.basedir}/apache_flink.egg-info"/>
								<delete dir="${project.basedir}/apache-flink-libraries/apache_flink_libraries.egg-info"/>
							</target>
						</configuration>
					</execution>
					<execution>
						<id>generate-resources</id>
						<phase>generate-resources</phase>
						<goals>
							<goal>run</goal>
						</goals>
						<configuration>
							<target>
								<delete includeEmptyDirs="true">
									<fileset dir="${project.basedir}/pyflink"
											 includes="**/*.pyc,**/__pycache__"/>
									<fileset dir="${project.basedir}/pyflink">
										<and>
											<size value="0"/>
											<type type="dir"/>
										</and>
									</fileset>
								</delete>
								<delete file="${project.basedir}/lib/pyflink.zip"/>
								<zip destfile="${project.basedir}/lib/pyflink.zip">
									<fileset dir="${project.basedir}"
											 includes="pyflink/**/*"/>
								</zip>
							</target>
						</configuration>
					</execution>
					<execution>
						<id>build-test-jars</id>
						<phase>package</phase>
						<goals>
							<goal>run</goal>
						</goals>
						<configuration>
							<target>
								<jar destfile="${project.build.directory}/artifacts/testUdf1.jar"
									 basedir="${project.build.directory}/test-classes"
									 includes="**/TestScalarFunction1.class"/>

								<jar destfile="${project.build.directory}/artifacts/testUdf2.jar"
									 basedir="${project.build.directory}/test-classes"
									 includes="**/TestScalarFunction2.class"/>

								<jar destfile="${project.build.directory}/artifacts/testJavaDdl.jar"
									 basedir="${project.build.directory}/test-classes"
									 includes="**/PythonFunctionFactoryTest.class"/>

								<jar destfile="${project.build.directory}/artifacts/testDataStream.jar"
									 basedir="${project.build.directory}/test-classes"
									 includes="**/DataStreamTestCollectSink.class,**/MyCustomSourceFunction.class,**/PartitionCustomTestMapFunction.class"/>

								<jar destfile="${project.build.directory}/artifacts/dummy.jar"
									 basedir="${project.build.directory}/test-classes"
									 includes="**/TestJob.class">
									<manifest>
										<attribute name="Main-Class" value="org.apache.flink.client.cli.TestJob" />
									</manifest>
								</jar>
							</target>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-shade-plugin</artifactId>
				<executions>
					<execution>
						<id>shade-flink</id>
						<phase>package</phase>
						<goals>
							<goal>shade</goal>
						</goals>
						<configuration>
							<artifactSet>
								<includes combine.children="append">
									<include>net.razorvine:*</include>
									<include>net.sf.py4j:*</include>
									<include>org.apache.beam:*</include>
									<include>com.fasterxml.jackson.core:*</include>
									<include>joda-time:*</include>
									<inculde>com.google.protobuf:*</inculde>
									<include>org.apache.arrow:*</include>
									<include>io.netty:*</include>
									<include>com.google.flatbuffers:*</include>
									<include>com.alibaba:pemja</include>
								</includes>
							</artifactSet>
							<filters>
								<filter>
									<artifact>org.apache.beam:beam-sdks-java-core</artifact>
									<excludes>
										<exclude>org/apache/beam/repackaged/core/org/antlr/**</exclude>
										<exclude>org/apache/beam/repackaged/core/org/apache/commons/compress/**</exclude>
										<exclude>org/apache/beam/repackaged/core/org/apache/commons/lang3/**</exclude>
									</excludes>
								</filter>
								<filter>
									<artifact>org.apache.beam:beam-vendor-grpc-1_26_0</artifact>
									<excludes>
										<exclude>org/apache/beam/vendor/grpc/v1p26p0/org/jboss/**</exclude>
										<exclude>schema/**</exclude>
										<exclude>org/apache/beam/vendor/grpc/v1p26p0/org/eclipse/jetty/**</exclude>
									</excludes>
								</filter>
								<filter>
									<artifact>*:*</artifact>
									<excludes>
										<exclude>LICENSE-junit.txt</exclude>
										<exclude>LICENSE.txt</exclude>
										<exclude>META-INF/LICENSE.txt</exclude>
										<exclude>*.proto</exclude>
									</excludes>
								</filter>
							</filters>
							<relocations combine.children="append">
								<relocation>
									<pattern>py4j</pattern>
									<shadedPattern>org.apache.flink.api.python.shaded.py4j</shadedPattern>
								</relocation>
								<relocation>
									<pattern>net.razorvine</pattern>
									<shadedPattern>org.apache.flink.api.python.shaded.net.razorvine</shadedPattern>
								</relocation>
								<relocation>
									<pattern>com.fasterxml.jackson</pattern>
									<shadedPattern>org.apache.flink.api.python.shaded.com.fasterxml.jackson</shadedPattern>
								</relocation>
								<relocation>
									<pattern>org.joda.time</pattern>
									<shadedPattern>org.apache.flink.api.python.shaded.org.joda.time</shadedPattern>
								</relocation>
								<relocation>
									<pattern>com.google.protobuf</pattern>
									<shadedPattern>org.apache.flink.api.python.shaded.com.google.protobuf</shadedPattern>
								</relocation>
								<relocation>
									<pattern>org.apache.arrow</pattern>
									<shadedPattern>org.apache.flink.api.python.shaded.org.apache.arrow</shadedPattern>
								</relocation>
								<relocation>
									<pattern>io.netty</pattern>
									<shadedPattern>org.apache.flink.api.python.shaded.io.netty</shadedPattern>
								</relocation>
								<relocation>
									<pattern>com.google.flatbuffers</pattern>
									<shadedPattern>org.apache.flink.api.python.shaded.com.google.flatbuffers</shadedPattern>
								</relocation>
							</relocations>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>com.github.os72</groupId>
				<artifactId>protoc-jar-maven-plugin</artifactId>
				<version>3.11.4</version>
				<executions>
					<execution>
						<phase>generate-sources</phase>
						<goals>
							<goal>run</goal>
						</goals>
						<configuration>
							<protocArtifact>com.google.protobuf:protoc:${protoc.version}</protocArtifact>
							<inputDirectories>
								<include>pyflink/proto</include>
							</inputDirectories>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
				<configuration>
					<!-- Arrow requires the property io.netty.tryReflectionSetAccessible to
					be set to true for JDK >= 9. Please refer to ARROW-5412 for more details. -->
					<argLine>-Xms256m -Xmx2048m -Dmvn.forkNumber=${surefire.forkNumber} -Dio.netty.tryReflectionSetAccessible=true -XX:+UseG1GC -Duser.country=US -Duser.language=en</argLine>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-jar-plugin</artifactId>
				<executions>
					<execution>
						<id>test-jar</id>
						<goals>
							<goal>test-jar</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<!-- This is only a temporary solution until FLINK-22872 is fixed. -->
			<!-- It compiles `org.apache.flink.table.legacyutils` containing code from the old planner. -->
			<!-- We should not start adding more Scala code. Please remove this as soon as possible. -->
			<plugin>
				<groupId>net.alchim31.maven</groupId>
				<artifactId>scala-maven-plugin</artifactId>
				<executions>
					<!-- 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>
		</plugins>
	</build>
</project>
