mirror of
https://github.com/wownero/i2p-zero.git
synced 2026-10-17 15:21:40 +02:00
Merge pull request #38 from Malinero/single
Option to not build all platforms
This commit is contained in:
+57
-46
@@ -27,34 +27,35 @@ echo "*** Packaging GUI as a modular jar"
|
||||
"$JAVA_HOME"/bin/jar --create --file "$basedir/target/org.getmonero.i2p.zero.gui.jar" --main-class org.getmonero.i2p.zero.gui.Gui -C "$basedir/target/classes/org.getmonero.i2p.zero.gui" .
|
||||
normalizeZip "$basedir/target/org.getmonero.i2p.zero.gui.jar"
|
||||
|
||||
rm -fr "$basedir/dist"
|
||||
for i in linux mac win linux-gui mac-gui win-gui; do mkdir -p "$basedir/dist/$i"; done
|
||||
for target in ${TARGETS}; do
|
||||
for i in ${target} ${target}-gui; do
|
||||
rm -fr "$basedir/dist/$i"
|
||||
mkdir -p "$basedir/dist/$i"
|
||||
done
|
||||
done
|
||||
|
||||
# create OS specific launchers which will bundle together the code and a minimal JVM
|
||||
for i in linux mac win; do
|
||||
for i in ${TARGETS}; do
|
||||
echo "*** Performing jlink ($i)"
|
||||
|
||||
case $i in
|
||||
linux )
|
||||
JAVA_HOME_VARIANT=${JAVA_HOME_LINUX} ;;
|
||||
mac )
|
||||
JAVA_HOME_VARIANT=${JAVA_HOME_MAC} ;;
|
||||
win )
|
||||
JAVA_HOME_VARIANT=${JAVA_HOME_WIN} ;;
|
||||
esac
|
||||
JAVA_HOME_VARIANT=$basedir/import/jdks/${i}/${variables["JAVA_HOME_$i"]}
|
||||
echo "Using JAVA_HOME_VARIANT: $JAVA_HOME_VARIANT"
|
||||
"$JAVA_HOME"/bin/jlink --module-path "${JAVA_HOME_VARIANT}/jmods":"$basedir/target/modules":"$basedir/target/org.getmonero.i2p.zero.jar" --add-modules combined,org.getmonero.i2p.zero --output "$basedir/dist/$i/router" --compress 2 --no-header-files --no-man-pages --order-resources=**/module-info.class,/java.base/java/lang/**,**javafx**
|
||||
"$JAVA_HOME"/bin/jlink --module-path "${JAVA_HOME_VARIANT}/jmods":"$basedir/import/javafx-jmods/$i/javafx-jmods-${JAVAFX_VERSION}":"$basedir/target/modules":"$basedir/target/org.getmonero.i2p.zero.jar":"$basedir/target/org.getmonero.i2p.zero.gui.jar" --add-modules combined,org.getmonero.i2p.zero,org.getmonero.i2p.zero.gui,javafx.controls,javafx.fxml,java.desktop --output "$basedir/dist/$i-gui/router" --compress 2 --no-header-files --no-man-pages --order-resources=**/module-info.class,/java.base/java/lang/**,**javafx**
|
||||
done
|
||||
|
||||
for i in mac-gui; do
|
||||
cp "$basedir/resources/launch-gui.sh" "$basedir/dist/$i/router/bin/"
|
||||
if [[ "$TARGETS" =~ "mac" ]]; then
|
||||
cp "$basedir/resources/launch-gui.sh" "$basedir/dist/mac-gui/router/bin/"
|
||||
fi
|
||||
|
||||
for target in ${TARGETS}; do
|
||||
for i in ${target} ${target}-gui; do
|
||||
cp -r "$basedir/import/i2p.base" "$basedir/dist/$i/router/";
|
||||
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
|
||||
|
||||
# remove unnecessary native libs from jbigi.jar
|
||||
for i in linux mac win; do
|
||||
for i in ${TARGETS}; do
|
||||
for j in freebsd linux mac win; do
|
||||
if [ "$i" != "$j" ]; then
|
||||
if [ "$j" = "mac" ]; then j="osx"; fi
|
||||
@@ -67,45 +68,55 @@ for i in linux mac win; do
|
||||
done
|
||||
|
||||
|
||||
|
||||
# build mac gui app structure
|
||||
mv "$basedir/dist/mac-gui/router" "$basedir/dist/mac-gui/router-tmp"
|
||||
mkdir -p "$basedir/dist/mac-gui/router/i2p-zero.app/Contents/MacOS/"
|
||||
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/"
|
||||
rm -fr "$basedir/dist/mac-gui/router-tmp"
|
||||
if [[ "$TARGETS" =~ "mac" ]]; then
|
||||
mv "$basedir/dist/mac-gui/router" "$basedir/dist/mac-gui/router-tmp"
|
||||
mkdir -p "$basedir/dist/mac-gui/router/i2p-zero.app/Contents/MacOS/"
|
||||
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/"
|
||||
rm -fr "$basedir/dist/mac-gui/router-tmp"
|
||||
fi
|
||||
|
||||
|
||||
# build linux and linux-gui app structure
|
||||
for i in linux linux-gui; do
|
||||
mv "$basedir/dist/$i/router" "$basedir/dist/$i/router-tmp"
|
||||
mkdir -p "$basedir/dist/$i/router/bin"
|
||||
mkdir -p "$basedir/dist/$i/router/lib"
|
||||
cp "$basedir/import/jpackage/linux/classes/jdk/incubator/jpackage/internal/resources/jpackageapplauncher" "$basedir/dist/$i/router/bin/i2p-zero"
|
||||
chmod +x "$basedir/dist/$i/router/bin/i2p-zero"
|
||||
mkdir -p "$basedir/dist/$i/router/lib/app"
|
||||
cp "$basedir/resources/i2p-zero.$i.cfg" "$basedir/dist/$i/router/lib/app/i2p-zero.cfg"
|
||||
mv "$basedir/dist/$i/router-tmp" "$basedir/dist/$i/router/lib/runtime"
|
||||
cp "$basedir/import/jpackage/linux/classes/jdk/incubator/jpackage/internal/resources/libapplauncher.so" "$basedir/dist/$i/router/lib/"
|
||||
done
|
||||
if [[ "$TARGETS" =~ "linux" ]]; then
|
||||
for i in linux linux-gui; do
|
||||
mv "$basedir/dist/$i/router" "$basedir/dist/$i/router-tmp"
|
||||
mkdir -p "$basedir/dist/$i/router/bin"
|
||||
mkdir -p "$basedir/dist/$i/router/lib"
|
||||
cp "$basedir/import/jpackage/linux/classes/jdk/incubator/jpackage/internal/resources/jpackageapplauncher" "$basedir/dist/$i/router/bin/i2p-zero"
|
||||
chmod +x "$basedir/dist/$i/router/bin/i2p-zero"
|
||||
mkdir -p "$basedir/dist/$i/router/lib/app"
|
||||
cp "$basedir/resources/i2p-zero.$i.cfg" "$basedir/dist/$i/router/lib/app/i2p-zero.cfg"
|
||||
mv "$basedir/dist/$i/router-tmp" "$basedir/dist/$i/router/lib/runtime"
|
||||
cp "$basedir/import/jpackage/linux/classes/jdk/incubator/jpackage/internal/resources/libapplauncher.so" "$basedir/dist/$i/router/lib/"
|
||||
done
|
||||
|
||||
cp "$basedir/i2p-zero.png" "$basedir/dist/linux-gui/router/lib/"
|
||||
fi
|
||||
|
||||
cp "$basedir/i2p-zero.png" "$basedir/dist/linux-gui/router/lib/"
|
||||
|
||||
# build win and win-gui app structure
|
||||
for i in win win-gui; do
|
||||
mv "$basedir/dist/$i/router" "$basedir/dist/$i/router-tmp"
|
||||
mkdir -p "$basedir/dist/$i/router/app"
|
||||
cp "$basedir/resources/i2p-zero.$i.cfg" "$basedir/dist/$i/router/app/i2p-zero.cfg"
|
||||
mv "$basedir/dist/$i/router-tmp" "$basedir/dist/$i/router/runtime"
|
||||
cp "$basedir/resources/launcher.exe" "$basedir/dist/$i/router/i2p-zero.exe"
|
||||
cp "$basedir/import/jpackage/win/classes/jdk/incubator/jpackage/internal/resources/applauncher.dll" "$basedir/dist/$i/router/"
|
||||
if [[ "$TARGETS" =~ "win" ]]; then
|
||||
for i in win win-gui; do
|
||||
mv "$basedir/dist/$i/router" "$basedir/dist/$i/router-tmp"
|
||||
mkdir -p "$basedir/dist/$i/router/app"
|
||||
cp "$basedir/resources/i2p-zero.$i.cfg" "$basedir/dist/$i/router/app/i2p-zero.cfg"
|
||||
mv "$basedir/dist/$i/router-tmp" "$basedir/dist/$i/router/runtime"
|
||||
cp "$basedir/resources/launcher.exe" "$basedir/dist/$i/router/i2p-zero.exe"
|
||||
cp "$basedir/import/jpackage/win/classes/jdk/incubator/jpackage/internal/resources/applauncher.dll" "$basedir/dist/$i/router/"
|
||||
done
|
||||
fi
|
||||
|
||||
for i in ${TARGETS}; do
|
||||
if [ ${i} != "win" ]; then
|
||||
cp "$basedir/resources/tunnel-control.sh" "$basedir/dist/$i/router/bin/"
|
||||
fi
|
||||
done
|
||||
|
||||
for i in linux mac; do
|
||||
cp "$basedir/resources/tunnel-control.sh" "$basedir/dist/$i/router/bin/"
|
||||
done
|
||||
|
||||
cp "$basedir/resources/launch.sh" "$basedir/dist/mac/router/bin/"
|
||||
if [[ "$TARGETS" =~ "mac" ]]; then
|
||||
cp "$basedir/resources/launch.sh" "$basedir/dist/mac/router/bin/"
|
||||
fi
|
||||
|
||||
# show distribution sizes
|
||||
du -sk "$basedir/dist/"* | awk '{printf "%.1f MB %s\n",$1/1024,$2}'
|
||||
|
||||
+33
-43
@@ -29,17 +29,15 @@ else
|
||||
fi
|
||||
|
||||
|
||||
if [ ! -d "$basedir/import/jdks" ]; then
|
||||
mkdir -p jdks
|
||||
mkdir -p jdks/linux jdks/mac jdks/win
|
||||
wget --directory-prefix=jdks/linux $JDK_DOWNLOAD_URL_LINUX
|
||||
wget --directory-prefix=jdks/mac $JDK_DOWNLOAD_URL_MAC
|
||||
wget --directory-prefix=jdks/win $JDK_DOWNLOAD_URL_WIN
|
||||
for target in ${TARGETS};do
|
||||
if [ ! -d "$basedir/import/jdks/${target}" ]; then
|
||||
mkdir -p jdks/${target}
|
||||
|
||||
tar zxf jdks/linux/$JDK_DOWNLOAD_FILENAME_LINUX -C jdks/linux/
|
||||
tar zxf jdks/mac/$JDK_DOWNLOAD_FILENAME_MAC -C jdks/mac/
|
||||
unzip -q jdks/win/$JDK_DOWNLOAD_FILENAME_WIN -d jdks/win/
|
||||
fi
|
||||
JDK_FILENAME=${variables["JDK_DOWNLOAD_FILENAME_$target"]}
|
||||
wget --directory-prefix=jdks/${target} "https://github.com/AdoptOpenJDK/openjdk${JDK_MAJOR_VERSION}-binaries/releases/download/jdk-${JDK_VERSION_URL_ENC}/${JDK_FILENAME}"
|
||||
${variables["DECOMPRESS_$target"]} jdks/${target}/${JDK_FILENAME}
|
||||
fi
|
||||
done;
|
||||
|
||||
if [ ! -d "$basedir/import/apache-ant-1.10.7" ]; then
|
||||
wget https://archive.apache.org/dist/ant/binaries/apache-ant-1.10.7-bin.tar.gz
|
||||
@@ -68,38 +66,30 @@ if [ ! -d "$basedir/import/jetty-lib" ]; then
|
||||
wget --directory-prefix=jetty-lib https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-jmx/9.4.26.v20200117/jetty-jmx-9.4.26.v20200117.jar
|
||||
fi
|
||||
|
||||
if [ ! -d "$basedir/import/javafx-sdks" ]; then
|
||||
mkdir -p javafx-sdks
|
||||
mkdir -p javafx-sdks/linux javafx-sdks/mac javafx-sdks/win
|
||||
for target in ${TARGETS};do
|
||||
if [ ! -d "$basedir/import/javafx-sdks/${target}" ]; then
|
||||
mkdir -p javafx-sdks/${target}
|
||||
SDK_FILENAME=${variables["JAVAFX_SDK_FILENAME_$target"]}
|
||||
wget --directory-prefix=javafx-sdks/${target} https://download2.gluonhq.com/openjfx/$JAVAFX_VERSION/${SDK_FILENAME}
|
||||
unzip -q javafx-sdks/${target}/${SDK_FILENAME} -d javafx-sdks/${target}/
|
||||
fi
|
||||
done;
|
||||
|
||||
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 -q javafx-sdks/linux/`basename $JAVAFX_SDK_DOWNLOAD_URL_LINUX` -d javafx-sdks/linux/
|
||||
unzip -q javafx-sdks/mac/`basename $JAVAFX_SDK_DOWNLOAD_URL_MAC` -d javafx-sdks/mac/
|
||||
unzip -q javafx-sdks/win/`basename $JAVAFX_SDK_DOWNLOAD_URL_WIN` -d javafx-sdks/win/
|
||||
fi
|
||||
|
||||
if [ ! -d "$basedir/import/javafx-jmods" ]; then
|
||||
mkdir -p javafx-jmods
|
||||
mkdir -p javafx-jmods/linux javafx-jmods/mac javafx-jmods/win
|
||||
wget --directory-prefix=javafx-jmods/linux $JAVAFX_JMODS_DOWNLOAD_URL_LINUX
|
||||
wget --directory-prefix=javafx-jmods/mac $JAVAFX_JMODS_DOWNLOAD_URL_MAC
|
||||
wget --directory-prefix=javafx-jmods/win $JAVAFX_JMODS_DOWNLOAD_URL_WIN
|
||||
|
||||
set +e
|
||||
unzip -q javafx-jmods/linux/$JAVAFX_JMODS_DOWNLOAD_FILENAME_LINUX -d javafx-jmods/linux/
|
||||
unzip -q javafx-jmods/mac/$JAVAFX_JMODS_DOWNLOAD_FILENAME_MAC -d javafx-jmods/mac/
|
||||
unzip -q javafx-jmods/win/$JAVAFX_JMODS_DOWNLOAD_FILENAME_WIN -d javafx-jmods/win/
|
||||
set -e
|
||||
fi
|
||||
|
||||
if [ ! -d "$basedir/import/jpackage" ]; then
|
||||
mkdir -p jpackage/linux jpackage/win
|
||||
set +e
|
||||
unzip -q $JAVA_HOME_LINUX/jmods/jdk.incubator.jpackage.jmod -d jpackage/linux/
|
||||
unzip -q $JAVA_HOME_WIN/jmods/jdk.incubator.jpackage.jmod -d jpackage/win/
|
||||
set -e
|
||||
fi
|
||||
for target in ${TARGETS};do
|
||||
if [ ! -d "$basedir/import/javafx-jmods/${target}" ]; then
|
||||
mkdir -p javafx-jmods/${target}
|
||||
wget --directory-prefix=javafx-jmods/${target} https://download2.gluonhq.com/openjfx/$JAVAFX_VERSION/${variables["JAVAFX_JMODS_FILENAME_$target"]}
|
||||
set +e
|
||||
unzip -q javafx-jmods/${target}/${variables["JAVAFX_JMODS_FILENAME_$target"]} -d javafx-jmods/${target}/
|
||||
set -e
|
||||
fi
|
||||
done;
|
||||
|
||||
for target in ${TARGETS};do
|
||||
if [ ${target} != "mac" ] && [ ! -d "$basedir/import/jpackage/${target}" ]; then
|
||||
mkdir -p jpackage/${target}
|
||||
set +e
|
||||
unzip -q jdks/${target}/${variables["JAVA_HOME_$target"]}/jmods/jdk.incubator.jpackage.jmod -d jpackage/${target}/
|
||||
set -e
|
||||
fi
|
||||
done;
|
||||
|
||||
+21
-22
@@ -10,43 +10,42 @@ fi
|
||||
|
||||
export JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF8
|
||||
|
||||
: "${TARGETS:="linux mac win"}"
|
||||
declare -A variables=()
|
||||
|
||||
# Get latest JDK version from https://adoptopenjdk.net/releases.html?variant=openjdk15&jvmVariant=hotspot
|
||||
JDK_VERSION=14.0.2+12
|
||||
JDK_MAJOR_VERSION=`echo $JDK_VERSION | cut -f1 -d"." | cut -f1 -d+`
|
||||
JDK_VERSION_URL_ENC=`echo "$JDK_VERSION" | sed 's/+/%2B/g'`
|
||||
JDK_VERSION_URL_ENC2=`echo "$JDK_VERSION" | sed 's/+/_/g'`
|
||||
JDK_DOWNLOAD_URL_LINUX=https://github.com/AdoptOpenJDK/openjdk${JDK_MAJOR_VERSION}-binaries/releases/download/jdk-${JDK_VERSION_URL_ENC}/OpenJDK${JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${JDK_VERSION_URL_ENC2}.tar.gz
|
||||
JDK_DOWNLOAD_URL_MAC=https://github.com/AdoptOpenJDK/openjdk${JDK_MAJOR_VERSION}-binaries/releases/download/jdk-${JDK_VERSION_URL_ENC}/OpenJDK${JDK_MAJOR_VERSION}U-jdk_x64_mac_hotspot_${JDK_VERSION_URL_ENC2}.tar.gz
|
||||
JDK_DOWNLOAD_URL_WIN=https://github.com/AdoptOpenJDK/openjdk${JDK_MAJOR_VERSION}-binaries/releases/download/jdk-${JDK_VERSION_URL_ENC}/OpenJDK${JDK_MAJOR_VERSION}U-jdk_x64_windows_hotspot_${JDK_VERSION_URL_ENC2}.zip
|
||||
|
||||
JDK_DOWNLOAD_FILENAME_LINUX="${JDK_DOWNLOAD_URL_LINUX##*/}"
|
||||
JDK_DOWNLOAD_FILENAME_MAC="${JDK_DOWNLOAD_URL_MAC##*/}"
|
||||
JDK_DOWNLOAD_FILENAME_WIN="${JDK_DOWNLOAD_URL_WIN##*/}"
|
||||
variables["JDK_DOWNLOAD_FILENAME_linux"]="OpenJDK${JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${JDK_VERSION_URL_ENC2}.tar.gz"
|
||||
variables["JDK_DOWNLOAD_FILENAME_mac"]="OpenJDK${JDK_MAJOR_VERSION}U-jdk_x64_mac_hotspot_${JDK_VERSION_URL_ENC2}.tar.gz"
|
||||
variables["JDK_DOWNLOAD_FILENAME_win"]="OpenJDK${JDK_MAJOR_VERSION}U-jdk_x64_windows_hotspot_${JDK_VERSION_URL_ENC2}.zip"
|
||||
|
||||
JAVA_HOME_LINUX=$basedir/import/jdks/linux/jdk-$JDK_VERSION
|
||||
JAVA_HOME_MAC=$basedir/import/jdks/mac/jdk-$JDK_VERSION/Contents/Home
|
||||
JAVA_HOME_WIN=$basedir/import/jdks/win/jdk-$JDK_VERSION
|
||||
variables["JAVA_HOME_linux"]="jdk-$JDK_VERSION"
|
||||
variables["JAVA_HOME_mac"]="jdk-$JDK_VERSION/Contents/Home"
|
||||
variables["JAVA_HOME_win"]="jdk-$JDK_VERSION"
|
||||
|
||||
# JavaFX from https://gluonhq.com/products/javafx/
|
||||
JAVAFX_VERSION=15.0.1
|
||||
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_VERSION="15.0.1"
|
||||
|
||||
JAVAFX_JMODS_DOWNLOAD_URL_LINUX=https://download2.gluonhq.com/openjfx/$JAVAFX_VERSION/openjfx-${JAVAFX_VERSION}_linux-x64_bin-jmods.zip
|
||||
JAVAFX_JMODS_DOWNLOAD_URL_MAC=https://download2.gluonhq.com/openjfx/$JAVAFX_VERSION/openjfx-${JAVAFX_VERSION}_osx-x64_bin-jmods.zip
|
||||
JAVAFX_JMODS_DOWNLOAD_URL_WIN=https://download2.gluonhq.com/openjfx/$JAVAFX_VERSION/openjfx-${JAVAFX_VERSION}_windows-x64_bin-jmods.zip
|
||||
variables["JAVAFX_SDK_FILENAME_linux"]="openjfx-${JAVAFX_VERSION}_linux-x64_bin-sdk.zip"
|
||||
variables["JAVAFX_SDK_FILENAME_mac"]="openjfx-${JAVAFX_VERSION}_osx-x64_bin-sdk.zip"
|
||||
variables["JAVAFX_SDK_FILENAME_win"]="openjfx-${JAVAFX_VERSION}_windows-x64_bin-sdk.zip"
|
||||
|
||||
JAVAFX_JMODS_DOWNLOAD_FILENAME_LINUX=openjfx-${JAVAFX_VERSION}_linux-x64_bin-jmods.zip
|
||||
JAVAFX_JMODS_DOWNLOAD_FILENAME_MAC=openjfx-${JAVAFX_VERSION}_osx-x64_bin-jmods.zip
|
||||
JAVAFX_JMODS_DOWNLOAD_FILENAME_WIN=openjfx-${JAVAFX_VERSION}_windows-x64_bin-jmods.zip
|
||||
variables["JAVAFX_JMODS_FILENAME_linux"]="openjfx-${JAVAFX_VERSION}_linux-x64_bin-jmods.zip"
|
||||
variables["JAVAFX_JMODS_FILENAME_mac"]="openjfx-${JAVAFX_VERSION}_osx-x64_bin-jmods.zip"
|
||||
variables["JAVAFX_JMODS_FILENAME_win"]="openjfx-${JAVAFX_VERSION}_windows-x64_bin-jmods.zip"
|
||||
|
||||
variables["DECOMPRESS_linux"]="tar -C jdks/linux -zxf"
|
||||
variables["DECOMPRESS_mac"]="tar -C jdks/mac -zxf"
|
||||
variables["DECOMPRESS_win"]="unzip -q -d jdks/win"
|
||||
|
||||
OS=`uname -s`
|
||||
if [ $OS = "Darwin" ]; then
|
||||
export JAVA_HOME=$JAVA_HOME_MAC
|
||||
export JAVA_HOME=$basedir/import/jdks/mac/${variables["JAVA_HOME_mac"]}
|
||||
else
|
||||
export JAVA_HOME=$JAVA_HOME_LINUX
|
||||
export JAVA_HOME=$basedir/import/jdks/linux/${variables["JAVA_HOME_linux"]}
|
||||
fi
|
||||
|
||||
# get the SHA-256 hash of the specified file
|
||||
|
||||
+13
-10
@@ -20,7 +20,10 @@ mkdir -p "$basedir/dist-zip"
|
||||
|
||||
cd "$basedir/dist"
|
||||
|
||||
for i in linux linux-gui mac mac-gui win win-gui; do cp -r ${i} "$basedir"/dist-zip-staging/i2p-zero-${i}.v${VERSION}; done
|
||||
for i in ${TARGETS}; do
|
||||
cp -r ${i} "$basedir"/dist-zip-staging/i2p-zero-${i}.v${VERSION}
|
||||
cp -r ${i}-gui "$basedir"/dist-zip-staging/i2p-zero-${i}-gui.v${VERSION}
|
||||
done
|
||||
|
||||
versionDate=`date -r "$basedir"/org.getmonero.i2p.zero/src/org/getmonero/i2p/zero/VERSION +"%Y%m%d%H%M.%S"`
|
||||
|
||||
@@ -28,9 +31,11 @@ find "$basedir"/dist-zip-staging -exec touch -t $versionDate {} \;
|
||||
|
||||
cd "$basedir/dist-zip-staging"
|
||||
|
||||
for i in linux linux-gui mac mac-gui win win-gui; do
|
||||
zip -r9 "$basedir"/dist-zip/i2p-zero-${i}.v${VERSION}.zip i2p-zero-${i}.v${VERSION}
|
||||
normalizeZip "$basedir"/dist-zip/i2p-zero-${i}.v${VERSION}.zip
|
||||
for i in ${TARGETS}; do
|
||||
for j in "" "-gui"; do
|
||||
zip -r9 "$basedir"/dist-zip/i2p-zero-${i}${j}.v${VERSION}.zip i2p-zero-${i}${j}.v${VERSION}
|
||||
normalizeZip "$basedir"/dist-zip/i2p-zero-${i}${j}.v${VERSION}.zip
|
||||
done
|
||||
done
|
||||
|
||||
cd ..
|
||||
@@ -49,12 +54,10 @@ getFileSizeMB () {
|
||||
|
||||
print4ColsJustified "OS" "Uncompressed size (MB)" "Compressed size (MB)" "v$VERSION Reproducible build SHA-256"
|
||||
print4ColsJustified "------------------------" "------------------------" "------------------------" "------------------------------------------------------------------"
|
||||
print4ColsJustified "Mac" "`getFileSizeMB $basedir/dist/mac`" "`getFileSizeMB $basedir/dist-zip/i2p-zero-mac.v${VERSION}.zip`" "\``getHash $basedir/dist-zip/i2p-zero-mac.v${VERSION}.zip`\`"
|
||||
print4ColsJustified "Windows" "`getFileSizeMB $basedir/dist/win`" "`getFileSizeMB $basedir/dist-zip/i2p-zero-win.v${VERSION}.zip`" "\``getHash $basedir/dist-zip/i2p-zero-win.v${VERSION}.zip`\`"
|
||||
print4ColsJustified "Linux" "`getFileSizeMB $basedir/dist/linux`" "`getFileSizeMB $basedir/dist-zip/i2p-zero-linux.v${VERSION}.zip`" "\``getHash $basedir/dist-zip/i2p-zero-linux.v${VERSION}.zip`\`"
|
||||
print4ColsJustified "Mac GUI" "`getFileSizeMB $basedir/dist/mac-gui`" "`getFileSizeMB $basedir/dist-zip/i2p-zero-mac-gui.v${VERSION}.zip`" "\``getHash $basedir/dist-zip/i2p-zero-mac-gui.v${VERSION}.zip`\`"
|
||||
print4ColsJustified "Windows GUI" "`getFileSizeMB $basedir/dist/win-gui`" "`getFileSizeMB $basedir/dist-zip/i2p-zero-win-gui.v${VERSION}.zip`" "\``getHash $basedir/dist-zip/i2p-zero-win-gui.v${VERSION}.zip`\`"
|
||||
print4ColsJustified "Linux GUI" "`getFileSizeMB $basedir/dist/linux-gui`" "`getFileSizeMB $basedir/dist-zip/i2p-zero-linux-gui.v${VERSION}.zip`" "\``getHash $basedir/dist-zip/i2p-zero-linux-gui.v${VERSION}.zip`\`"
|
||||
for i in ${TARGETS}; do
|
||||
print4ColsJustified "${i}" "`getFileSizeMB $basedir/dist/${i}`" "`getFileSizeMB $basedir/dist-zip/i2p-zero-${i}.v${VERSION}.zip`" "\``getHash $basedir/dist-zip/i2p-zero-${i}.v${VERSION}.zip`\`"
|
||||
print4ColsJustified "${i} GUI" "`getFileSizeMB $basedir/dist/${i}-gui`" "`getFileSizeMB $basedir/dist-zip/i2p-zero-${i}-gui.v${VERSION}.zip`" "\``getHash $basedir/dist-zip/i2p-zero-${i}-gui.v${VERSION}.zip`\`"
|
||||
done
|
||||
|
||||
echo ""
|
||||
echo "Note: Reproducible builds are currently experimental. Due to JDK differences, Builds on Mac will consistently have different hashes than builds on Linux. Official releases will always be built using Docker."
|
||||
Reference in New Issue
Block a user