This is an automated email from the ASF dual-hosted git repository. zouxxyy pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/paimon.git
The following commit(s) were added to refs/heads/master by this push: new 036f5c598f [spark] support using scala 2.13 to build and deploy with paimon-spark (#6128) 036f5c598f is described below commit 036f5c598facfc2255fcb0c0c316cfe9fcc656e9 Author: Houliang Qi <neuyi...@163.com> AuthorDate: Thu Sep 18 00:53:37 2025 +0800 [spark] support using scala 2.13 to build and deploy with paimon-spark (#6128) Co-authored-by: zouxxyy <zouxinyu....@alibaba-inc.com> --- .github/workflows/publish_snapshot-jdk17.yml | 4 ++-- .github/workflows/publish_snapshot.yml | 2 ++ .github/workflows/utitcase-jdk11.yml | 4 ++-- .github/workflows/utitcase-spark-3.x.yml | 20 +++++++++++++------- .github/workflows/utitcase-spark-4.x.yml | 7 +++++-- .github/workflows/utitcase.yml | 4 ++-- paimon-spark/paimon-spark-3.2/pom.xml | 10 +++++----- paimon-spark/paimon-spark-3.3/pom.xml | 10 +++++----- paimon-spark/paimon-spark-3.4/pom.xml | 10 +++++----- paimon-spark/paimon-spark-3.5/pom.xml | 10 +++++----- paimon-spark/paimon-spark-4.0/pom.xml | 10 +++++----- paimon-spark/paimon-spark-ut/pom.xml | 4 ++-- paimon-spark/paimon-spark3-common/pom.xml | 4 ++-- paimon-spark/paimon-spark4-common/pom.xml | 4 ++-- pom.xml | 19 ++++++++++++++++--- 15 files changed, 73 insertions(+), 49 deletions(-) diff --git a/.github/workflows/publish_snapshot-jdk17.yml b/.github/workflows/publish_snapshot-jdk17.yml index b1542625b7..177a0f850e 100644 --- a/.github/workflows/publish_snapshot-jdk17.yml +++ b/.github/workflows/publish_snapshot-jdk17.yml @@ -63,7 +63,7 @@ jobs: echo "<password>$ASF_PASSWORD</password>" >> $tmp_settings echo "</server></servers></settings>" >> $tmp_settings - mvn --settings $tmp_settings clean install -Dgpg.skip -Drat.skip -DskipTests -Papache-release,spark4,flink1 -pl org.apache.paimon:paimon-spark-4.0 -am - mvn --settings $tmp_settings clean deploy -Dgpg.skip -Drat.skip -DskipTests -Papache-release,spark4,flink1 -pl org.apache.paimon:paimon-spark-common_2.13,org.apache.paimon:paimon-spark4-common,org.apache.paimon:paimon-spark-4.0 + mvn --settings $tmp_settings clean install -Dgpg.skip -Drat.skip -DskipTests -Papache-release,spark4,flink1 -pl org.apache.paimon:paimon-spark-4.0_2.13 -am + mvn --settings $tmp_settings clean deploy -Dgpg.skip -Drat.skip -DskipTests -Papache-release,spark4,flink1 -pl org.apache.paimon:paimon-spark-common_2.13,org.apache.paimon:paimon-spark4-common_2.13,org.apache.paimon:paimon-spark-ut_2.13,org.apache.paimon:paimon-spark-4.0_2.13 rm $tmp_settings diff --git a/.github/workflows/publish_snapshot.yml b/.github/workflows/publish_snapshot.yml index a242cc65de..b9deaeb0e0 100644 --- a/.github/workflows/publish_snapshot.yml +++ b/.github/workflows/publish_snapshot.yml @@ -66,5 +66,7 @@ jobs: echo "</server></servers></settings>" >> $tmp_settings mvn --settings $tmp_settings clean deploy -Dgpg.skip -Drat.skip -DskipTests -Papache-release,spark3,flink1 + # deploy for scala 2.13 + mvn --settings $tmp_settings clean deploy -Dgpg.skip -Drat.skip -DskipTests -Papache-release,spark3,scala-2.13,flink1 -pl org.apache.paimon:paimon-spark-common_2.13,org.apache.paimon:paimon-spark3-common_2.13,org.apache.paimon:paimon-spark-ut_2.13,org.apache.paimon:paimon-spark-3.2_2.13,org.apache.paimon:paimon-spark-3.3_2.13,org.apache.paimon:paimon-spark-3.4_2.13,org.apache.paimon:paimon-spark-3.5_2.13 rm $tmp_settings diff --git a/.github/workflows/utitcase-jdk11.yml b/.github/workflows/utitcase-jdk11.yml index f2e538fe89..0386a02e14 100644 --- a/.github/workflows/utitcase-jdk11.yml +++ b/.github/workflows/utitcase-jdk11.yml @@ -52,8 +52,8 @@ jobs: jvm_timezone=$(random_timezone) echo "JVM timezone is set to $jvm_timezone" test_modules="!paimon-e2e-tests,!org.apache.paimon:paimon-hive-connector-3.1," - for suffix in 3.5 3.4 3.3 3.2 ut; do - test_modules+="!org.apache.paimon:paimon-spark-${suffix}," + for suffix in ut 3.5 3.4 3.3 3.2; do + test_modules+="!org.apache.paimon:paimon-spark-${suffix}_2.12," done test_modules="${test_modules%,}" mvn -T 1C -B clean install -pl "${test_modules}" -Pflink1,spark3 -Pskip-paimon-flink-tests -Duser.timezone=$jvm_timezone diff --git a/.github/workflows/utitcase-spark-3.x.yml b/.github/workflows/utitcase-spark-3.x.yml index 5b17dc6e75..40ae73fab4 100644 --- a/.github/workflows/utitcase-spark-3.x.yml +++ b/.github/workflows/utitcase-spark-3.x.yml @@ -36,20 +36,26 @@ concurrency: cancel-in-progress: true jobs: - build: + build_test: runs-on: ubuntu-latest - + strategy: + fail-fast: true + matrix: + scala_version: [ '2.12', '2.13' ] steps: - name: Checkout code uses: actions/checkout@v4 + - name: Set up JDK ${{ env.JDK_VERSION }} uses: actions/setup-java@v4 with: java-version: ${{ env.JDK_VERSION }} distribution: 'temurin' - - name: Build Spark - run: mvn -T 2C -B clean install -DskipTests - - name: Test Spark + + - name: Build Spark 3 with ${{ matrix.scala_version }} + run: mvn -T 2C -B clean install -DskipTests -Pspark3,flink1,scala-${{ matrix.scala_version }} + + - name: Test Spark 3 with ${{ matrix.scala_version }} timeout-minutes: 60 run: | # run tests with random timezone to find out timezone related bugs @@ -58,9 +64,9 @@ jobs: echo "JVM timezone is set to $jvm_timezone" test_modules="" for suffix in ut 3.5 3.4 3.3 3.2; do - test_modules+="org.apache.paimon:paimon-spark-${suffix}," + test_modules+="org.apache.paimon:paimon-spark-${suffix}_${{ matrix.scala_version }}," done test_modules="${test_modules%,}" - mvn -T 2C -B verify -pl "${test_modules}" -Duser.timezone=$jvm_timezone + mvn -T 2C -B verify -pl "${test_modules}" -Duser.timezone=$jvm_timezone -Pspark3,flink1,scala-${{ matrix.scala_version }} env: MAVEN_OPTS: -Xmx4096m \ No newline at end of file diff --git a/.github/workflows/utitcase-spark-4.x.yml b/.github/workflows/utitcase-spark-4.x.yml index 605d7ded84..b9b3071de5 100644 --- a/.github/workflows/utitcase-spark-4.x.yml +++ b/.github/workflows/utitcase-spark-4.x.yml @@ -36,19 +36,22 @@ concurrency: cancel-in-progress: true jobs: - build: + build_test: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 + - name: Set up JDK ${{ env.JDK_VERSION }} uses: actions/setup-java@v4 with: java-version: ${{ env.JDK_VERSION }} distribution: 'temurin' + - name: Build Spark run: mvn -T 2C -B clean install -DskipTests -Pspark4,flink1 + - name: Test Spark timeout-minutes: 60 run: | @@ -58,7 +61,7 @@ jobs: echo "JVM timezone is set to $jvm_timezone" test_modules="" for suffix in ut 4.0; do - test_modules+="org.apache.paimon:paimon-spark-${suffix}," + test_modules+="org.apache.paimon:paimon-spark-${suffix}_2.13," done test_modules="${test_modules%,}" mvn -T 2C -B verify -pl "${test_modules}" -Duser.timezone=$jvm_timezone -Pspark4,flink1 diff --git a/.github/workflows/utitcase.yml b/.github/workflows/utitcase.yml index f16f5bf32a..3ba3df80fd 100644 --- a/.github/workflows/utitcase.yml +++ b/.github/workflows/utitcase.yml @@ -62,8 +62,8 @@ jobs: echo "JVM timezone is set to $jvm_timezone" TEST_MODULES="!paimon-e2e-tests," - for suffix in 3.5 3.4 3.3 3.2 ut; do - TEST_MODULES+="!org.apache.paimon:paimon-spark-${suffix}," + for suffix in ut 3.5 3.4 3.3 3.2; do + TEST_MODULES+="!org.apache.paimon:paimon-spark-${suffix}_2.12," done TEST_MODULES="${TEST_MODULES%,}" mvn -T 2C -B clean install -pl "${TEST_MODULES}" -Pskip-paimon-flink-tests -Duser.timezone=$jvm_timezone diff --git a/paimon-spark/paimon-spark-3.2/pom.xml b/paimon-spark/paimon-spark-3.2/pom.xml index 2487548c29..1a98ff45d3 100644 --- a/paimon-spark/paimon-spark-3.2/pom.xml +++ b/paimon-spark/paimon-spark-3.2/pom.xml @@ -28,8 +28,8 @@ under the License. <version>1.4-SNAPSHOT</version> </parent> - <artifactId>paimon-spark-3.2</artifactId> - <name>Paimon : Spark : 3.2</name> + <artifactId>paimon-spark-3.2_${scala.binary.version}</artifactId> + <name>Paimon : Spark : 3.2 : ${scala.binary.version}</name> <properties> <spark.version>3.2.4</spark.version> @@ -43,7 +43,7 @@ under the License. <dependency> <groupId>org.apache.paimon</groupId> - <artifactId>paimon-spark3-common</artifactId> + <artifactId>paimon-spark3-common_${scala.binary.version}</artifactId> <version>${project.version}</version> </dependency> @@ -75,7 +75,7 @@ under the License. <dependency> <groupId>org.apache.paimon</groupId> - <artifactId>paimon-spark-ut</artifactId> + <artifactId>paimon-spark-ut_${scala.binary.version}</artifactId> <version>${project.version}</version> <classifier>tests</classifier> <scope>test</scope> @@ -131,7 +131,7 @@ under the License. </filters> <artifactSet> <includes combine.children="append"> - <include>org.apache.paimon:paimon-spark3-common</include> + <include>org.apache.paimon:paimon-spark3-common_${scala.binary.version}</include> </includes> </artifactSet> </configuration> diff --git a/paimon-spark/paimon-spark-3.3/pom.xml b/paimon-spark/paimon-spark-3.3/pom.xml index 3b31d0105a..5b4396de66 100644 --- a/paimon-spark/paimon-spark-3.3/pom.xml +++ b/paimon-spark/paimon-spark-3.3/pom.xml @@ -28,8 +28,8 @@ under the License. <version>1.4-SNAPSHOT</version> </parent> - <artifactId>paimon-spark-3.3</artifactId> - <name>Paimon : Spark : 3.3</name> + <artifactId>paimon-spark-3.3_${scala.binary.version}</artifactId> + <name>Paimon : Spark : 3.3: ${scala.binary.version}</name> <properties> <spark.version>3.3.4</spark.version> @@ -43,7 +43,7 @@ under the License. <dependency> <groupId>org.apache.paimon</groupId> - <artifactId>paimon-spark3-common</artifactId> + <artifactId>paimon-spark3-common_${scala.binary.version}</artifactId> <version>${project.version}</version> </dependency> @@ -75,7 +75,7 @@ under the License. <dependency> <groupId>org.apache.paimon</groupId> - <artifactId>paimon-spark-ut</artifactId> + <artifactId>paimon-spark-ut_${scala.binary.version}</artifactId> <version>${project.version}</version> <classifier>tests</classifier> <scope>test</scope> @@ -131,7 +131,7 @@ under the License. </filters> <artifactSet> <includes combine.children="append"> - <include>org.apache.paimon:paimon-spark3-common</include> + <include>org.apache.paimon:paimon-spark3-common_${scala.binary.version}</include> </includes> </artifactSet> </configuration> diff --git a/paimon-spark/paimon-spark-3.4/pom.xml b/paimon-spark/paimon-spark-3.4/pom.xml index 9e09f06d17..9b940591ad 100644 --- a/paimon-spark/paimon-spark-3.4/pom.xml +++ b/paimon-spark/paimon-spark-3.4/pom.xml @@ -28,8 +28,8 @@ under the License. <version>1.4-SNAPSHOT</version> </parent> - <artifactId>paimon-spark-3.4</artifactId> - <name>Paimon : Spark : 3.4</name> + <artifactId>paimon-spark-3.4_${scala.binary.version}</artifactId> + <name>Paimon : Spark : 3.4: ${scala.binary.version}</name> <properties> <spark.version>3.4.3</spark.version> @@ -43,7 +43,7 @@ under the License. <dependency> <groupId>org.apache.paimon</groupId> - <artifactId>paimon-spark3-common</artifactId> + <artifactId>paimon-spark3-common_${scala.binary.version}</artifactId> <version>${project.version}</version> </dependency> @@ -75,7 +75,7 @@ under the License. <dependency> <groupId>org.apache.paimon</groupId> - <artifactId>paimon-spark-ut</artifactId> + <artifactId>paimon-spark-ut_${scala.binary.version}</artifactId> <version>${project.version}</version> <classifier>tests</classifier> <scope>test</scope> @@ -131,7 +131,7 @@ under the License. </filters> <artifactSet> <includes combine.children="append"> - <include>org.apache.paimon:paimon-spark3-common</include> + <include>org.apache.paimon:paimon-spark3-common_${scala.binary.version}</include> </includes> </artifactSet> </configuration> diff --git a/paimon-spark/paimon-spark-3.5/pom.xml b/paimon-spark/paimon-spark-3.5/pom.xml index 53557de64f..a8986a0579 100644 --- a/paimon-spark/paimon-spark-3.5/pom.xml +++ b/paimon-spark/paimon-spark-3.5/pom.xml @@ -28,8 +28,8 @@ under the License. <version>1.4-SNAPSHOT</version> </parent> - <artifactId>paimon-spark-3.5</artifactId> - <name>Paimon : Spark : 3.5</name> + <artifactId>paimon-spark-3.5_${scala.binary.version}</artifactId> + <name>Paimon : Spark : 3.5: ${scala.binary.version}</name> <properties> <spark.version>3.5.6</spark.version> @@ -43,7 +43,7 @@ under the License. <dependency> <groupId>org.apache.paimon</groupId> - <artifactId>paimon-spark3-common</artifactId> + <artifactId>paimon-spark3-common_${scala.binary.version}</artifactId> <version>${project.version}</version> </dependency> @@ -75,7 +75,7 @@ under the License. <dependency> <groupId>org.apache.paimon</groupId> - <artifactId>paimon-spark-ut</artifactId> + <artifactId>paimon-spark-ut_${scala.binary.version}</artifactId> <version>${project.version}</version> <classifier>tests</classifier> <scope>test</scope> @@ -131,7 +131,7 @@ under the License. </filters> <artifactSet> <includes combine.children="append"> - <include>org.apache.paimon:paimon-spark3-common</include> + <include>org.apache.paimon:paimon-spark3-common_${scala.binary.version}</include> </includes> </artifactSet> </configuration> diff --git a/paimon-spark/paimon-spark-4.0/pom.xml b/paimon-spark/paimon-spark-4.0/pom.xml index b570810b99..27b8b2439d 100644 --- a/paimon-spark/paimon-spark-4.0/pom.xml +++ b/paimon-spark/paimon-spark-4.0/pom.xml @@ -28,8 +28,8 @@ under the License. <version>1.4-SNAPSHOT</version> </parent> - <artifactId>paimon-spark-4.0</artifactId> - <name>Paimon : Spark : 4.0</name> + <artifactId>paimon-spark-4.0_2.13</artifactId> + <name>Paimon : Spark : 4.0 : 2.13</name> <properties> <spark.version>4.0.1</spark.version> @@ -43,7 +43,7 @@ under the License. <dependency> <groupId>org.apache.paimon</groupId> - <artifactId>paimon-spark4-common</artifactId> + <artifactId>paimon-spark4-common_${scala.binary.version}</artifactId> <version>${project.version}</version> </dependency> @@ -81,7 +81,7 @@ under the License. <dependency> <groupId>org.apache.paimon</groupId> - <artifactId>paimon-spark-ut</artifactId> + <artifactId>paimon-spark-ut_${scala.binary.version}</artifactId> <version>${project.version}</version> <classifier>tests</classifier> <scope>test</scope> @@ -143,7 +143,7 @@ under the License. </filters> <artifactSet> <includes combine.children="append"> - <include>org.apache.paimon:paimon-spark4-common</include> + <include>org.apache.paimon:paimon-spark4-common_${scala.binary.version}</include> </includes> </artifactSet> </configuration> diff --git a/paimon-spark/paimon-spark-ut/pom.xml b/paimon-spark/paimon-spark-ut/pom.xml index 10ad2317ef..e6eab99f17 100644 --- a/paimon-spark/paimon-spark-ut/pom.xml +++ b/paimon-spark/paimon-spark-ut/pom.xml @@ -28,8 +28,8 @@ under the License. <version>1.4-SNAPSHOT</version> </parent> - <artifactId>paimon-spark-ut</artifactId> - <name>Paimon : Spark : UT</name> + <artifactId>paimon-spark-ut_${scala.binary.version}</artifactId> + <name>Paimon : Spark : UT : ${scala.binary.version}</name> <properties> <spark.version>${paimon-spark-common.spark.version}</spark.version> diff --git a/paimon-spark/paimon-spark3-common/pom.xml b/paimon-spark/paimon-spark3-common/pom.xml index b3a2172b8d..b782d1c137 100644 --- a/paimon-spark/paimon-spark3-common/pom.xml +++ b/paimon-spark/paimon-spark3-common/pom.xml @@ -30,8 +30,8 @@ under the License. <packaging>jar</packaging> - <artifactId>paimon-spark3-common</artifactId> - <name>Paimon : Spark3 : Common</name> + <artifactId>paimon-spark3-common_${scala.binary.version}</artifactId> + <name>Paimon : Spark3 : Common : ${scala.binary.version}</name> <properties> <spark.version>${paimon-spark-common.spark.version}</spark.version> diff --git a/paimon-spark/paimon-spark4-common/pom.xml b/paimon-spark/paimon-spark4-common/pom.xml index 7ce29fba1d..c8833fe141 100644 --- a/paimon-spark/paimon-spark4-common/pom.xml +++ b/paimon-spark/paimon-spark4-common/pom.xml @@ -30,8 +30,8 @@ under the License. <packaging>jar</packaging> - <artifactId>paimon-spark4-common</artifactId> - <name>Paimon : Spark4 : Common</name> + <artifactId>paimon-spark4-common_2.13</artifactId> + <name>Paimon : Spark4 : Common : 2.13</name> <properties> <spark.version>${paimon-spark-common.spark.version}</spark.version> diff --git a/pom.xml b/pom.xml index 10153f26fc..ef8fa91300 100644 --- a/pom.xml +++ b/pom.xml @@ -126,7 +126,7 @@ under the License. <test.mysql.connector.java.version>8.0.27</test.mysql.connector.java.version> <!-- spark profile properties--> - <paimon-sparkx-common>paimon-spark3-common</paimon-sparkx-common> + <paimon-sparkx-common>paimon-spark3-common_${scala.binary.version}</paimon-sparkx-common> <paimon-spark-common.spark.version>3.5.6</paimon-spark-common.spark.version> <test.spark.main.version>3.3</test.spark.main.version> <test.spark.version>3.3.0</test.spark.version> @@ -402,7 +402,7 @@ under the License. <scala.binary.version>2.12</scala.binary.version> <scala.version>${scala212.version}</scala.version> <paimon-spark-common.spark.version>3.5.6</paimon-spark-common.spark.version> - <paimon-sparkx-common>paimon-spark3-common</paimon-sparkx-common> + <paimon-sparkx-common>paimon-spark3-common_${scala.binary.version}</paimon-sparkx-common> <!-- todo: support the latest spark in paimon e2e test2 --> <test.spark.main.version>3.3</test.spark.main.version> <test.spark.version>3.3.0</test.spark.version> @@ -427,7 +427,7 @@ under the License. <scala.binary.version>2.13</scala.binary.version> <scala.version>${scala213.version}</scala.version> <paimon-spark-common.spark.version>4.0.1</paimon-spark-common.spark.version> - <paimon-sparkx-common>paimon-spark4-common</paimon-sparkx-common> + <paimon-sparkx-common>paimon-spark4-common_2.13</paimon-sparkx-common> <test.spark.main.version>4.0</test.spark.main.version> <test.spark.version>4.0.1</test.spark.version> </properties> @@ -483,6 +483,19 @@ under the License. </activation> </profile> + <profile> + <id>scala-2.13</id> + <properties> + <scala.binary.version>2.13</scala.binary.version> + <scala.version>${scala213.version}</scala.version> + </properties> + <activation> + <property> + <name>scala-2.13</name> + </property> + </activation> + </profile> + <profile> <id>paimon-iceberg</id> <modules>