Merge pull request #38 from Malinero/single

Option to not build all platforms
master
knaccc 3 years ago committed by GitHub
commit 5d1fb68a73
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -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" . "$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" normalizeZip "$basedir/target/org.getmonero.i2p.zero.gui.jar"
rm -fr "$basedir/dist" for target in ${TARGETS}; do
for i in linux mac win linux-gui mac-gui win-gui; do mkdir -p "$basedir/dist/$i"; done 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 # 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)" echo "*** Performing jlink ($i)"
case $i in JAVA_HOME_VARIANT=$basedir/import/jdks/${i}/${variables["JAVA_HOME_$i"]}
linux )
JAVA_HOME_VARIANT=${JAVA_HOME_LINUX} ;;
mac )
JAVA_HOME_VARIANT=${JAVA_HOME_MAC} ;;
win )
JAVA_HOME_VARIANT=${JAVA_HOME_WIN} ;;
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":"$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/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** "$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 done
for i in mac-gui; do if [[ "$TARGETS" =~ "mac" ]]; then
cp "$basedir/resources/launch-gui.sh" "$basedir/dist/$i/router/bin/" cp "$basedir/resources/launch-gui.sh" "$basedir/dist/mac-gui/router/bin/"
done fi
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 target in ${TARGETS}; do
for i in ${target} ${target}-gui; do
cp -r "$basedir/import/i2p.base" "$basedir/dist/$i/router/";
done
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 ${TARGETS}; do
for j in freebsd linux mac win; do for j in freebsd 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
@ -67,45 +68,55 @@ for i in linux mac win; do
done done
# build mac gui app structure # build mac gui app structure
mv "$basedir/dist/mac-gui/router" "$basedir/dist/mac-gui/router-tmp" if [[ "$TARGETS" =~ "mac" ]]; then
mkdir -p "$basedir/dist/mac-gui/router/i2p-zero.app/Contents/MacOS/" mv "$basedir/dist/mac-gui/router" "$basedir/dist/mac-gui/router-tmp"
cp -R "$basedir/resources/i2p-zero.app" "$basedir/dist/mac-gui/router/" mkdir -p "$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/" cp -R "$basedir/resources/i2p-zero.app" "$basedir/dist/mac-gui/router/"
rm -fr "$basedir/dist/mac-gui/router-tmp" 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 # build linux and linux-gui app structure
for i in linux linux-gui; do if [[ "$TARGETS" =~ "linux" ]]; then
mv "$basedir/dist/$i/router" "$basedir/dist/$i/router-tmp" for i in linux linux-gui; do
mkdir -p "$basedir/dist/$i/router/bin" mv "$basedir/dist/$i/router" "$basedir/dist/$i/router-tmp"
mkdir -p "$basedir/dist/$i/router/lib" mkdir -p "$basedir/dist/$i/router/bin"
cp "$basedir/import/jpackage/linux/classes/jdk/incubator/jpackage/internal/resources/jpackageapplauncher" "$basedir/dist/$i/router/bin/i2p-zero" mkdir -p "$basedir/dist/$i/router/lib"
chmod +x "$basedir/dist/$i/router/bin/i2p-zero" cp "$basedir/import/jpackage/linux/classes/jdk/incubator/jpackage/internal/resources/jpackageapplauncher" "$basedir/dist/$i/router/bin/i2p-zero"
mkdir -p "$basedir/dist/$i/router/lib/app" chmod +x "$basedir/dist/$i/router/bin/i2p-zero"
cp "$basedir/resources/i2p-zero.$i.cfg" "$basedir/dist/$i/router/lib/app/i2p-zero.cfg" mkdir -p "$basedir/dist/$i/router/lib/app"
mv "$basedir/dist/$i/router-tmp" "$basedir/dist/$i/router/lib/runtime" cp "$basedir/resources/i2p-zero.$i.cfg" "$basedir/dist/$i/router/lib/app/i2p-zero.cfg"
cp "$basedir/import/jpackage/linux/classes/jdk/incubator/jpackage/internal/resources/libapplauncher.so" "$basedir/dist/$i/router/lib/" mv "$basedir/dist/$i/router-tmp" "$basedir/dist/$i/router/lib/runtime"
done 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 # build win and win-gui app structure
for i in win win-gui; do if [[ "$TARGETS" =~ "win" ]]; then
mv "$basedir/dist/$i/router" "$basedir/dist/$i/router-tmp" for i in win win-gui; do
mkdir -p "$basedir/dist/$i/router/app" mv "$basedir/dist/$i/router" "$basedir/dist/$i/router-tmp"
cp "$basedir/resources/i2p-zero.$i.cfg" "$basedir/dist/$i/router/app/i2p-zero.cfg" mkdir -p "$basedir/dist/$i/router/app"
mv "$basedir/dist/$i/router-tmp" "$basedir/dist/$i/router/runtime" cp "$basedir/resources/i2p-zero.$i.cfg" "$basedir/dist/$i/router/app/i2p-zero.cfg"
cp "$basedir/resources/launcher.exe" "$basedir/dist/$i/router/i2p-zero.exe" mv "$basedir/dist/$i/router-tmp" "$basedir/dist/$i/router/runtime"
cp "$basedir/import/jpackage/win/classes/jdk/incubator/jpackage/internal/resources/applauncher.dll" "$basedir/dist/$i/router/" cp "$basedir/resources/launcher.exe" "$basedir/dist/$i/router/i2p-zero.exe"
done cp "$basedir/import/jpackage/win/classes/jdk/incubator/jpackage/internal/resources/applauncher.dll" "$basedir/dist/$i/router/"
done
fi
for i in linux mac; do for i in ${TARGETS}; do
cp "$basedir/resources/tunnel-control.sh" "$basedir/dist/$i/router/bin/" if [ ${i} != "win" ]; then
cp "$basedir/resources/tunnel-control.sh" "$basedir/dist/$i/router/bin/"
fi
done 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 # show distribution sizes
du -sk "$basedir/dist/"* | awk '{printf "%.1f MB %s\n",$1/1024,$2}' du -sk "$basedir/dist/"* | awk '{printf "%.1f MB %s\n",$1/1024,$2}'

