diff --git a/backends-velox/pom.xml b/backends-velox/pom.xml
index 9349c3c0923c..240b2218641c 100755
--- a/backends-velox/pom.xml
+++ b/backends-velox/pom.xml
@@ -57,6 +57,25 @@
+
+ uniffle
+
+ false
+
+
+
+ org.apache.gluten
+ gluten-uniffle
+ ${project.version}
+
+
+ org.apache.uniffle
+ rss-client-spark${spark.major.version}-shaded
+ ${uniffle.version}
+ provided
+
+
+
iceberg
diff --git a/gluten-uniffle/velox/src/main/java/org/apache/spark/shuffle/gluten/uniffle/UniffleShuffleManager.java b/backends-velox/src-uniffle/main/java/org/apache/spark/shuffle/gluten/uniffle/UniffleShuffleManager.java
similarity index 100%
rename from gluten-uniffle/velox/src/main/java/org/apache/spark/shuffle/gluten/uniffle/UniffleShuffleManager.java
rename to backends-velox/src-uniffle/main/java/org/apache/spark/shuffle/gluten/uniffle/UniffleShuffleManager.java
diff --git a/gluten-uniffle/velox/src/main/java/org/apache/spark/shuffle/writer/VeloxUniffleColumnarShuffleWriter.java b/backends-velox/src-uniffle/main/java/org/apache/spark/shuffle/writer/VeloxUniffleColumnarShuffleWriter.java
similarity index 100%
rename from gluten-uniffle/velox/src/main/java/org/apache/spark/shuffle/writer/VeloxUniffleColumnarShuffleWriter.java
rename to backends-velox/src-uniffle/main/java/org/apache/spark/shuffle/writer/VeloxUniffleColumnarShuffleWriter.java
diff --git a/gluten-uniffle/velox/src/main/scala/org/apache/spark/shuffle/writer/PartitionPusher.scala b/backends-velox/src-uniffle/main/scala/org/apache/spark/shuffle/writer/PartitionPusher.scala
similarity index 100%
rename from gluten-uniffle/velox/src/main/scala/org/apache/spark/shuffle/writer/PartitionPusher.scala
rename to backends-velox/src-uniffle/main/scala/org/apache/spark/shuffle/writer/PartitionPusher.scala
diff --git a/gluten-uniffle/.gitkeep b/gluten-uniffle/.gitkeep
new file mode 100644
index 000000000000..f2d1254d2735
--- /dev/null
+++ b/gluten-uniffle/.gitkeep
@@ -0,0 +1 @@
+The module is kept for adding common code shared by backends for Uniffle support in Gluten.
diff --git a/gluten-uniffle/package/pom.xml b/gluten-uniffle/package/pom.xml
deleted file mode 100644
index e49748e7c8e9..000000000000
--- a/gluten-uniffle/package/pom.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
- gluten-uniffle
- org.apache.gluten
- 1.3.0-SNAPSHOT
- ../pom.xml
-
- 4.0.0
-
- gluten-uniffle-package
- jar
- Gluten Uniffle Package
-
-
-
- backends-velox
-
-
- org.apache.gluten
- gluten-uniffle-velox
- ${project.version}
-
-
-
-
-
diff --git a/gluten-uniffle/pom.xml b/gluten-uniffle/pom.xml
index b7fe4c2e4268..efc8ce6555c5 100644
--- a/gluten-uniffle/pom.xml
+++ b/gluten-uniffle/pom.xml
@@ -11,7 +11,7 @@
4.0.0
gluten-uniffle
- pom
+ jar
Gluten Uniffle
@@ -75,15 +75,4 @@
-
-
- backends-velox
-
-
-
- velox
- package
-
-
-
diff --git a/gluten-uniffle/velox/pom.xml b/gluten-uniffle/velox/pom.xml
deleted file mode 100755
index ab730674fbb3..000000000000
--- a/gluten-uniffle/velox/pom.xml
+++ /dev/null
@@ -1,62 +0,0 @@
-
-
-
- gluten-uniffle
- org.apache.gluten
- 1.3.0-SNAPSHOT
- ../pom.xml
-
- 4.0.0
-
- gluten-uniffle-velox
- jar
- Gluten Uniffle Velox
-
-
-
- org.apache.gluten
- backends-velox
- ${project.version}
- provided
-
-
- org.apache.gluten
- gluten-arrow
- ${project.version}
- provided
-
-
-
-
- target/scala-${scala.binary.version}/classes
- target/scala-${scala.binary.version}/test-classes
-
-
- net.alchim31.maven
- scala-maven-plugin
-
-
- org.apache.maven.plugins
- maven-compiler-plugin
-
-
- org.scalastyle
- scalastyle-maven-plugin
-
-
- org.apache.maven.plugins
- maven-checkstyle-plugin
-
-
- com.diffplug.spotless
- spotless-maven-plugin
-
-
- org.apache.maven.plugins
- maven-jar-plugin
-
-
-
-
diff --git a/package/pom.xml b/package/pom.xml
index 230f79d0942a..b9c114181bcd 100644
--- a/package/pom.xml
+++ b/package/pom.xml
@@ -78,7 +78,7 @@
org.apache.gluten
- gluten-uniffle-package
+ gluten-uniffle
${project.version}
diff --git a/pom.xml b/pom.xml
index e6f3709c4cfe..4d704dc9b448 100644
--- a/pom.xml
+++ b/pom.xml
@@ -495,6 +495,70 @@
gluten-uniffle
+
+
+
+ org.codehaus.mojo
+ build-helper-maven-plugin
+
+
+ add-uniffle-sources
+ generate-sources
+
+ add-source
+
+
+
+
+
+
+
+
+
+ add-uniffle-resources
+ generate-resources
+
+ add-resource
+
+
+
+
+ ${project.basedir}/src-uniffle/main/resources
+
+
+
+
+
+ add-uniffle-test-sources
+ generate-test-sources
+
+ add-test-source
+
+
+
+
+
+
+
+
+
+ add-uniffle-test-resources
+ generate-test-resources
+
+ add-test-resource
+
+
+
+
+ ${project.basedir}/src-uniffle/test/resources
+
+
+
+
+
+
+
+
delta