This commit is contained in:
zhuxt2015 2024-06-12 13:31:09 +08:00 committed by GitHub
commit 7d782beed9
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 76 additions and 0 deletions

View File

@ -118,6 +118,26 @@
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>3.3.0</version>
<executions>
<execution>
<id>create-symlinks</id>
<goals>
<goal>exec</goal>
</goals>
<phase>package</phase>
<configuration>
<executable>sh</executable>
<arguments>
<argument>${basedir}/../dolphinscheduler-dist/src/main/assembly/create-symlinks.sh</argument>
</arguments>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>

View File

@ -0,0 +1,56 @@
#!/bin/bash
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
set -eu
script_dir=`dirname $0`
cd $script_dir/../../../target
package_file=`ls apache-dolphinscheduler-*-bin.tar.gz`
echo $package_file
decompress_dirname="${package_file%.tar.gz}"
rm -rf $decompress_dirname
#Decompress package file
tar -xf $package_file
cd $decompress_dirname
SHARED_LIB_DIR="libs"
# create share lib directory
mkdir -p $SHARED_LIB_DIR
echo 'iterate through the lib directory for all subprojects'
for module in api-server master-server worker-server alert-server tools; do
MODULE_LIB_DIR="$module/libs"
echo "handling $MODULE_LIB_DIR"
if [ -d "$MODULE_LIB_DIR" ]; then
cd $MODULE_LIB_DIR
for jar in `ls *.jar`; do
# Move jar file to share lib directory
mv $jar ../../$SHARED_LIB_DIR/
# Create a symbolic link in the subproject's lib directory
ln -s ../../$SHARED_LIB_DIR/$jar .
done
cd - > /dev/null
fi
done
#Recompress the package
cd ..
tar -zcf $package_file $decompress_dirname
rm -rf $decompress_dirname