@ -29,17 +29,15 @@ else
fi fi
if [ ! -d "$basedir/import/jdks" ]; then for target in ${TARGETS};do
mkdir -p jdks if [ ! -d "$basedir/import/jdks/${target}" ]; then
mkdir -p jdks/linux jdks/mac jdks/win mkdir -p jdks/${target}
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
tar zxf jdks/linux/$JDK_DOWNLOAD_FILENAME_LINUX -C jdks/linux/ JDK_FILENAME=${variables["JDK_DOWNLOAD_FILENAME_$target"]}
tar zxf jdks/mac/$JDK_DOWNLOAD_FILENAME_MAC -C jdks/mac/ wget --directory-prefix=jdks/${target} "https://github.com/AdoptOpenJDK/openjdk${JDK_MAJOR_VERSION}-binaries/releases/download/jdk-${JDK_VERSION_URL_ENC}/${JDK_FILENAME}"
unzip -q jdks/win/$JDK_DOWNLOAD_FILENAME_WIN -d jdks/win/ ${variables["DECOMPRESS_$target"]} jdks/${target}/${JDK_FILENAME}
fi fi
done;
if [ ! -d "$basedir/import/apache-ant-1.10.7" ]; then 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 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 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 fi
if [ ! -d "$basedir/import/javafx-sdks" ]; then for target in ${TARGETS};do
mkdir -p javafx-sdks if [ ! -d "$basedir/import/javafx-sdks/${target}" ]; then
mkdir -p javafx-sdks/linux javafx-sdks/mac javafx-sdks/win mkdir -p javafx-sdks/${target}
SDK_FILENAME=${variables["JAVAFX_SDK_FILENAME_$target"]}
wget --directory-prefix=javafx-sdks/linux $JAVAFX_SDK_DOWNLOAD_URL_LINUX wget --directory-prefix=javafx-sdks/${target} https://download2.gluonhq.com/openjfx/$JAVAFX_VERSION/${SDK_FILENAME}
wget --directory-prefix=javafx-sdks/mac $JAVAFX_SDK_DOWNLOAD_URL_MAC unzip -q javafx-sdks/${target}/${SDK_FILENAME} -d javafx-sdks/${target}/
wget --directory-prefix=javafx-sdks/win $JAVAFX_SDK_DOWNLOAD_URL_WIN fi
done;
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/ for target in ${TARGETS};do
unzip -q javafx-sdks/win/`basename $JAVAFX_SDK_DOWNLOAD_URL_WIN` -d javafx-sdks/win/ if [ ! -d "$basedir/import/javafx-jmods/${target}" ]; then
fi mkdir -p javafx-jmods/${target}
wget --directory-prefix=javafx-jmods/${target} https://download2.gluonhq.com/openjfx/$JAVAFX_VERSION/${variables["JAVAFX_JMODS_FILENAME_$target"]}
if [ ! -d "$basedir/import/javafx-jmods" ]; then set +e
mkdir -p javafx-jmods unzip -q javafx-jmods/${target}/${variables["JAVAFX_JMODS_FILENAME_$target"]} -d javafx-jmods/${target}/
mkdir -p javafx-jmods/linux javafx-jmods/mac javafx-jmods/win set -e
wget --directory-prefix=javafx-jmods/linux $JAVAFX_JMODS_DOWNLOAD_URL_LINUX fi
wget --directory-prefix=javafx-jmods/mac $JAVAFX_JMODS_DOWNLOAD_URL_MAC done;
wget --directory-prefix=javafx-jmods/win $JAVAFX_JMODS_DOWNLOAD_URL_WIN
for target in ${TARGETS};do
set +e if [ ${target} != "mac" ] && [ ! -d "$basedir/import/jpackage/${target}" ]; then
unzip -q javafx-jmods/linux/$JAVAFX_JMODS_DOWNLOAD_FILENAME_LINUX -d javafx-jmods/linux/ mkdir -p jpackage/${target}
unzip -q javafx-jmods/mac/$JAVAFX_JMODS_DOWNLOAD_FILENAME_MAC -d javafx-jmods/mac/ set +e
unzip -q javafx-jmods/win/$JAVAFX_JMODS_DOWNLOAD_FILENAME_WIN -d javafx-jmods/win/ unzip -q jdks/${target}/${variables["JAVA_HOME_$target"]}/jmods/jdk.incubator.jpackage.jmod -d jpackage/${target}/
set -e set -e
fi fi
done;
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

