Files
i2p-zero/bin/convert-jars-to-modules.sh
knaccc 3502200cff removed use of java records, since they're a preview feature and causing a clash with the packaging which won't allow preview features to be enabled
added pipefail to bash scripts to more thoroughly catch errors
version bump to 1.19
readme now communicates that monerod comes preconfigured with I2P-accessible monerod peers
2020-11-26 18:59:47 +00:00

58 lines
2.1 KiB
Bash
Executable File

#!/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"