| <?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>2.2-SNAPSHOT</version> |
| </parent> |
| |
| <artifactId>flink-table-api-scala_${scala.binary.version}</artifactId> |
| <name>Flink : Table : API Scala</name> |
| <description> |
| This module contains the Table/SQL API for writing table programs |
| within the table ecosystem using the Scala programming language. |
| </description> |
| |
| <packaging>jar</packaging> |
| |
| <properties> |
| <surefire.module.config><!-- |
| chill ArraysAsListSerializer |
| -->--add-opens=java.base/java.util=ALL-UNNAMED |
| </surefire.module.config> |
| </properties> |
| |
| <dependencies> |
| <!-- Flink 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-streaming-java</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| |
| <!-- External dependencies --> |
| |
| <dependency> |
| <groupId>org.scala-lang</groupId> |
| <artifactId>scala-reflect</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.scala-lang</groupId> |
| <artifactId>scala-library</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.scala-lang</groupId> |
| <artifactId>scala-compiler</artifactId> |
| </dependency> |
| |
| <!-- Test dependencies --> |
| |
| <dependency> |
| <groupId>org.apache.flink</groupId> |
| <artifactId>flink-test-utils-junit</artifactId> |
| </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-core</artifactId> |
| <version>${project.version}</version> |
| <scope>test</scope> |
| <type>test-jar</type> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.flink</groupId> |
| <artifactId>flink-migration-test-utils</artifactId> |
| <version>${project.version}</version> |
| <scope>test</scope> |
| </dependency> |
| |
| </dependencies> |
| |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>com.diffplug.spotless</groupId> |
| <artifactId>spotless-maven-plugin</artifactId> |
| <configuration> |
| <scala> |
| <scalafmt> |
| <version>${spotless.scalafmt.version}</version> |
| <file>${project.basedir}/../../.scalafmt.conf</file> |
| </scalafmt> |
| <licenseHeader> |
| <content>${spotless.license.header}</content> |
| <delimiter>${spotless.delimiter}</delimiter> |
| </licenseHeader> |
| </scala> |
| </configuration> |
| </plugin> |
| <!-- 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>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> |
| <!-- Adding scala source directories to build path |
| This is required for the source jar --> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>build-helper-maven-plugin</artifactId> |
| <executions> |
| <!-- Add src/main/scala to build path --> |
| <execution> |
| <id>add-source</id> |
| <phase>generate-sources</phase> |
| <goals> |
| <goal>add-source</goal> |
| </goals> |
| <configuration> |
| <sources> |
| <source>src/main/scala</source> |
| </sources> |
| </configuration> |
| </execution> |
| <!-- Add src/test/scala to build path --> |
| <execution> |
| <id>add-test-source</id> |
| <phase>generate-test-sources</phase> |
| <goals> |
| <goal>add-test-source</goal> |
| </goals> |
| <configuration> |
| <sources> |
| <source>src/test/scala</source> |
| </sources> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| |
| <profiles> |
| <profile> |
| <id>generate-migration-test-data</id> |
| <build> |
| <plugins> |
| <plugin> |
| <artifactId>maven-antrun-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>generate-migration-test-data</id> |
| <phase>package</phase> |
| <goals> |
| <goal>run</goal> |
| </goals> |
| <configuration> |
| <target> |
| <condition property="optional.classes" value="--classes '${generate.classes}'" |
| else=""> |
| <isset property="generate.classes"/> |
| </condition> |
| <condition property="optional.prefixes" |
| value="--prefixes '${generate.prefixes}'" else=""> |
| <isset property="generate.prefixes"/> |
| </condition> |
| <java classname="org.apache.flink.test.migration.MigrationTestsSnapshotGenerator" |
| fork="true" failonerror="true" dir="${project.basedir}"> |
| <classpath refid="maven.test.classpath"/> |
| <arg value="--dir"/> |
| <arg line="${project.basedir}"/> |
| <arg value="--version"/> |
| <arg value="${generate.version}"/> |
| <arg line="${optional.classes}"/> |
| <arg line="${optional.prefixes}"/> |
| </java> |
| </target> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| <profile> |
| <id>java17</id> |
| <activation> |
| <jdk>[17,)</jdk> |
| </activation> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>com.github.siom79.japicmp</groupId> |
| <artifactId>japicmp-maven-plugin</artifactId> |
| <configuration> |
| <!-- version bump broke the checks --> |
| <skip>true</skip> |
| </configuration> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| </profiles> |
| </project> |