@ -10,43 +10,42 @@ fi
export JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF8 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 # Get latest JDK version from https://adoptopenjdk.net/releases.html?variant=openjdk15&jvmVariant=hotspot
JDK_VERSION=14.0.2+12 JDK_VERSION=14.0.2+12
JDK_MAJOR_VERSION=`echo $JDK_VERSION | cut -f1 -d"." | cut -f1 -d+` 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_ENC=`echo "$JDK_VERSION" | sed 's/+/%2B/g'`
JDK_VERSION_URL_ENC2=`echo "$JDK_VERSION" | sed 's/+/_/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##*/}" variables["JDK_DOWNLOAD_FILENAME_linux"]="OpenJDK${JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${JDK_VERSION_URL_ENC2}.tar.gz"
JDK_DOWNLOAD_FILENAME_MAC="${JDK_DOWNLOAD_URL_MAC##*/}" variables["JDK_DOWNLOAD_FILENAME_mac"]="OpenJDK${JDK_MAJOR_VERSION}U-jdk_x64_mac_hotspot_${JDK_VERSION_URL_ENC2}.tar.gz"
JDK_DOWNLOAD_FILENAME_WIN="${JDK_DOWNLOAD_URL_WIN##*/}" 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 variables["JAVA_HOME_linux"]="jdk-$JDK_VERSION"
JAVA_HOME_MAC=$basedir/import/jdks/mac/jdk-$JDK_VERSION/Contents/Home variables["JAVA_HOME_mac"]="jdk-$JDK_VERSION/Contents/Home"
JAVA_HOME_WIN=$basedir/import/jdks/win/jdk-$JDK_VERSION variables["JAVA_HOME_win"]="jdk-$JDK_VERSION"
# JavaFX from https://gluonhq.com/products/javafx/ JAVAFX_VERSION="15.0.1"
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_JMODS_DOWNLOAD_URL_LINUX=https://download2.gluonhq.com/openjfx/$JAVAFX_VERSION/openjfx-${JAVAFX_VERSION}_linux-x64_bin-jmods.zip variables["JAVAFX_SDK_FILENAME_linux"]="openjfx-${JAVAFX_VERSION}_linux-x64_bin-sdk.zip"
JAVAFX_JMODS_DOWNLOAD_URL_MAC=https://download2.gluonhq.com/openjfx/$JAVAFX_VERSION/openjfx-${JAVAFX_VERSION}_osx-x64_bin-jmods.zip variables["JAVAFX_SDK_FILENAME_mac"]="openjfx-${JAVAFX_VERSION}_osx-x64_bin-sdk.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_win"]="openjfx-${JAVAFX_VERSION}_windows-x64_bin-sdk.zip"
JAVAFX_JMODS_DOWNLOAD_FILENAME_LINUX=openjfx-${JAVAFX_VERSION}_linux-x64_bin-jmods.zip variables["JAVAFX_JMODS_FILENAME_linux"]="openjfx-${JAVAFX_VERSION}_linux-x64_bin-jmods.zip"
JAVAFX_JMODS_DOWNLOAD_FILENAME_MAC=openjfx-${JAVAFX_VERSION}_osx-x64_bin-jmods.zip variables["JAVAFX_JMODS_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_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` OS=`uname -s`
if [ $OS = "Darwin" ]; then if [ $OS = "Darwin" ]; then
export JAVA_HOME=$JAVA_HOME_MAC export JAVA_HOME=$basedir/import/jdks/mac/${variables["JAVA_HOME_mac"]}
else else
export JAVA_HOME=$JAVA_HOME_LINUX export JAVA_HOME=$basedir/import/jdks/linux/${variables["JAVA_HOME_linux"]}
fi fi
# get the SHA-256 hash of the specified file # get the SHA-256 hash of the specified file

@ -20,7 +20,10 @@ mkdir -p "$basedir/dist-zip"
cd "$basedir/dist" 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"` 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" cd "$basedir/dist-zip-staging"
for i in linux linux-gui mac mac-gui win win-gui; do for i in ${TARGETS}; do
zip -r9 "$basedir"/dist-zip/i2p-zero-${i}.v${VERSION}.zip i2p-zero-${i}.v${VERSION} for j in "" "-gui"; do
normalizeZip "$basedir"/dist-zip/i2p-zero-${i}.v${VERSION}.zip 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 done
cd .. cd ..
@ -49,12 +54,10 @@ getFileSizeMB () {
print4ColsJustified "OS" "Uncompressed size (MB)" "Compressed size (MB)" "v$VERSION Reproducible build SHA-256" print4ColsJustified "OS" "Uncompressed size (MB)" "Compressed size (MB)" "v$VERSION Reproducible build SHA-256"
print4ColsJustified "------------------------" "------------------------" "------------------------" "------------------------------------------------------------------" 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`\`" for i in ${TARGETS}; do
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 "${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 "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 "${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`\`"
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`\`" done
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`\`"
echo "" 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." 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."
Loading…
Cancel
Save