Files
i2p-jpackage/build.sh

63 lines
1.8 KiB
Bash
Raw Normal View History

2021-03-18 23:54:13 +00:00
#!/bin/bash
if [ -z "${JAVA_HOME}" ]; then
echo "JAVA_HOME needs to point to Java 14+"
exit 1
fi
echo "cleaning"
2021-03-19 01:27:42 -04:00
./clean.sh
2021-03-18 23:54:13 +00:00
HERE=$PWD
RES_DIR=$HERE/../i2p.i2p/installer/resources
I2P_JARS=$HERE/../i2p.i2p/pkg-temp/lib
I2P_PKG=$HERE/../i2p.i2p/pkg-temp
2021-03-18 23:54:13 +00:00
echo "preparing resources.csv"
mkdir build
cd $RES_DIR
find certificates -name *.crt -exec echo '{},{}' >> $HERE/build/resources.csv \;
cd portable/configs
find . -name '*.config' -exec echo 'config/{},{}' >> $HERE/build/resources.csv \;
2021-03-19 01:25:56 -04:00
echo "config/hosts.txt,hosts.txt" >> $HERE/build/resources.csv
echo "preparing webapps"
cd $I2P_PKG
find webapps -name '*.war' -exec echo '{},{}' >> $HERE/build/resources.csv \;
2021-03-18 23:54:13 +00:00
cd $HERE
echo "geoip/GeoLite2-Country.mmdb,geoip/GeoLite2-Country.mmdb" >> build/resources.csv
sed -i 's|\./||g' build/resources.csv
2021-03-18 23:54:13 +00:00
echo "copying certificates"
cp -R $RES_DIR/certificates build/
echo "copying config"
cp -R $RES_DIR/portable/configs build/config
2021-03-19 01:25:56 -04:00
cp -R $RES_DIR/hosts.txt build/config/hosts.txt
cp -R $I2P_PKG/webapps build/
2021-03-18 23:54:13 +00:00
echo "copying GeoIP"
mkdir build/geoip
cp $RES_DIR/GeoLite2-Country.mmdb.gz build/geoip
gunzip build/geoip/GeoLite2-Country.mmdb.gz
echo "compiling custom launcher"
2021-03-19 01:49:56 +00:00
cp $I2P_JARS/*.jar build
2021-03-18 23:54:13 +00:00
cd java
$JAVA_HOME/bin/javac -d ../build -classpath ../build/i2p.jar:../build/router.jar net/i2p/router/PackageLauncher.java
cd ..
echo "building launcher.jar"
cd build
$JAVA_HOME/bin/jar -cf launcher.jar net certificates geoip config webapps resources.csv
2021-03-18 23:54:13 +00:00
cd ..
echo "preparing to invoke jpackage"
cp $I2P_JARS/*.jar build
2021-03-18 21:50:05 -04:00
if [ "$(expr substr $(uname -s) 1 5)" == "Linux" ]; then
$JAVA_HOME/bin/jpackage --type app-image --name I2P --input build --main-jar launcher.jar --main-class net.i2p.router.PackageLauncher
else
$JAVA_HOME/bin/jpackage --name I2P --input build --main-jar launcher.jar --main-class net.i2p.router.PackageLauncher
fi