mirror of https://github.com/i2p-zero/i2p-zero
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
58 lines
2.1 KiB
58 lines
2.1 KiB
#!/bin/bash
|
|
set -e
|
|
set -o pipefail
|
|
|
|
if [ $(uname -s) = Darwin ]; then
|
|
basedir=$(dirname $(cd "$(dirname "$0")"; pwd -P))
|
|
else
|
|
basedir=$(dirname $(dirname $(readlink -fm $0)))
|
|
fi
|
|
|
|
source "$basedir/bin/java-config.sh"
|
|
|
|
cp "$basedir"/import/jetty-lib/*.jar "$basedir/import/lib/"
|
|
cp "$basedir"/import/org-json/*.jar "$basedir/import/lib/"
|
|
|
|
rm -fr "$basedir/target/lib-combined"
|
|
rm -fr "$basedir/target/lib-combined-tmp"
|
|
mkdir -p "$basedir/target/lib-combined"
|
|
mkdir -p "$basedir/target/lib-combined-tmp"
|
|
|
|
jarPaths=`find "$basedir/import/lib" -name '*.jar'`
|
|
combinedJarPath="$basedir/target/lib-combined/combined.jar"
|
|
for jarPath in $jarPaths; do unzip -quo $jarPath -d "$basedir/target/lib-combined-tmp"; done
|
|
$JAVA_HOME/bin/jar cf "$combinedJarPath" -C "$basedir/target/lib-combined-tmp" .
|
|
|
|
rm -fr "$basedir/target/module-info"
|
|
mkdir -p "$basedir/target/module-info"
|
|
rm -fr "$basedir/target/modules"
|
|
mkdir -p "$basedir/target/modules"
|
|
|
|
echo "*** Determining dependencies for $combinedJarPath"
|
|
"$JAVA_HOME"/bin/jdeps --add-modules=ALL-MODULE-PATH --generate-module-info "$basedir/target/module-info" "$combinedJarPath"
|
|
|
|
modulesToRemove="java.desktop java.management java.rmi java.sql"
|
|
|
|
if [ $(uname -s) = Darwin ]; then
|
|
sed -i '' -e '$ d' "$basedir/target/module-info/combined/module-info.java"
|
|
for i in $modulesToRemove; do
|
|
sed -i '' "/$i/d" "$basedir/target/module-info/combined/module-info.java"
|
|
done
|
|
else
|
|
sed -i '$ d' "$basedir/target/module-info/combined/module-info.java"
|
|
for i in $modulesToRemove; do
|
|
sed -i "/$i/d" "$basedir/target/module-info/combined/module-info.java"
|
|
done
|
|
fi
|
|
echo 'uses org.eclipse.jetty.http.HttpFieldPreEncoder; }' >> "$basedir/target/module-info/combined/module-info.java"
|
|
|
|
|
|
echo "*** Creating new combined modular jar"
|
|
"$JAVA_HOME"/bin/javac --module-path "$combinedJarPath/combined" --patch-module combined="$combinedJarPath" "$basedir/target/module-info/combined/module-info.java"
|
|
cp $combinedJarPath "$basedir/target/modules/"
|
|
"$JAVA_HOME"/bin/jar uf "$basedir/target/modules/combined.jar" -C "$basedir/target/module-info/combined" module-info.class
|
|
|
|
normalizeZip "$basedir/target/modules/combined.jar"
|
|
|
|
|