From 9cc4f6fcdea8e89a4c15983672397a57b67c9c50 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=AE=B5=E6=99=93=E9=9B=84?= Date: Sun, 1 Mar 2026 19:13:06 +0800 Subject: [PATCH 1/4] fix(dist): exclude macOS junk from bin tar.gz for Linux extraction Made-with: Cursor --- .../src/main/assembly/assembly-plugins.sh | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/dolphinscheduler-dist/src/main/assembly/assembly-plugins.sh b/dolphinscheduler-dist/src/main/assembly/assembly-plugins.sh index da85c23c19dc..d021e3b38be7 100755 --- a/dolphinscheduler-dist/src/main/assembly/assembly-plugins.sh +++ b/dolphinscheduler-dist/src/main/assembly/assembly-plugins.sh @@ -77,8 +77,20 @@ done # create symbolic link for standalone-server cd $BIN_DIR/standalone-server && ln -s ../tools/sql/sql sql +# remove macOS junk so Linux extraction is clean +find "$BIN_DIR" -name '._*' -delete +find "$BIN_DIR" -name '.DS_Store' -delete +if [ "$(uname -s)" = "Darwin" ]; then + xattr -cr "$BIN_DIR" +fi + # repack bin tar BIN_TAR_FILE_NAME=$(basename $BIN_TAR_FILE) -cd $DIST_DIR && tar -zcf $BIN_TAR_FILE_NAME apache-dolphinscheduler-*-bin +cd $DIST_DIR +if [ "$(uname -s)" = "Darwin" ]; then + COPYFILE_DISABLE=1 tar --no-xattrs -zcf $BIN_TAR_FILE_NAME apache-dolphinscheduler-*-bin +else + tar -zcf $BIN_TAR_FILE_NAME apache-dolphinscheduler-*-bin +fi echo "assembly-plugins.sh done" From 7c0a55c87c4040a4b3b82e8800c5c856117f7f54 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=AE=B5=E6=99=93=E9=9B=84?= Date: Sat, 7 Mar 2026 22:47:50 +0800 Subject: [PATCH 2/4] fix(dist): exclude macOS junk in assembly and .gitignore per review - Add excludes for **/._* and **/.DS_Store in dolphinscheduler-bin.xml fileSets - Add ._* to .gitignore (AppleDouble files) Made-with: Cursor --- .gitignore | 1 + .../main/assembly/dolphinscheduler-bin.xml | 68 +++++++++++++++++++ 2 files changed, 69 insertions(+) diff --git a/.gitignore b/.gitignore index fcf292d66eda..5a832c31a5e8 100644 --- a/.gitignore +++ b/.gitignore @@ -4,6 +4,7 @@ .zip .gz .DS_Store +._* .target .idea/ !.idea/icon.png diff --git a/dolphinscheduler-dist/src/main/assembly/dolphinscheduler-bin.xml b/dolphinscheduler-dist/src/main/assembly/dolphinscheduler-bin.xml index eaf5461ee807..fadff08e6eca 100644 --- a/dolphinscheduler-dist/src/main/assembly/dolphinscheduler-bin.xml +++ b/dolphinscheduler-dist/src/main/assembly/dolphinscheduler-bin.xml @@ -29,21 +29,37 @@ ${basedir}/../dolphinscheduler-alert/dolphinscheduler-alert-server/target/alert-server alert-server + + **/._* + **/.DS_Store + ${basedir}/../dolphinscheduler-api/target/api-server api-server + + **/._* + **/.DS_Store + ${basedir}/../dolphinscheduler-master/target/master-server master-server + + **/._* + **/.DS_Store + ${basedir}/../dolphinscheduler-worker/target/worker-server worker-server + + **/._* + **/.DS_Store + @@ -53,6 +69,10 @@ dolphinscheduler-alert-*/target/dolphinscheduler-alert-*-shade.jar plugins/alert-plugins + + **/._* + **/.DS_Store + @@ -61,6 +81,10 @@ dolphinscheduler-datasource-*/target/dolphinscheduler-datasource-*-shade.jar plugins/datasource-plugins + + **/._* + **/.DS_Store + @@ -69,6 +93,10 @@ dolphinscheduler-task-*/target/dolphinscheduler-task-*-shade.jar plugins/task-plugins + + **/._* + **/.DS_Store + @@ -77,27 +105,47 @@ dolphinscheduler-storage-*/target/dolphinscheduler-storage-*-shade.jar plugins/storage-plugins + + **/._* + **/.DS_Store + ${basedir}/../dolphinscheduler-standalone-server/target/standalone-server standalone-server + + **/._* + **/.DS_Store + ${basedir}/../dolphinscheduler-tools/target/tools tools + + **/._* + **/.DS_Store + ${basedir}/../dolphinscheduler-dist/target/dolphinscheduler-dist-${project.version} . + + **/._* + **/.DS_Store + ${basedir}/../dolphinscheduler-ui/dist ./ui + + **/._* + **/.DS_Store + @@ -105,11 +153,19 @@ bin 0755 0755 + + **/._* + **/.DS_Store + ${basedir}/../config conf + + **/._* + **/.DS_Store + @@ -120,16 +176,28 @@ 0755 . + + **/._* + **/.DS_Store + ${basedir}/../.mvn/ .mvn + + **/._* + **/.DS_Store + ${basedir}/release-docs . + + **/._* + **/.DS_Store + From 52bee7feb5e1105bd1eb93abdf8af9c05c3d031c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=AE=B5=E6=99=93=E9=9B=84?= Date: Sun, 8 Mar 2026 12:19:26 +0800 Subject: [PATCH 3/4] fix(dist): use tar --exclude instead of find/xattr per review Replace find delete + xattr + conditional tar with single tar --exclude='._*' --exclude='.DS_Store' to avoid extra logic in packaging. Made-with: Cursor --- .../src/main/assembly/assembly-plugins.sh | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/dolphinscheduler-dist/src/main/assembly/assembly-plugins.sh b/dolphinscheduler-dist/src/main/assembly/assembly-plugins.sh index d021e3b38be7..2bb3b5ebf0a8 100755 --- a/dolphinscheduler-dist/src/main/assembly/assembly-plugins.sh +++ b/dolphinscheduler-dist/src/main/assembly/assembly-plugins.sh @@ -77,20 +77,8 @@ done # create symbolic link for standalone-server cd $BIN_DIR/standalone-server && ln -s ../tools/sql/sql sql -# remove macOS junk so Linux extraction is clean -find "$BIN_DIR" -name '._*' -delete -find "$BIN_DIR" -name '.DS_Store' -delete -if [ "$(uname -s)" = "Darwin" ]; then - xattr -cr "$BIN_DIR" -fi - -# repack bin tar +# repack bin tar (exclude macOS junk so extraction on Linux is clean) BIN_TAR_FILE_NAME=$(basename $BIN_TAR_FILE) -cd $DIST_DIR -if [ "$(uname -s)" = "Darwin" ]; then - COPYFILE_DISABLE=1 tar --no-xattrs -zcf $BIN_TAR_FILE_NAME apache-dolphinscheduler-*-bin -else - tar -zcf $BIN_TAR_FILE_NAME apache-dolphinscheduler-*-bin -fi +cd $DIST_DIR && tar -zcf $BIN_TAR_FILE_NAME --exclude='._*' --exclude='.DS_Store' apache-dolphinscheduler-*-bin echo "assembly-plugins.sh done" From 23118d7dae0e110458c25571ca21d1944fc9030f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=AE=B5=E6=99=93=E9=9B=84?= Date: Mon, 9 Mar 2026 14:48:26 +0800 Subject: [PATCH 4/4] fix(dist): move macOS junk cleanup to each module per review - Add maven-antrun-plugin in root pom: package phase deletes ._* and .DS_Store from each module's target/ - Remove from dolphinscheduler-bin.xml fileSets (handled at module level now) Made-with: Cursor --- .../main/assembly/dolphinscheduler-bin.xml | 68 ------------------- pom.xml | 22 ++++++ 2 files changed, 22 insertions(+), 68 deletions(-) diff --git a/dolphinscheduler-dist/src/main/assembly/dolphinscheduler-bin.xml b/dolphinscheduler-dist/src/main/assembly/dolphinscheduler-bin.xml index fadff08e6eca..eaf5461ee807 100644 --- a/dolphinscheduler-dist/src/main/assembly/dolphinscheduler-bin.xml +++ b/dolphinscheduler-dist/src/main/assembly/dolphinscheduler-bin.xml @@ -29,37 +29,21 @@ ${basedir}/../dolphinscheduler-alert/dolphinscheduler-alert-server/target/alert-server alert-server - - **/._* - **/.DS_Store - ${basedir}/../dolphinscheduler-api/target/api-server api-server - - **/._* - **/.DS_Store - ${basedir}/../dolphinscheduler-master/target/master-server master-server - - **/._* - **/.DS_Store - ${basedir}/../dolphinscheduler-worker/target/worker-server worker-server - - **/._* - **/.DS_Store - @@ -69,10 +53,6 @@ dolphinscheduler-alert-*/target/dolphinscheduler-alert-*-shade.jar plugins/alert-plugins - - **/._* - **/.DS_Store - @@ -81,10 +61,6 @@ dolphinscheduler-datasource-*/target/dolphinscheduler-datasource-*-shade.jar plugins/datasource-plugins - - **/._* - **/.DS_Store - @@ -93,10 +69,6 @@ dolphinscheduler-task-*/target/dolphinscheduler-task-*-shade.jar plugins/task-plugins - - **/._* - **/.DS_Store - @@ -105,47 +77,27 @@ dolphinscheduler-storage-*/target/dolphinscheduler-storage-*-shade.jar plugins/storage-plugins - - **/._* - **/.DS_Store - ${basedir}/../dolphinscheduler-standalone-server/target/standalone-server standalone-server - - **/._* - **/.DS_Store - ${basedir}/../dolphinscheduler-tools/target/tools tools - - **/._* - **/.DS_Store - ${basedir}/../dolphinscheduler-dist/target/dolphinscheduler-dist-${project.version} . - - **/._* - **/.DS_Store - ${basedir}/../dolphinscheduler-ui/dist ./ui - - **/._* - **/.DS_Store - @@ -153,19 +105,11 @@ bin 0755 0755 - - **/._* - **/.DS_Store - ${basedir}/../config conf - - **/._* - **/.DS_Store - @@ -176,28 +120,16 @@ 0755 . - - **/._* - **/.DS_Store - ${basedir}/../.mvn/ .mvn - - **/._* - **/.DS_Store - ${basedir}/release-docs . - - **/._* - **/.DS_Store - diff --git a/pom.xml b/pom.xml index 452a45bcff34..925525aba6da 100755 --- a/pom.xml +++ b/pom.xml @@ -797,6 +797,28 @@ maven-dependency-plugin ${maven-dependency-plugin.version} + + + org.apache.maven.plugins + maven-antrun-plugin + 3.1.0 + + + clean-macos-junk + package + + run + + + + + + + + + + + https://dolphinscheduler.apache.org