wynn-darkmode/build.sh
2024-12-08 20:36:31 +00:00

54 lines
1.6 KiB
Bash
Executable file

#!/bin/bash
# enable globbing properly
shopt -s extglob
# create the build dir if it doesn't already exist
mkdir -p ./build
# move all necessary files to the build dir
cp -r {assets,pack.png,pack.mcmeta} ./build
# change working dir into the build dir
cd build
# detect arch for downloading OxiPng
frfrarch=$(uname -m)
echo SYSTEM ARCHITECTURE IS $frarch
# get and use oxipng if it is available for your architecture
if [[ $frfrarch == "x86_64" ]]; then
echo "downloading oxipng x64"
wget -O oxipng.tar.gz https://github.com/shssoichiro/oxipng/releases/download/v9.1.3/oxipng-9.1.3-x86_64-unknown-linux-musl.tar.gz
elif [[ $frfrarch == "aarch64" ]]; then
echo "downloading oxipng arm64"
wget -O oxipng.tar.gz https://github.com/shssoichiro/oxipng/releases/download/v9.1.3/oxipng-9.1.3-aarch64-unknown-linux-musl.tar.gz
else
echo unknown architecture, oxipng wont be used
fi
# banger size reduction on files in build dir yep
if [[ -e oxipng.tar.gz ]]; then
tar -xvzf oxipng.tar.gz
rm oxipng.tar.gz
mv ./oxipng* ./oxipngdir
mv ./oxipngdir/oxipng ./oxipng
chmod +x oxipng
oxipng -o max --strip all --alpha $(find . -name "*.png" -type f)
# clean up the oxipng before build
rm -rf oxipng
rm -rf oxipngdir
fi
# remove all the gimp files (those don't do anything in the final build)
find . -name "*.xcf" -type f -delete
# zip all files in build dir recursively, into build.zip in base folder. use -0 flag to disable compression.
zip -r ../build.zip . -0
# change back to root dir
cd ..
# nuke the build dir
rm -r build
echo "file built to build.zip"