You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dolphinscheduler.apache.org by ke...@apache.org on 2022/03/19 12:00:23 UTC

[dolphinscheduler] 01/01: Reduce the size of distribution tar

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

kezhenxu94 pushed a commit to branch slim
in repository https://gitbox.apache.org/repos/asf/dolphinscheduler.git

commit 5335362669510cc592a093032e41651816446c77
Author: kezhenxu94 <ke...@apache.org>
AuthorDate: Sat Mar 19 20:00:08 2022 +0800

    Reduce the size of distribution tar
---
 .../src/main/assembly/dolphinscheduler-bin.xml     | 13 +++++
 .../dolphinscheduler-standalone-server.xml         | 60 +++++++++++-----------
 .../src/main/bin/start.sh                          |  9 +++-
 .../src/main/{bin => dist-bin}/start.sh            |  9 +++-
 4 files changed, 58 insertions(+), 33 deletions(-)

diff --git a/dolphinscheduler-dist/src/main/assembly/dolphinscheduler-bin.xml b/dolphinscheduler-dist/src/main/assembly/dolphinscheduler-bin.xml
index 5116857..3b11374 100644
--- a/dolphinscheduler-dist/src/main/assembly/dolphinscheduler-bin.xml
+++ b/dolphinscheduler-dist/src/main/assembly/dolphinscheduler-bin.xml
@@ -58,6 +58,19 @@
         <fileSet>
             <directory>${basedir}/../dolphinscheduler-standalone-server/target/standalone-server</directory>
             <outputDirectory>standalone-server</outputDirectory>
+            <excludes>
+                <exclude>libs/</exclude>
+                <exclude>bin/</exclude>
+                <exclude>dist-bin/</exclude>
+            </excludes>
+        </fileSet>
+        <fileSet>
+            <directory>${basedir}/../dolphinscheduler-standalone-server/target/standalone-server/libs/standalone-server</directory>
+            <outputDirectory>standalone-server/libs/standalone-server</outputDirectory>
+        </fileSet>
+        <fileSet>
+            <directory>${basedir}/../dolphinscheduler-standalone-server/target/standalone-server/dist-bin</directory>
+            <outputDirectory>standalone-server/bin</outputDirectory>
         </fileSet>
 
         <fileSet>
diff --git a/dolphinscheduler-standalone-server/src/main/assembly/dolphinscheduler-standalone-server.xml b/dolphinscheduler-standalone-server/src/main/assembly/dolphinscheduler-standalone-server.xml
index 9971ad0..8ecd8c5 100644
--- a/dolphinscheduler-standalone-server/src/main/assembly/dolphinscheduler-standalone-server.xml
+++ b/dolphinscheduler-standalone-server/src/main/assembly/dolphinscheduler-standalone-server.xml
@@ -26,46 +26,28 @@
     <baseDirectory>standalone-server</baseDirectory>
     <fileSets>
         <fileSet>
-            <directory>${basedir}/../dolphinscheduler-alert/dolphinscheduler-alert-server/target/alert-server</directory>
-            <outputDirectory>.</outputDirectory>
-            <includes>
-                <include>libs</include>
-            </includes>
+            <directory>${basedir}/../dolphinscheduler-alert/dolphinscheduler-alert-server/target/alert-server/libs</directory>
+            <outputDirectory>libs/alert-server</outputDirectory>
         </fileSet>
         <fileSet>
-            <directory>${basedir}/../dolphinscheduler-api/target/api-server</directory>
-            <includes>
-                <include>libs</include>
-            </includes>
-            <outputDirectory>.</outputDirectory>
+            <directory>${basedir}/../dolphinscheduler-api/target/api-server/libs</directory>
+            <outputDirectory>libs/api-server</outputDirectory>
         </fileSet>
         <fileSet>
-            <directory>${basedir}/../dolphinscheduler-master/target/master-server</directory>
-            <includes>
-                <include>libs</include>
-            </includes>
-            <outputDirectory>.</outputDirectory>
+            <directory>${basedir}/../dolphinscheduler-master/target/master-server/libs</directory>
+            <outputDirectory>libs/master-server</outputDirectory>
         </fileSet>
         <fileSet>
-            <directory>${basedir}/../dolphinscheduler-worker/target/worker-server</directory>
-            <includes>
-                <include>libs</include>
-            </includes>
-            <outputDirectory>.</outputDirectory>
+            <directory>${basedir}/../dolphinscheduler-worker/target/worker-server/libs</directory>
+            <outputDirectory>libs/worker-server</outputDirectory>
         </fileSet>
         <fileSet>
