Merge pull request #9 from jtgrassie/path-spaces

fix spaces
pull/10/head
knaccc 5 years ago committed by GitHub
commit 1c3c4ce35f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -7,14 +7,14 @@ else
fi fi
# retrieve the I2P Java sources, OpenJDK and the Ant build tool # retrieve the I2P Java sources, OpenJDK and the Ant build tool
$basedir/bin/import-packages.sh "$basedir"/bin/import-packages.sh
# build the i2p project retrieved from the I2P repository # build the i2p project retrieved from the I2P repository
$basedir/bin/build-original-i2p.sh "$basedir"/bin/build-original-i2p.sh
# convert the jar files from an existing I2P build into modules suitable for use with jlink # convert the jar files from an existing I2P build into modules suitable for use with jlink
$basedir/bin/convert-jars-to-modules.sh "$basedir"/bin/convert-jars-to-modules.sh
# compile the Java source code in this project, and then use the jlink tool # compile the Java source code in this project, and then use the jlink tool
# to build a zero-dependency platform-specific launcher # to build a zero-dependency platform-specific launcher
$basedir/bin/build-launcher.sh "$basedir"/bin/build-launcher.sh

@ -6,7 +6,7 @@ else
basedir=$(dirname $(dirname $(readlink -fm $0))) basedir=$(dirname $(dirname $(readlink -fm $0)))
fi fi
source $basedir/bin/java-config.sh source "$basedir/bin/java-config.sh"
rm -fr target/org.getmonero.i2p.zero/classes rm -fr target/org.getmonero.i2p.zero/classes
rm -fr target/org.getmonero.i2p.zero.gui/classes rm -fr target/org.getmonero.i2p.zero.gui/classes
@ -23,8 +23,8 @@ echo "*** Packaging as a modular jar"
$JAVA_HOME/bin/jar --create --file target/org.getmonero.i2p.zero.jar --main-class org.getmonero.i2p.zero.Main -C target/org.getmonero.i2p.zero/classes . $JAVA_HOME/bin/jar --create --file target/org.getmonero.i2p.zero.jar --main-class org.getmonero.i2p.zero.Main -C target/org.getmonero.i2p.zero/classes .
$JAVA_HOME/bin/jar --create --file target/org.getmonero.i2p.zero.gui.jar --main-class org.getmonero.i2p.zero.gui.Gui -C target/org.getmonero.i2p.zero.gui/classes . $JAVA_HOME/bin/jar --create --file target/org.getmonero.i2p.zero.gui.jar --main-class org.getmonero.i2p.zero.gui.Gui -C target/org.getmonero.i2p.zero.gui/classes .
rm -fr $basedir/dist rm -fr "$basedir/dist"
for i in linux mac win linux-gui mac-gui win-gui; do mkdir -p $basedir/dist/$i; done for i in linux mac win linux-gui mac-gui win-gui; do mkdir -p "$basedir/dist/$i"; done
# create OS specific launchers which will bundle together the code and a minimal JVM # create OS specific launchers which will bundle together the code and a minimal JVM
for i in linux mac win; do for i in linux mac win; do
@ -39,27 +39,27 @@ for i in linux mac win; do
JAVA_HOME_VARIANT=${JAVA_HOME_WIN} ;; JAVA_HOME_VARIANT=${JAVA_HOME_WIN} ;;
esac esac
echo "Using JAVA_HOME_VARIANT: $JAVA_HOME_VARIANT" 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 --compress 2 --no-header-files --no-man-pages "$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 --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 --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 --compress 2 --no-header-files --no-man-pages
done done
for i in linux mac linux-gui mac-gui; do for i in linux mac linux-gui mac-gui; do
cp $basedir/resources/launch.sh $basedir/dist/$i/router/bin/ cp "$basedir/resources/launch.sh" "$basedir/dist/$i/router/bin/"
cp $basedir/resources/tunnel-control.sh $basedir/dist/$i/router/bin/ cp "$basedir/resources/tunnel-control.sh" "$basedir/dist/$i/router/bin/"
done done
for i in win win-gui; do for i in win win-gui; do
cp $basedir/resources/launch.bat $basedir/dist/$i/router/bin/ cp "$basedir/resources/launch.bat" "$basedir/dist/$i/router/bin/"
done done
for i in linux-gui mac-gui; do for i in linux-gui mac-gui; do
cp $basedir/resources/launch-gui.sh $basedir/dist/$i/router/bin/ cp "$basedir/resources/launch-gui.sh" "$basedir/dist/$i/router/bin/"
done done
for i in win-gui; do for i in win-gui; do
cp $basedir/resources/launch-gui.bat $basedir/dist/$i/router/bin/ cp "$basedir/resources/launch-gui.bat" "$basedir/dist/$i/router/bin/"
done 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 cp -r "$basedir/import/i2p.base" "$basedir/dist/$i/router/"; done
# remove unnecessary native libs from jbigi.jar # remove unnecessary native libs from jbigi.jar
for i in linux mac win; do for i in linux mac win; do
@ -67,24 +67,36 @@ for i in linux mac win; do
if [ "$i" != "$j" ]; then if [ "$i" != "$j" ]; then
if [ "$j" = "mac" ]; then j="osx"; fi if [ "$j" = "mac" ]; then j="osx"; fi
if [ "$j" = "win" ]; then j="windows"; fi if [ "$j" = "win" ]; then j="windows"; fi
zip -d $basedir/dist/$i/router/i2p.base/jbigi.jar *-${j}-* zip -d "$basedir/dist/$i/router/i2p.base/jbigi.jar" *-${j}-*
zip -d $basedir/dist/$i-gui/router/i2p.base/jbigi.jar *-${j}-* zip -d "$basedir/dist/$i-gui/router/i2p.base/jbigi.jar" *-${j}-*
fi fi
done done
done done
# build map app structure # build map app structure
mv $basedir/dist/mac-gui/router $basedir/dist/mac-gui/router-tmp mv "$basedir/dist/mac-gui/router" "$basedir/dist/mac-gui/router-tmp"
mkdir -p $basedir/dist/mac-gui/router/i2p-zero.app/Contents/MacOS/ mkdir -p "$basedir/dist/mac-gui/router/i2p-zero.app/Contents/MacOS/"
cp -R $basedir/resources/i2p-zero.app $basedir/dist/mac-gui/router/ cp -R "$basedir/resources/i2p-zero.app" "$basedir/dist/mac-gui/router/"
mv $basedir/dist/mac-gui/router-tmp/* $basedir/dist/mac-gui/router/i2p-zero.app/Contents/MacOS/ mv "$basedir/dist/mac-gui/router-tmp"/* "$basedir/dist/mac-gui/router/i2p-zero.app/Contents/MacOS/"
rm -fr $basedir/dist/mac-gui/router-tmp rm -fr "$basedir/dist/mac-gui/router-tmp"
# specify .desktop file so linux-gui can be launched via double-click # specify .desktop file so linux-gui can be launched via double-click
cp $basedir/resources/i2p-zero.desktop $basedir/dist/linux-gui/router/ cp "$basedir/resources/i2p-zero.desktop" "$basedir/dist/linux-gui/router/"
du -sk dist/* | awk '{printf "%.1f MB %s\n",$1/1024,$2}' du -sk dist/* | awk '{printf "%.1f MB %s\n",$1/1024,$2}'
echo "*** Done ***" echo "*** Done ***"
echo "To run, type: dist/linux/router/bin/launch.sh" os_name=`uname -s`
echo "To run the GUI, type: dist/linux-gui/router/bin/launch-gui.sh" if [ $os_name = Darwin ]; then
os_name=mac
echo "To run from the command line, type: ./dist/$os_name/router/bin/launch.sh"
echo "To run the GUI, double-click: dist/$os_name-gui/router/i2p-zero.app"
elif [ $os_name = Linux ]; then
os_name=linux
echo "To run from the command line, type: ./dist/$os_name/router/bin/launch.sh"
echo "To run the GUI, type: dist/$os_name-gui/router/bin/launch-gui.sh"
else
os_name=win
echo "To run from the command line, type: ./dist/$os_name/router/bin/launch.bat"
echo "To run the GUI, double-click: dist/$os_name-gui/router/bin/launch-gui.bat"
fi

@ -6,28 +6,28 @@ else
basedir=$(dirname $(dirname $(readlink -fm $0))) basedir=$(dirname $(dirname $(readlink -fm $0)))
fi fi
source $basedir/bin/java-config.sh source "$basedir/bin/java-config.sh"
cd $basedir/import cd "$basedir/import"
# build the jars we're going to modularize # build the jars we're going to modularize
cd $basedir/import/i2p.i2p cd "$basedir/import/i2p.i2p"
export LG2=en export LG2=en
$basedir/import/apache-ant-1.10.5/bin/ant buildRouter buildI2PTunnelJars buildSAM jbigi "$basedir"/import/apache-ant-1.10.5/bin/ant buildRouter buildI2PTunnelJars buildSAM jbigi
cd .. cd ..
# copy the jars that we're going to modularize # copy the jars that we're going to modularize
rm -fr $basedir/import/lib rm -fr "$basedir/import/lib"
mkdir -p $basedir/import/lib mkdir -p "$basedir/import/lib"
for i in i2ptunnel.jar i2p.jar mstreaming.jar router.jar sam.jar streaming.jar; do cp $basedir/import/i2p.i2p/build/$i $basedir/import/lib/; done for i in i2ptunnel.jar i2p.jar mstreaming.jar router.jar sam.jar streaming.jar; do cp "$basedir/import/i2p.i2p/build/$i" "$basedir/import/lib/"; done
# build a minimal i2p.base dir # build a minimal i2p.base dir
rm -fr $basedir/import/i2p.base rm -fr "$basedir/import/i2p.base"
mkdir -p $basedir/import/i2p.base mkdir -p "$basedir/import/i2p.base"
cp $basedir/import/i2p.i2p/LICENSE.txt $basedir/import/i2p.base/ cp "$basedir/import/i2p.i2p/LICENSE.txt" "$basedir/import/i2p.base/"
cp $basedir/import/i2p.i2p/build/jbigi.jar $basedir/import/i2p.base/ cp "$basedir/import/i2p.i2p/build/jbigi.jar" "$basedir/import/i2p.base/"
for i in blocklist.txt hosts.txt certificates; do cp -r $basedir/import/i2p.i2p/installer/resources/$i $basedir/import/i2p.base/; done for i in blocklist.txt hosts.txt certificates; do cp -r "$basedir/import/i2p.i2p/installer/resources/$i" "$basedir/import/i2p.base/"; done
mkdir -p $basedir/import/i2p.base/geoip mkdir -p "$basedir/import/i2p.base/geoip"
for i in continents.txt countries.txt; do cp -r $basedir/import/i2p.i2p/installer/resources/$i $basedir/import/i2p.base/geoip/; done for i in continents.txt countries.txt; do cp -r "$basedir/import/i2p.i2p/installer/resources/$i" "$basedir/import/i2p.base/geoip/"; done

@ -6,22 +6,22 @@ else
basedir=$(dirname $(dirname $(readlink -fm $0))) basedir=$(dirname $(dirname $(readlink -fm $0)))
fi fi
source $basedir/bin/java-config.sh source "$basedir/bin/java-config.sh"
jarPaths=`find $basedir/import/lib -name '*.jar'` jarPaths=`find "$basedir/import/lib" -name '*.jar'`
mkdir -p $basedir/target/modules mkdir -p "$basedir/target/modules"
rm -f $basedir/target/modules/* rm -f "$basedir/target/modules"/*
for jarPath in $jarPaths; do for jarPath in $jarPaths; do
moduleName=$(basename "${jarPath%.*}") moduleName=$(basename "${jarPath%.*}")
echo "*** Determining dependencies for $moduleName" echo "*** Determining dependencies for $moduleName"
$JAVA_HOME/bin/jdeps --module-path $basedir/import/lib --add-modules=ALL-MODULE-PATH --generate-module-info $basedir/target/module-info $jarPath "$JAVA_HOME"/bin/jdeps --module-path "$basedir/import/lib" --add-modules=ALL-MODULE-PATH --generate-module-info "$basedir/target/module-info" "$jarPath"
done done
for jarPath in $jarPaths; do for jarPath in $jarPaths; do
moduleName=$(basename "${jarPath%.*}") moduleName=$(basename "${jarPath%.*}")
echo "*** Creating new modular jar for $moduleName" echo "*** Creating new modular jar for $moduleName"
$JAVA_HOME/bin/javac --module-path $basedir/import/lib --patch-module $moduleName=$jarPath $basedir/target/module-info/$moduleName/module-info.java "$JAVA_HOME"/bin/javac --module-path "$basedir/import/lib" --patch-module $moduleName=$jarPath $basedir/target/module-info/$moduleName/module-info.java
cp $jarPath $basedir/target/modules/ cp $jarPath "$basedir/target/modules/"
$JAVA_HOME/bin/jar uf $basedir/target/modules/${moduleName}.jar -C $basedir/target/module-info/$moduleName module-info.class "$JAVA_HOME"/bin/jar uf "$basedir/target/modules/${moduleName}.jar" -C "$basedir/target/module-info/$moduleName" module-info.class
done done

@ -6,16 +6,16 @@ else
basedir=$(dirname $(dirname $(readlink -fm $0))) basedir=$(dirname $(dirname $(readlink -fm $0)))
fi fi
source $basedir/bin/java-config.sh source "$basedir/bin/java-config.sh"
mkdir -p $basedir/import mkdir -p "$basedir/import"
cd $basedir/import cd "$basedir/import"
if [ ! -d "$basedir/import/i2p.i2p" ]; then if [ ! -d "$basedir/import/i2p.i2p" ]; then
git clone https://github.com/i2p/i2p.i2p.git git clone https://github.com/i2p/i2p.i2p.git
fi fi
cd $basedir/import/i2p.i2p cd "$basedir/import/i2p.i2p"
git fetch git fetch
git checkout tags/i2p-0.9.38 git checkout tags/i2p-0.9.38
cd .. cd ..
@ -62,6 +62,3 @@ if [ ! -d "$basedir/import/javafx-jmods" ]; then
unzip javafx-jmods/win/$JAVAFX_JMODS_DOWNLOAD_FILENAME_WIN -d javafx-jmods/win/ unzip javafx-jmods/win/$JAVAFX_JMODS_DOWNLOAD_FILENAME_WIN -d javafx-jmods/win/
fi fi

@ -6,4 +6,4 @@ else
basedir=$(dirname $(dirname $(readlink -fm $0))) basedir=$(dirname $(dirname $(readlink -fm $0)))
fi fi
$basedir/bin/java -cp $basedir/i2p.base/jbigi.jar -m org.getmonero.i2p.zero.gui --i2p.dir.base.template=$basedir/i2p.base "$basedir"/bin/java -cp "$basedir/i2p.base/jbigi.jar" -m org.getmonero.i2p.zero.gui --i2p.dir.base.template="$basedir/i2p.base"

@ -6,4 +6,4 @@ else
basedir=$(dirname $(dirname $(readlink -fm $0))) basedir=$(dirname $(dirname $(readlink -fm $0)))
fi fi
$basedir/bin/java -cp $basedir/i2p.base/jbigi.jar -m org.getmonero.i2p.zero --i2p.dir.base.template=$basedir/i2p.base "$basedir"/bin/java -cp "$basedir/i2p.base/jbigi.jar" -m org.getmonero.i2p.zero --i2p.dir.base.template="$basedir/i2p.base"

Loading…
Cancel
Save