You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kyuubi.apache.org by ul...@apache.org on 2021/08/04 01:31:29 UTC

[incubator-kyuubi] branch master updated: [KYUUBI #888] Add scala version suffix on scala modules

This is an automated email from the ASF dual-hosted git repository.

ulyssesyou pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-kyuubi.git


The following commit(s) were added to refs/heads/master by this push:
     new 4fecf13  [KYUUBI #888] Add scala version suffix on scala modules
4fecf13 is described below

commit 4fecf139027780a71de863acf3109458e80f3be7
Author: Cheng Pan <ch...@apache.org>
AuthorDate: Wed Aug 4 09:31:19 2021 +0800

    [KYUUBI #888] Add scala version suffix on scala modules
    
    <!--
    Thanks for sending a pull request!
    
    Here are some tips for you:
      1. If this is your first time, please read our contributor guidelines: https://kyuubi.readthedocs.io/en/latest/community/contributions.html
      2. If the PR is related to an issue in https://github.com/apache/incubator-kyuubi/issues, add '[KYUUBI #XXXX]' in your PR title, e.g., '[KYUUBI #XXXX] Your PR title ...'.
      3. If the PR is unfinished, add '[WIP]' in your PR title, e.g., '[WIP][KYUUBI #XXXX] Your PR title ...'.
    -->
    
    ### _Why are the changes needed?_
    <!--
    Please clarify why the changes are needed. For instance,
      1. If you add a feature, you can talk about the use case of it.
      2. If you fix a bug, you can clarify why it is a bug.
    -->
    - Add scala version suffix on scala modules to match the name pattern.
    - Enable `kyuubi-extension-spark-3-1` in daily publish snapshot
    
    ### _How was this patch tested?_
    - [ ] Add some test cases that check the changes thoroughly including negative and positive cases if possible
    
    - [ ] Add screenshots for manual tests if appropriate
    
    - [ ] [Run test](https://kyuubi.readthedocs.io/en/latest/tools/testing.html#running-tests) locally before make a pull request
    
    Closes #888 from pan3793/scala.
    
    Closes #888
    
    571eb9c3 [Cheng Pan] comments
    16cb263a [Cheng Pan] remove hardcode scala version in pom
    6090c798 [Cheng Pan] Fix shade
    5178847f [Cheng Pan] Fixup
    a1547753 [Cheng Pan] Fix engine jar name
    2cf4793e [Cheng Pan] fix
    cac96531 [Cheng Pan] Enable kyuubi-extension-spark-3-1 in daily publish snapshot
    1ca31de5 [Cheng Pan] Add scala version suffix on scala modules
    
    Authored-by: Cheng Pan <ch...@apache.org>
    Signed-off-by: ulysses-you <ul...@gmail.com>
---
 .github/workflows/master.yml                           |  2 +-
 .github/workflows/nightly.yml                          |  2 +-
 .github/workflows/publish-snapshot.yml                 |  2 +-
 build/dependency.sh                                    |  2 +-
 build/dist                                             | 10 +++++-----
 dev/kyuubi-codecov/pom.xml                             | 16 ++++++++--------
 dev/kyuubi-extension-spark-3-1/pom.xml                 |  2 +-
 dev/kyuubi-tpcds/pom.xml                               |  2 +-
 externals/kyuubi-spark-monitor/pom.xml                 |  4 ++--
 externals/kyuubi-spark-sql-engine/pom.xml              | 18 +++++++++---------
 kubernetes/integration-tests/pom.xml                   | 18 +++++++++---------
 kyuubi-assembly/pom.xml                                | 12 ++++++------
 kyuubi-common/pom.xml                                  |  2 +-
 kyuubi-ctl/pom.xml                                     | 10 +++++-----
 kyuubi-ha/pom.xml                                      |  8 ++++----
 kyuubi-hive-jdbc/pom.xml                               |  9 ++++++---
 kyuubi-metrics/pom.xml                                 |  7 +++----
 kyuubi-server/pom.xml                                  | 14 +++++++-------
 .../kyuubi/engine/spark/SparkProcessBuilder.scala      |  3 ++-
 kyuubi-zookeeper/pom.xml                               |  6 +++---
 tools/spark-block-cleaner/pom.xml                      |  6 +++---
 21 files changed, 79 insertions(+), 76 deletions(-)

diff --git a/.github/workflows/master.yml b/.github/workflows/master.yml
index 772c742..0f7d756 100644
--- a/.github/workflows/master.yml
+++ b/.github/workflows/master.yml
@@ -137,7 +137,7 @@ jobs:
             ${{ runner.os }}-maven-io-
       - name: Run TPC-DS Tests
         run: |
-          ./build/mvn clean install -Pspark-3.1 -DskipTests -pl :kyuubi-spark-sql-engine,:kyuubi-common,:kyuubi-ha,:kyuubi-zookeeper,:kyuubi-spark-monitor
+          ./build/mvn clean install -Pspark-3.1 -DskipTests -pl :kyuubi-spark-sql-engine_2.12,:kyuubi-common_2.12,:kyuubi-ha_2.12,:kyuubi-zookeeper_2.12,:kyuubi-spark-monitor_2.12
           ./build/mvn test -Pspark-3.1 -Dtest=none -DwildcardSuites=org.apache.kyuubi.operation.tpcds -Dmaven.plugin.scalatest.exclude.tags=''
   minikube-it:
     name: Minikube Integration Test
diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml
index 577b52a..af6f2f4 100644
--- a/.github/workflows/nightly.yml
+++ b/.github/workflows/nightly.yml
@@ -11,7 +11,7 @@ jobs:
     strategy:
       matrix:
         profiles:
-          - '-Pspark-master -pl :kyuubi-spark-sql-engine,:kyuubi-common,:kyuubi-ha,:kyuubi-zookeeper,:kyuubi-spark-monitor'
+          - '-Pspark-master -pl :kyuubi-spark-sql-engine_2.12,:kyuubi-common_2.12,:kyuubi-ha_2.12,:kyuubi-zookeeper_2.12,:kyuubi-spark-monitor_2.12'
     env:
       SPARK_LOCAL_IP: localhost
     steps:
diff --git a/.github/workflows/publish-snapshot.yml b/.github/workflows/publish-snapshot.yml
index c48bb37..3855281 100644
--- a/.github/workflows/publish-snapshot.yml
+++ b/.github/workflows/publish-snapshot.yml
@@ -36,4 +36,4 @@ jobs:
         ASF_PASSWORD: ${{ secrets.NEXUS_PW }}
       run: |
         rm -rf ~/.m2/repository/org/apache/kyuubi
-        ./build/mvn clean deploy -DskipTests -Pspark-provided -s ./build/release/asf-settings.xml
+        ./build/mvn clean deploy -DskipTests -Pkyuubi-extension-spark-3-1,spark-provided -s ./build/release/asf-settings.xml
diff --git a/build/dependency.sh b/build/dependency.sh
index 9fce052..345bab2 100755
--- a/build/dependency.sh
+++ b/build/dependency.sh
@@ -32,7 +32,7 @@ DEP="${PWD}"/dev/dependencyList
 
 
 function build_classpath() {
-  $MVN dependency:build-classpath -pl :kyuubi-assembly |\
+  $MVN dependency:build-classpath -pl :kyuubi-assembly_2.12 |\
     grep -v "INFO" | \
     tr ":" "\n" | \
     awk -F '/' '{
diff --git a/build/dist b/build/dist
index 97f7ff6..6df56e6 100755
--- a/build/dist
+++ b/build/dist
@@ -191,22 +191,22 @@ echo "Build flags: $@" >> "$DISTDIR/RELEASE"
 cp -r "$KYUUBI_HOME/kyuubi-assembly/target/scala-$SCALA_VERSION/jars/" "$DISTDIR/jars"
 
 # Copy spark engines
-cp "$KYUUBI_HOME/externals/kyuubi-spark-sql-engine/target/kyuubi-spark-sql-engine-$VERSION.jar" "$DISTDIR/externals/engines/spark"
+cp "$KYUUBI_HOME/externals/kyuubi-spark-sql-engine/target/kyuubi-spark-sql-engine_${SCALA_VERSION}-${VERSION}.jar" "$DISTDIR/externals/engines/spark"
 
 # Copy kyuubi tools
-if [[ -f "$KYUUBI_HOME/tools/spark-block-cleaner/target/spark-block-cleaner-$VERSION.jar" ]]; then
+if [[ -f "$KYUUBI_HOME/tools/spark-block-cleaner/target/spark-block-cleaner_${SCALA_VERSION}-${VERSION}.jar" ]]; then
   mkdir -p "$DISTDIR/tools/spark-block-cleaner/kubernetes"
   mkdir -p "$DISTDIR/tools/spark-block-cleaner/jars"
   cp -r "$KYUUBI_HOME/tools/spark-block-cleaner/kubernetes/" "$DISTDIR/tools/spark-block-cleaner/"
-  cp "$KYUUBI_HOME/tools/spark-block-cleaner/target/spark-block-cleaner-$VERSION.jar" "$DISTDIR/tools/spark-block-cleaner/jars/"
+  cp "$KYUUBI_HOME/tools/spark-block-cleaner/target/spark-block-cleaner_${SCALA_VERSION}-${VERSION}.jar" "$DISTDIR/tools/spark-block-cleaner/jars/"
 fi
 
 # Copy Kyuubi extension
 SPARK_EXTENSION_VERSIONS=('3-1')
 for SPARK_EXTENSION_VERSION in ${SPARK_EXTENSION_VERSIONS[@]}; do
-  if [[ -f $"$KYUUBI_HOME/dev/kyuubi-extension-spark-$SPARK_EXTENSION_VERSION/target/kyuubi-extension-spark-$SPARK_EXTENSION_VERSION-$VERSION.jar" ]]; then
+  if [[ -f $"$KYUUBI_HOME/dev/kyuubi-extension-spark-$SPARK_EXTENSION_VERSION/target/kyuubi-extension-spark-$SPARK_EXTENSION_VERSION_${SCALA_VERSION}-${VERSION}.jar" ]]; then
     mkdir -p "$DISTDIR/extension"
-    cp "$KYUUBI_HOME/dev/kyuubi-extension-spark-$SPARK_EXTENSION_VERSION/target/kyuubi-extension-spark-$SPARK_EXTENSION_VERSION-$VERSION.jar" "$DISTDIR/extension"
+    cp "$KYUUBI_HOME/dev/kyuubi-extension-spark-$SPARK_EXTENSION_VERSION/target/kyuubi-extension-spark-$SPARK_EXTENSION_VERSION_${SCALA_VERSION}-${VERSION}.jar" "$DISTDIR/extension"
   fi
 done
 
diff --git a/dev/kyuubi-codecov/pom.xml b/dev/kyuubi-codecov/pom.xml
index fb5a8e3..a747bb2 100644
--- a/dev/kyuubi-codecov/pom.xml
+++ b/dev/kyuubi-codecov/pom.xml
@@ -27,50 +27,50 @@
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
-    <artifactId>kyuubi-codecov</artifactId>
+    <artifactId>kyuubi-codecov_2.12</artifactId>
     <packaging>pom</packaging>
     <name>Kyuubi Project Dev Code Coverage</name>
 
     <dependencies>
         <dependency>
             <groupId>org.apache.kyuubi</groupId>
-            <artifactId>kyuubi-common</artifactId>
+            <artifactId>kyuubi-common_${scala.binary.version}</artifactId>
             <version>${project.version}</version>
         </dependency>
 
         <dependency>
             <groupId>org.apache.kyuubi</groupId>
-            <artifactId>kyuubi-ctl</artifactId>
+            <artifactId>kyuubi-ctl_${scala.binary.version}</artifactId>
             <version>${project.version}</version>
         </dependency>
 
         <dependency>
             <groupId>org.apache.kyuubi</groupId>
-            <artifactId>kyuubi-zookeeper</artifactId>
+            <artifactId>kyuubi-zookeeper_${scala.binary.version}</artifactId>
             <version>${project.version}</version>
         </dependency>
 
         <dependency>
             <groupId>org.apache.kyuubi</groupId>
-            <artifactId>kyuubi-ha</artifactId>
+            <artifactId>kyuubi-ha_${scala.binary.version}</artifactId>
             <version>${project.version}</version>
         </dependency>
 
         <dependency>
             <groupId>org.apache.kyuubi</groupId>
-            <artifactId>kyuubi-metrics</artifactId>
+            <artifactId>kyuubi-metrics_${scala.binary.version}</artifactId>
             <version>${project.version}</version>
         </dependency>
 
         <dependency>
             <groupId>org.apache.kyuubi</groupId>
-            <artifactId>kyuubi-server</artifactId>
+            <artifactId>kyuubi-server_${scala.binary.version}</artifactId>
             <version>${project.version}</version>
         </dependency>
 
         <dependency>
             <groupId>org.apache.kyuubi</groupId>
-            <artifactId>kyuubi-spark-sql-engine</artifactId>
+            <artifactId>kyuubi-spark-sql-engine_${scala.binary.version}</artifactId>
             <version>${project.version}</version>
         </dependency>
     </dependencies>
diff --git a/dev/kyuubi-extension-spark-3-1/pom.xml b/dev/kyuubi-extension-spark-3-1/pom.xml
index 59f37e4..6f3eb7a 100644
--- a/dev/kyuubi-extension-spark-3-1/pom.xml
+++ b/dev/kyuubi-extension-spark-3-1/pom.xml
@@ -27,7 +27,7 @@
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
-    <artifactId>kyuubi-extension-spark-3-1</artifactId>
+    <artifactId>kyuubi-extension-spark-3-1_2.12</artifactId>
     <packaging>jar</packaging>
     <name>Kyuubi Project Dev Spark Extensions (for Spark 3.1)</name>
 
diff --git a/dev/kyuubi-tpcds/pom.xml b/dev/kyuubi-tpcds/pom.xml
index 77f41f4..08c11c8 100644
--- a/dev/kyuubi-tpcds/pom.xml
+++ b/dev/kyuubi-tpcds/pom.xml
@@ -27,7 +27,7 @@
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
-    <artifactId>kyuubi-tpcds</artifactId>
+    <artifactId>kyuubi-tpcds_2.12</artifactId>
     <packaging>jar</packaging>
     <name>Kyuubi Project Dev TPCDS Generator</name>
 
diff --git a/externals/kyuubi-spark-monitor/pom.xml b/externals/kyuubi-spark-monitor/pom.xml
index d1af4dd..ed58baa 100644
--- a/externals/kyuubi-spark-monitor/pom.xml
+++ b/externals/kyuubi-spark-monitor/pom.xml
@@ -27,14 +27,14 @@
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
-    <artifactId>kyuubi-spark-monitor</artifactId>
+    <artifactId>kyuubi-spark-monitor_2.12</artifactId>
     <packaging>jar</packaging>
     <name>Kyuubi Project Spark Monitor</name>
 
     <dependencies>
         <dependency>
             <groupId>org.apache.kyuubi</groupId>
-            <artifactId>kyuubi-common</artifactId>
+            <artifactId>kyuubi-common_${scala.binary.version}</artifactId>
             <version>${project.version}</version>
         </dependency>
 
diff --git a/externals/kyuubi-spark-sql-engine/pom.xml b/externals/kyuubi-spark-sql-engine/pom.xml
index d4f5191..e7be2fb 100644
--- a/externals/kyuubi-spark-sql-engine/pom.xml
+++ b/externals/kyuubi-spark-sql-engine/pom.xml
@@ -27,26 +27,26 @@
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
-    <artifactId>kyuubi-spark-sql-engine</artifactId>
+    <artifactId>kyuubi-spark-sql-engine_2.12</artifactId>
     <name>Kyuubi Project Engine Spark SQL</name>
     <packaging>jar</packaging>
 
     <dependencies>
         <dependency>
             <groupId>org.apache.kyuubi</groupId>
-            <artifactId>kyuubi-common</artifactId>
+            <artifactId>kyuubi-common_${scala.binary.version}</artifactId>
             <version>${project.version}</version>
         </dependency>
 
         <dependency>
             <groupId>org.apache.kyuubi</groupId>
-            <artifactId>kyuubi-ha</artifactId>
+            <artifactId>kyuubi-ha_${scala.binary.version}</artifactId>
             <version>${project.version}</version>
         </dependency>
 
         <dependency>
             <groupId>org.apache.kyuubi</groupId>
-            <artifactId>kyuubi-spark-monitor</artifactId>
+            <artifactId>kyuubi-spark-monitor_${scala.binary.version}</artifactId>
             <version>${project.version}</version>
         </dependency>
 
@@ -70,7 +70,7 @@
 
         <dependency>
             <groupId>org.apache.kyuubi</groupId>
-            <artifactId>kyuubi-common</artifactId>
+            <artifactId>kyuubi-common_${scala.binary.version}</artifactId>
             <version>${project.version}</version>
             <type>test-jar</type>
             <scope>test</scope>
@@ -165,7 +165,7 @@
 
         <dependency>
             <groupId>org.apache.kyuubi</groupId>
-            <artifactId>kyuubi-zookeeper</artifactId>
+            <artifactId>kyuubi-zookeeper_${scala.binary.version}</artifactId>
             <version>${project.version}</version>
             <scope>test</scope>
         </dependency>
@@ -182,9 +182,9 @@
                     <shadedArtifactAttached>false</shadedArtifactAttached>
                     <artifactSet>
                         <includes>
-                            <include>org.apache.kyuubi:kyuubi-common</include>
-                            <include>org.apache.kyuubi:kyuubi-ha</include>
-                            <include>org.apache.kyuubi:kyuubi-spark-monitor</include>
+                            <include>org.apache.kyuubi:kyuubi-common_${scala.binary.version}</include>
+                            <include>org.apache.kyuubi:kyuubi-ha_${scala.binary.version}</include>
+                            <include>org.apache.kyuubi:kyuubi-spark-monitor_${scala.binary.version}</include>
                             <include>org.apache.curator:curator-client</include>
                             <include>org.apache.curator:curator-framework</include>
                             <include>org.apache.curator:curator-recipes</include>
diff --git a/kubernetes/integration-tests/pom.xml b/kubernetes/integration-tests/pom.xml
index 9796291..ef8264c 100644
--- a/kubernetes/integration-tests/pom.xml
+++ b/kubernetes/integration-tests/pom.xml
@@ -26,32 +26,32 @@
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
+    <artifactId>kubernetes-integration-tests_2.12</artifactId>
     <name>Kyuubi Kubernetes Integration Tests</name>
     <modelVersion>4.0.0</modelVersion>
 
-    <artifactId>kubernetes-integration-tests</artifactId>
-
     <dependencies>
         <dependency>
-            <groupId>io.fabric8</groupId>
-            <artifactId>kubernetes-client</artifactId>
-        </dependency>
-
-        <dependency>
             <groupId>org.apache.kyuubi</groupId>
-            <artifactId>kyuubi-common</artifactId>
+            <artifactId>kyuubi-common_${scala.binary.version}</artifactId>
             <version>${project.version}</version>
             <scope>test</scope>
         </dependency>
 
         <dependency>
             <groupId>org.apache.kyuubi</groupId>
-            <artifactId>kyuubi-common</artifactId>
+            <artifactId>kyuubi-common_${scala.binary.version}</artifactId>
             <version>${project.version}</version>
             <type>test-jar</type>
             <scope>test</scope>
         </dependency>
 
+        <dependency>
+            <groupId>io.fabric8</groupId>
+            <artifactId>kubernetes-client</artifactId>
+            <scope>test</scope>
+        </dependency>
+
         <!-- for hive driver related dependency -->
         <dependency>
             <groupId>org.apache.kyuubi</groupId>
diff --git a/kyuubi-assembly/pom.xml b/kyuubi-assembly/pom.xml
index c72e5f9..90cde7d 100644
--- a/kyuubi-assembly/pom.xml
+++ b/kyuubi-assembly/pom.xml
@@ -28,38 +28,38 @@
         <relativePath>../pom.xml</relativePath>
     </parent>
 
-    <artifactId>kyuubi-assembly</artifactId>
+    <artifactId>kyuubi-assembly_2.12</artifactId>
     <packaging>pom</packaging>
     <name>Kyuubi Project Assembly</name>
 
     <dependencies>
         <dependency>
             <groupId>org.apache.kyuubi</groupId>
-            <artifactId>kyuubi-common</artifactId>
+            <artifactId>kyuubi-common_${scala.binary.version}</artifactId>
             <version>${project.version}</version>
         </dependency>
 
         <dependency>
             <groupId>org.apache.kyuubi</groupId>
-            <artifactId>kyuubi-ha</artifactId>
+            <artifactId>kyuubi-ha_${scala.binary.version}</artifactId>
             <version>${project.version}</version>
         </dependency>
 
         <dependency>
             <groupId>org.apache.kyuubi</groupId>
-            <artifactId>kyuubi-metrics</artifactId>
+            <artifactId>kyuubi-metrics_${scala.binary.version}</artifactId>
             <version>${project.version}</version>
         </dependency>
 
         <dependency>
             <groupId>org.apache.kyuubi</groupId>
-            <artifactId>kyuubi-server</artifactId>
+            <artifactId>kyuubi-server_${scala.binary.version}</artifactId>
             <version>${project.version}</version>
         </dependency>
 
         <dependency>
             <groupId>org.apache.kyuubi</groupId>
-            <artifactId>kyuubi-ctl</artifactId>
+            <artifactId>kyuubi-ctl_${scala.binary.version}</artifactId>
             <version>${project.version}</version>
         </dependency>
 
diff --git a/kyuubi-common/pom.xml b/kyuubi-common/pom.xml
index 48aed51..739a030 100644
--- a/kyuubi-common/pom.xml
+++ b/kyuubi-common/pom.xml
@@ -27,7 +27,7 @@
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
-    <artifactId>kyuubi-common</artifactId>
+    <artifactId>kyuubi-common_2.12</artifactId>
     <packaging>jar</packaging>
     <name>Kyuubi Project Common</name>
 
diff --git a/kyuubi-ctl/pom.xml b/kyuubi-ctl/pom.xml
index 5ad02c5..a0495bb 100644
--- a/kyuubi-ctl/pom.xml
+++ b/kyuubi-ctl/pom.xml
@@ -27,19 +27,19 @@
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
-    <artifactId>kyuubi-ctl</artifactId>
+    <artifactId>kyuubi-ctl_2.12</artifactId>
     <packaging>jar</packaging>
     <name>Kyuubi Project Control</name>
 
     <dependencies>
         <dependency>
             <groupId>org.apache.kyuubi</groupId>
-            <artifactId>kyuubi-common</artifactId>
+            <artifactId>kyuubi-common_${scala.binary.version}</artifactId>
             <version>${project.version}</version>
         </dependency>
         <dependency>
             <groupId>org.apache.kyuubi</groupId>
-            <artifactId>kyuubi-ha</artifactId>
+            <artifactId>kyuubi-ha_${scala.binary.version}</artifactId>
             <version>${project.version}</version>
         </dependency>
 
@@ -85,7 +85,7 @@
 
         <dependency>
             <groupId>org.apache.kyuubi</groupId>
-            <artifactId>kyuubi-common</artifactId>
+            <artifactId>kyuubi-common_${scala.binary.version}</artifactId>
             <version>${project.version}</version>
             <type>test-jar</type>
             <scope>test</scope>
@@ -105,7 +105,7 @@
 
         <dependency>
             <groupId>org.apache.kyuubi</groupId>
-            <artifactId>kyuubi-zookeeper</artifactId>
+            <artifactId>kyuubi-zookeeper_${scala.binary.version}</artifactId>
             <version>${project.version}</version>
             <scope>test</scope>
         </dependency>
diff --git a/kyuubi-ha/pom.xml b/kyuubi-ha/pom.xml
index 5ba8a18..6c34751 100644
--- a/kyuubi-ha/pom.xml
+++ b/kyuubi-ha/pom.xml
@@ -27,14 +27,14 @@
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
-    <artifactId>kyuubi-ha</artifactId>
+    <artifactId>kyuubi-ha_2.12</artifactId>
     <packaging>jar</packaging>
     <name>Kyuubi Project High Availability</name>
 
     <dependencies>
         <dependency>
             <groupId>org.apache.kyuubi</groupId>
-            <artifactId>kyuubi-common</artifactId>
+            <artifactId>kyuubi-common_${scala.binary.version}</artifactId>
             <version>${project.version}</version>
         </dependency>
 
@@ -55,7 +55,7 @@
 
         <dependency>
             <groupId>org.apache.kyuubi</groupId>
-            <artifactId>kyuubi-common</artifactId>
+            <artifactId>kyuubi-common_${scala.binary.version}</artifactId>
             <version>${project.version}</version>
             <type>test-jar</type>
             <scope>test</scope>
@@ -75,7 +75,7 @@
 
         <dependency>
             <groupId>org.apache.kyuubi</groupId>
-            <artifactId>kyuubi-zookeeper</artifactId>
+            <artifactId>kyuubi-zookeeper_${scala.binary.version}</artifactId>
             <version>${project.version}</version>
             <scope>test</scope>
         </dependency>
diff --git a/kyuubi-hive-jdbc/pom.xml b/kyuubi-hive-jdbc/pom.xml
index f4eba55..d006181 100644
--- a/kyuubi-hive-jdbc/pom.xml
+++ b/kyuubi-hive-jdbc/pom.xml
@@ -26,6 +26,9 @@
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
+    <!--
+       A scala-free module in runtime scope.
+       -->
     <artifactId>kyuubi-hive-jdbc</artifactId>
     <name>Kyuubi Project Hive JDBC Client</name>
     <packaging>jar</packaging>
@@ -64,20 +67,20 @@
 
         <dependency>
             <groupId>org.apache.kyuubi</groupId>
-            <artifactId>kyuubi-common</artifactId>
+            <artifactId>kyuubi-common_${scala.binary.version}</artifactId>
             <version>${project.version}</version>
             <type>test-jar</type>
         </dependency>
 
         <dependency>
             <groupId>org.apache.kyuubi</groupId>
-            <artifactId>kyuubi-spark-sql-engine</artifactId>
+            <artifactId>kyuubi-spark-sql-engine_${scala.binary.version}</artifactId>
             <version>${project.version}</version>
             <scope>test</scope>
         </dependency>
         <dependency>
             <groupId>org.apache.kyuubi</groupId>
-            <artifactId>kyuubi-spark-sql-engine</artifactId>
+            <artifactId>kyuubi-spark-sql-engine_${scala.binary.version}</artifactId>
             <version>${project.version}</version>
             <type>test-jar</type>
         </dependency>
diff --git a/kyuubi-metrics/pom.xml b/kyuubi-metrics/pom.xml
index 843469f..894ea38 100644
--- a/kyuubi-metrics/pom.xml
+++ b/kyuubi-metrics/pom.xml
@@ -26,15 +26,14 @@
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
-    <artifactId>kyuubi-metrics</artifactId>
-
+    <artifactId>kyuubi-metrics_2.12</artifactId>
     <packaging>jar</packaging>
     <name>Kyuubi Project Metrics</name>
 
     <dependencies>
         <dependency>
             <groupId>org.apache.kyuubi</groupId>
-            <artifactId>kyuubi-common</artifactId>
+            <artifactId>kyuubi-common_${scala.binary.version}</artifactId>
             <version>${project.version}</version>
         </dependency>
 
@@ -90,7 +89,7 @@
 
         <dependency>
             <groupId>org.apache.kyuubi</groupId>
-            <artifactId>kyuubi-common</artifactId>
+            <artifactId>kyuubi-common_${scala.binary.version}</artifactId>
             <version>${project.version}</version>
             <type>test-jar</type>
             <scope>test</scope>
diff --git a/kyuubi-server/pom.xml b/kyuubi-server/pom.xml
index 2e1e421..6565cd4 100644
--- a/kyuubi-server/pom.xml
+++ b/kyuubi-server/pom.xml
@@ -26,32 +26,32 @@
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
-    <artifactId>kyuubi-server</artifactId>
+    <artifactId>kyuubi-server_2.12</artifactId>
     <name>Kyuubi Project Server</name>
     <packaging>jar</packaging>
 
     <dependencies>
         <dependency>
             <groupId>org.apache.kyuubi</groupId>
-            <artifactId>kyuubi-common</artifactId>
+            <artifactId>kyuubi-common_${scala.binary.version}</artifactId>
             <version>${project.version}</version>
         </dependency>
 
         <dependency>
             <groupId>org.apache.kyuubi</groupId>
-            <artifactId>kyuubi-ha</artifactId>
+            <artifactId>kyuubi-ha_${scala.binary.version}</artifactId>
             <version>${project.version}</version>
         </dependency>
 
         <dependency>
             <groupId>org.apache.kyuubi</groupId>
-            <artifactId>kyuubi-zookeeper</artifactId>
+            <artifactId>kyuubi-zookeeper_${scala.binary.version}</artifactId>
             <version>${project.version}</version>
         </dependency>
 
         <dependency>
             <groupId>org.apache.kyuubi</groupId>
-            <artifactId>kyuubi-metrics</artifactId>
+            <artifactId>kyuubi-metrics_${scala.binary.version}</artifactId>
             <version>${project.version}</version>
         </dependency>
 
@@ -68,7 +68,7 @@
 
         <dependency>
             <groupId>org.apache.kyuubi</groupId>
-            <artifactId>kyuubi-common</artifactId>
+            <artifactId>kyuubi-common_${scala.binary.version}</artifactId>
             <version>${project.version}</version>
             <type>test-jar</type>
             <scope>test</scope>
@@ -84,7 +84,7 @@
 
         <dependency>
             <groupId>org.apache.kyuubi</groupId>
-            <artifactId>kyuubi-spark-sql-engine</artifactId>
+            <artifactId>kyuubi-spark-sql-engine_${scala.binary.version}</artifactId>
             <version>${project.version}</version>
             <scope>test</scope>
         </dependency>
diff --git a/kyuubi-server/src/main/scala/org/apache/kyuubi/engine/spark/SparkProcessBuilder.scala b/kyuubi-server/src/main/scala/org/apache/kyuubi/engine/spark/SparkProcessBuilder.scala
index 8d0d7a9..47351d4 100644
--- a/kyuubi-server/src/main/scala/org/apache/kyuubi/engine/spark/SparkProcessBuilder.scala
+++ b/kyuubi-server/src/main/scala/org/apache/kyuubi/engine/spark/SparkProcessBuilder.scala
@@ -65,7 +65,8 @@ class SparkProcessBuilder(
 
   override def mainResource: Option[String] = {
     // 1. get the main resource jar for user specified config first
-    val jarName = s"$module-$KYUUBI_VERSION.jar"
+    // TODO use SPARK_SCALA_VERSION instead of SCALA_COMPILE_VERSION
+    val jarName = s"${module}_$SCALA_COMPILE_VERSION-$KYUUBI_VERSION.jar"
     conf.get(ENGINE_SPARK_MAIN_RESOURCE).filter { userSpecified =>
       // skip check exist if not local file.
       val uri = new URI(userSpecified)
diff --git a/kyuubi-zookeeper/pom.xml b/kyuubi-zookeeper/pom.xml
index 841911d..e0751c8 100644
--- a/kyuubi-zookeeper/pom.xml
+++ b/kyuubi-zookeeper/pom.xml
@@ -26,14 +26,14 @@
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
-    <artifactId>kyuubi-zookeeper</artifactId>
+    <artifactId>kyuubi-zookeeper_2.12</artifactId>
     <name>Kyuubi Project Embedded Zookeeper</name>
     <packaging>jar</packaging>
 
     <dependencies>
         <dependency>
             <groupId>org.apache.kyuubi</groupId>
-            <artifactId>kyuubi-common</artifactId>
+            <artifactId>kyuubi-common_${scala.binary.version}</artifactId>
             <version>${project.version}</version>
         </dependency>
 
@@ -51,7 +51,7 @@
 
         <dependency>
             <groupId>org.apache.kyuubi</groupId>
-            <artifactId>kyuubi-common</artifactId>
+            <artifactId>kyuubi-common_${scala.binary.version}</artifactId>
             <version>${project.version}</version>
             <type>test-jar</type>
             <scope>test</scope>
diff --git a/tools/spark-block-cleaner/pom.xml b/tools/spark-block-cleaner/pom.xml
index 54d4ba3..04811ce 100644
--- a/tools/spark-block-cleaner/pom.xml
+++ b/tools/spark-block-cleaner/pom.xml
@@ -26,20 +26,20 @@
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
-    <artifactId>spark-block-cleaner</artifactId>
+    <artifactId>spark-block-cleaner_2.12</artifactId>
     <name>Kyuubi Project Spark Block Cleaner</name>
     <packaging>jar</packaging>
 
     <dependencies>
         <dependency>
             <groupId>org.apache.kyuubi</groupId>
-            <artifactId>kyuubi-common</artifactId>
+            <artifactId>kyuubi-common_${scala.binary.version}</artifactId>
             <version>${project.version}</version>
         </dependency>
 
         <dependency>
             <groupId>org.apache.kyuubi</groupId>
-            <artifactId>kyuubi-common</artifactId>
+            <artifactId>kyuubi-common_${scala.binary.version}</artifactId>
             <version>${project.version}</version>
             <type>test-jar</type>
             <scope>test</scope>