build script yep

This commit is contained in:
endernon 2025-01-13 22:14:36 +00:00
parent 003c0492e6
commit 3ae4b7b1f9
2 changed files with 57 additions and 0 deletions

3
.gitignore vendored Normal file
View file

@ -0,0 +1,3 @@
build
build.zip
*.zip

54
build.sh Executable file
View file

@ -0,0 +1,54 @@
#!/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"