mirror of
https://github.com/aydwi/chaos.git
synced 2025-12-20 13:09:31 -06:00
53 lines
1.1 KiB
Bash
Executable File
53 lines
1.1 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
# Abort script at first error, when a command exits with non-zero status
|
|
set -e
|
|
|
|
# Set working directory to location of the script to prevent disasters
|
|
cd $(dirname $0)
|
|
basedir=$(pwd)
|
|
|
|
# Create and activate a virtual Python environment
|
|
virtualenv -p python3 chaos-build-env
|
|
source chaos-build-env/bin/activate
|
|
|
|
# Install dependencies via Poetry
|
|
poetry install
|
|
|
|
cd chaos
|
|
|
|
# Create the executable with Pyinstaller
|
|
pyinstaller --noconfirm \
|
|
--onedir \
|
|
--noupx \
|
|
--strip \
|
|
--log-level=INFO \
|
|
chaosd.py
|
|
|
|
# Get out of the virtual environment
|
|
deactivate
|
|
|
|
# Rearrangement and cleanup of files and directories.
|
|
# NOTE: Comment everything beyond this point if you don't want the source
|
|
# code to be removed. Check chaos/dist/ in this case for the directory
|
|
# containing the executable.
|
|
cleanup () {
|
|
rm -rf chaos \
|
|
chaos-build-env \
|
|
chaos.egg-info \
|
|
pip-wheel-metadata
|
|
mv chaosd chaos
|
|
find . -maxdepth 1 -type f ! -name 'build.sh' -exec rm -f {} +
|
|
rm build.sh
|
|
}
|
|
|
|
cd dist
|
|
mv chaosd ../..
|
|
cd ../..
|
|
|
|
if [[ $(pwd) -ef "$basedir" ]]; then
|
|
cleanup
|
|
else
|
|
exit 1
|
|
fi
|