54 lines
1.6 KiB
Bash
Executable file
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"
|