-            <directory>${basedir}/../dolphinscheduler-log-server/target/logger-server</directory>
-            <includes>
-                <include>libs</include>
-            </includes>
-            <outputDirectory>.</outputDirectory>
+            <directory>${basedir}/../dolphinscheduler-log-server/target/logger-server/libs</directory>
+            <outputDirectory>libs/logger-server</outputDirectory>
         </fileSet>
         <fileSet>
-            <directory>${basedir}/../dolphinscheduler-python-gateway/target/python-gateway</directory>
-            <includes>
-                <include>libs</include>
-            </includes>
-            <outputDirectory>.</outputDirectory>
+            <directory>${basedir}/../dolphinscheduler-python/target/python-gateway-server/libs</directory>
+            <outputDirectory>libs/python-gateway</outputDirectory>
         </fileSet>
 
         <fileSet>
@@ -84,6 +66,12 @@
             <directoryMode>0755</directoryMode>
         </fileSet>
         <fileSet>
+            <directory>${basedir}/src/main/dist-bin</directory>
+            <outputDirectory>dist-bin</outputDirectory>
+            <fileMode>0755</fileMode>
+            <directoryMode>0755</directoryMode>
+        </fileSet>
+        <fileSet>
             <directory>${basedir}/../script/env</directory>
             <outputDirectory>bin</outputDirectory>
             <includes>
@@ -92,6 +80,15 @@
             <fileMode>0755</fileMode>
             <directoryMode>0755</directoryMode>
         </fileSet>
+        <fileSet>
+            <directory>${basedir}/../script/env</directory>
+            <outputDirectory>dist-bin</outputDirectory>
+            <includes>
+                <include>dolphinscheduler_env.sh</include>
+            </includes>
+            <fileMode>0755</fileMode>
+            <directoryMode>0755</directoryMode>
+        </fileSet>
 
         <fileSet>
             <directory>${basedir}/../dolphinscheduler-dao/src/main/resources</directory>
@@ -108,7 +105,8 @@
 
     <dependencySets>
         <dependencySet>
-            <outputDirectory>libs</outputDirectory>
+            <useTransitiveDependencies>false</useTransitiveDependencies>
+            <outputDirectory>libs/standalone-server</outputDirectory>
             <excludes>
                 <exclude>com.amazonaws:aws-java-sdk-emr</exclude>
                 <exclude>com.amazonaws:aws-java-sdk-core</exclude>
diff --git a/dolphinscheduler-standalone-server/src/main/bin/start.sh b/dolphinscheduler-standalone-server/src/main/bin/start.sh
index d8c7611..6e1a4f4 100755
--- a/dolphinscheduler-standalone-server/src/main/bin/start.sh
+++ b/dolphinscheduler-standalone-server/src/main/bin/start.sh
@@ -27,6 +27,13 @@ if [[ "$DOCKER" == "true" ]]; then
   JAVA_OPTS="${JAVA_OPTS} -XX:-UseContainerSupport"
 fi
 
+CP=""
+for d in $DOLPHINSCHEDULER_HOME/libs/*; do
+  for f in $d/*.jar; do
+    CP=$CP:$f
+  done
+done
+
 java $JAVA_OPTS \
-  -cp "$DOLPHINSCHEDULER_HOME/conf":"$DOLPHINSCHEDULER_HOME/libs/*" \
+  -cp "$DOLPHINSCHEDULER_HOME/conf":"$CP" \
   org.apache.dolphinscheduler.StandaloneServer
diff --git a/dolphinscheduler-standalone-server/src/main/bin/start.sh b/dolphinscheduler-standalone-server/src/main/dist-bin/start.sh
similarity index 82%
copy from dolphinscheduler-standalone-server/src/main/bin/start.sh
copy to dolphinscheduler-standalone-server/src/main/dist-bin/start.sh
index d8c7611..b90a6db 100755
--- a/dolphinscheduler-standalone-server/src/main/bin/start.sh
+++ b/dolphinscheduler-standalone-server/src/main/dist-bin/start.sh
@@ -27,6 +27,13 @@ if [[ "$DOCKER" == "true" ]]; then
   JAVA_OPTS="${JAVA_OPTS} -XX:-UseContainerSupport"
 fi
 
+CP=$DOLPHINSCHEDULER_HOME/libs/standalone-server/*
+for d in alert-server api-server master-server python-gateway-server worker-server; do
+  for f in $DOLPHINSCHEDULER_HOME/../$d/libs/*.jar; do
+    CP=$CP:$f
+  done
+done
+
 java $JAVA_OPTS \
-  -cp "$DOLPHINSCHEDULER_HOME/conf":"$DOLPHINSCHEDULER_HOME/libs/*" \
+  -cp "$DOLPHINSCHEDULER_HOME/conf":"$CP" \
   org.apache.dolphinscheduler.StandaloneServer