Merge pull request #5 from jtgrassie/mac-gui-bundle

mac-gui: add app bundle
pull/6/head v1.0
knaccc 5 years ago committed by GitHub
commit 516153e5c3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -14,7 +14,7 @@ rm -fr target/org.getmonero.i2p.zero.gui/classes
# compile the Main class that starts the I2P router and SAM listener
echo "*** Compiling Main class"
$JAVA_HOME/bin/javac --module-path import/lib -d target/org.getmonero.i2p.zero/classes $(find org.getmonero.i2p.zero/src -name '*.java')
$JAVA_HOME/bin/javac --module-path import/lib:import/javafx-sdk-11.0.2/lib:target/org.getmonero.i2p.zero/classes -d target/org.getmonero.i2p.zero.gui/classes $(find org.getmonero.i2p.zero.gui/src -name '*.java')
$JAVA_HOME/bin/javac --module-path import/lib:import/javafx-sdks/linux/javafx-sdk-$JAVAFX_VERSION/lib:target/org.getmonero.i2p.zero/classes -d target/org.getmonero.i2p.zero.gui/classes $(find org.getmonero.i2p.zero.gui/src -name '*.java')
cp -r org.getmonero.i2p.zero.gui/src/* target/org.getmonero.i2p.zero.gui/classes
find target -type f -name '*.java' -delete
@ -40,24 +40,35 @@ for i in linux mac win; do
esac
echo "Using JAVA_HOME_VARIANT: $JAVA_HOME_VARIANT"
$JAVA_HOME/bin/jlink --module-path ${JAVA_HOME_VARIANT}/jmods:target/modules:target/org.getmonero.i2p.zero.jar --add-modules org.getmonero.i2p.zero --output dist/$i/router --strip-debug --compress 2 --no-header-files --no-man-pages
$JAVA_HOME/bin/jlink --module-path ${JAVA_HOME_VARIANT}/jmods:import/javafx-jmods/$i/javafx-jmods-11.0.2:target/modules:target/org.getmonero.i2p.zero.jar:target/org.getmonero.i2p.zero.gui.jar --add-modules org.getmonero.i2p.zero,org.getmonero.i2p.zero.gui,javafx.controls,javafx.fxml,java.desktop --output dist/$i-gui/router --strip-debug --compress 2 --no-header-files --no-man-pages
$JAVA_HOME/bin/jlink --module-path ${JAVA_HOME_VARIANT}/jmods:import/javafx-jmods/$i/javafx-jmods-${JAVAFX_VERSION}:target/modules:target/org.getmonero.i2p.zero.jar:target/org.getmonero.i2p.zero.gui.jar --add-modules org.getmonero.i2p.zero,org.getmonero.i2p.zero.gui,javafx.controls,javafx.fxml,java.desktop --output dist/$i-gui/router --strip-debug --compress 2 --no-header-files --no-man-pages
done
cp -R $basedir/resources/i2p-zero.app $basedir/dist/mac-gui/router/bin/
for i in linux mac linux-gui mac-gui; do
cp $basedir/resources/launch.sh $basedir/dist/$i/router/bin/
cp $basedir/resources/tunnel-control.sh $basedir/dist/$i/router/bin/
if [ $i = mac-gui ]; then
mac_root=$basedir/dist/$i/router/bin/i2p-zero.app/Contents/MacOS
cp $basedir/resources/tunnel-control.sh $mac_root/
mv $basedir/dist/$i/router/bin/java $mac_root/
mv $basedir/dist/$i/router/bin/jrunscript $mac_root/
mv $basedir/dist/$i/router/bin/keytool $mac_root/
else
cp $basedir/resources/launch.sh $basedir/dist/$i/router/bin/
cp $basedir/resources/tunnel-control.sh $basedir/dist/$i/router/bin/
fi
done
for i in win win-gui; do
cp $basedir/resources/launch.bat $basedir/dist/$i/router/bin/
done
for i in linux-gui mac-gui; do
for i in linux-gui; do
cp $basedir/resources/launch-gui.sh $basedir/dist/$i/router/bin/
done
for i in win-gui; do
cp $basedir/resources/launch-gui.bat $basedir/dist/$i/router/bin/
done
for i in linux mac win linux-gui mac-gui win-gui; do cp -r $basedir/import/i2p.base $basedir/dist/$i/router/; done
for i in linux mac win linux-gui mac-gui win-gui; do mkdir -p $basedir/dist/$i/router/i2p.config; done

@ -37,14 +37,17 @@ if [ ! -d "$basedir/import/apache-ant-1.10.5" ]; then
tar zxvf apache-ant-1.10.5-bin.tar.gz
fi
if [ ! -d "$basedir/import/javafx-sdk-11.0.2" ]; then
if [ $(uname -s) = Darwin ]; then
wget $JAVAFX_SDK_DOWNLOAD_URL_MAC
unzip openjfx-11.0.2_osx-x64_bin-sdk.zip
else
wget $JAVAFX_SDK_DOWNLOAD_URL_LINUX
unzip openjfx-11.0.2_linux-x64_bin-sdk.zip
fi
if [ ! -d "$basedir/import/javafx-sdks" ]; then
mkdir -p javafx-sdks
mkdir -p javafx-sdks/linux javafx-sdks/mac javafx-sdks/win
wget --directory-prefix=javafx-sdks/linux $JAVAFX_SDK_DOWNLOAD_URL_LINUX
wget --directory-prefix=javafx-sdks/mac $JAVAFX_SDK_DOWNLOAD_URL_MAC
wget --directory-prefix=javafx-sdks/win $JAVAFX_SDK_DOWNLOAD_URL_WIN
unzip javafx-sdks/linux/`basename $JAVAFX_SDK_DOWNLOAD_URL_LINUX` -d javafx-sdks/linux/
unzip javafx-sdks/mac/`basename $JAVAFX_SDK_DOWNLOAD_URL_MAC` -d javafx-sdks/mac/
unzip javafx-sdks/win/`basename $JAVAFX_SDK_DOWNLOAD_URL_WIN` -d javafx-sdks/win/
fi
if [ ! -d "$basedir/import/javafx-jmods" ]; then
@ -54,9 +57,9 @@ if [ ! -d "$basedir/import/javafx-jmods" ]; then
wget --directory-prefix=javafx-jmods/mac $JAVAFX_JMODS_DOWNLOAD_URL_MAC
wget --directory-prefix=javafx-jmods/win $JAVAFX_JMODS_DOWNLOAD_URL_WIN
unzip jdks/linux/$JAVAFX_JMODS_DOWNLOAD_FILENAME_LINUX -d javafx-jmods/linux/
unzip jdks/mac/$JAVAFX_JMODS_DOWNLOAD_FILENAME_MAC -d javafx-jmods/mac/
unzip jdks/win/$JAVAFX_JMODS_DOWNLOAD_FILENAME_WIN -d javafx-jmods/win/
unzip javafx-jmods/linux/$JAVAFX_JMODS_DOWNLOAD_FILENAME_LINUX -d javafx-jmods/linux/
unzip javafx-jmods/mac/$JAVAFX_JMODS_DOWNLOAD_FILENAME_MAC -d javafx-jmods/mac/
unzip javafx-jmods/win/$JAVAFX_JMODS_DOWNLOAD_FILENAME_WIN -d javafx-jmods/win/
fi

@ -18,8 +18,10 @@ JAVA_HOME_LINUX=$basedir/import/jdks/linux/jdk-11.0.1+13
JAVA_HOME_MAC=$basedir/import/jdks/mac/jdk-11.0.1+13/Contents/Home
JAVA_HOME_WIN=$basedir/import/jdks/win/jdk-11.0.1+13
JAVAFX_SDK_DOWNLOAD_URL_LINUX=https://download2.gluonhq.com/openjfx/11.0.2/openjfx-11.0.2_linux-x64_bin-sdk.zip
JAVAFX_SDK_DOWNLOAD_URL_MAC=https://download2.gluonhq.com/openjfx/11.0.2/openjfx-11.0.2_osx-x64_bin-sdk.zip
JAVAFX_VERSION=11.0.2
JAVAFX_SDK_DOWNLOAD_URL_LINUX=https://download2.gluonhq.com/openjfx/$JAVAFX_VERSION/openjfx-${JAVAFX_VERSION}_linux-x64_bin-sdk.zip
JAVAFX_SDK_DOWNLOAD_URL_MAC=https://download2.gluonhq.com/openjfx/$JAVAFX_VERSION/openjfx-${JAVAFX_VERSION}_osx-x64_bin-sdk.zip
JAVAFX_SDK_DOWNLOAD_URL_WIN=https://download2.gluonhq.com/openjfx/$JAVAFX_VERSION/openjfx-${JAVAFX_VERSION}_windows-x64_bin-sdk.zip
JAVAFX_JMODS_DOWNLOAD_URL_LINUX=https://download2.gluonhq.com/openjfx/11.0.2/openjfx-11.0.2_linux-x64_bin-jmods.zip
JAVAFX_JMODS_DOWNLOAD_URL_MAC=https://download2.gluonhq.com/openjfx/11.0.2/openjfx-11.0.2_osx-x64_bin-jmods.zip

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleGetInfoString</key>
<string>i2p-zero</string>
<key>CFBundleExecutable</key>
<string>launch-gui.sh</string>
<key>CFBundleIdentifier</key>
<string>org.getmonero.i2p.zero.gui</string>
<key>CFBundleName</key>
<string>i2p-zero</string>
<key>CFBundleIconFile</key>
<string>app-icon</string>
<key>CFBundleShortVersionString</key>
<string>0.01</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>IFMajorVersion</key>
<integer>0</integer>
<key>IFMinorVersion</key>
<integer>1</integer>
</dict>
</plist>

@ -0,0 +1,6 @@
#!/bin/bash
wd=${0%/*}
cd "$wd"
basedir="$wd/../../../.."
./java -cp $basedir/i2p.base/jbigi.jar -m org.getmonero.i2p.zero.gui --i2p.dir.base=$basedir/i2p.base --i2p.dir.config=$basedir/i2p.config

@ -0,0 +1,3 @@
#!/bin/bash
exec 3<>/dev/tcp/localhost/30000; echo "$1 $2 $3" >&3; cat <&3
Loading…
Cancel
Save