mirror of
https://github.com/OpenBluetoothToolbox/SimpleBLE
synced 2025-10-16 14:08:31 +08:00

* Fixed broken examples, added unit tests. * Linting * More fixes * Fixed PyTest execution * Fixed PyTest execution * Fixed PyTest execution * Fixed uninitialized memory
79 lines
1.9 KiB
Bash
Executable File
79 lines
1.9 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Some portions of this file where inspired from:
|
|
# https://medium.com/@Drew_Stokes/bash-argument-parsing-54f3b81a6a8f
|
|
|
|
# If the current script is running in MacOS, print a warning
|
|
if [[ "$OSTYPE" == "darwin"* ]]; then
|
|
|
|
# Define the realpath function, as MacOs doesn't have it
|
|
realpath() {
|
|
OURPWD=$PWD
|
|
cd "$(dirname "$1")"
|
|
LINK=$(readlink "$(basename "$1")")
|
|
while [ "$LINK" ]; do
|
|
cd "$(dirname "$LINK")"
|
|
LINK=$(readlink "$(basename "$1")")
|
|
done
|
|
REALPATH="$PWD/$(basename "$1")"
|
|
cd "$OURPWD"
|
|
echo "$REALPATH"
|
|
}
|
|
|
|
fi
|
|
|
|
# Parse incoming arguments
|
|
PARAMS=""
|
|
while (( "$#" )); do
|
|
case "$1" in
|
|
-c|--clean)
|
|
FLAG_CLEAN=0
|
|
shift
|
|
;;
|
|
-p|--plain)
|
|
FLAG_PLAIN=0
|
|
shift
|
|
;;
|
|
-i|--install)
|
|
FLAG_INSTALL=0
|
|
shift
|
|
;;
|
|
-*|--*=) # unsupported flags
|
|
echo "Error: Unsupported flag $1" >&2
|
|
exit 1
|
|
;;
|
|
*) # preserve positional arguments
|
|
PARAMS="$PARAMS $1"
|
|
shift
|
|
;;
|
|
esac
|
|
done
|
|
|
|
# Set positional arguments in their proper place
|
|
eval set -- "$PARAMS"
|
|
|
|
PROJECT_ROOT=$(realpath $(dirname `realpath $0`)/..)
|
|
SOURCE_PATH=$PROJECT_ROOT/simplepyble
|
|
BUILD_PATH=$PROJECT_ROOT/build_simplepyble # Note: setup.py will append the project name to the build path
|
|
DIST_PATH=$BUILD_PATH/dist
|
|
|
|
# If FLAG_CLEAN is set, clean the build directory
|
|
if [[ ! -z "$FLAG_CLEAN" ]]; then
|
|
rm -rf "$BUILD_PATH"_simplepyble
|
|
fi
|
|
|
|
if [[ ! -z "$FLAG_PLAIN" ]]; then
|
|
BUILD_PLAIN="--plain"
|
|
fi
|
|
|
|
SETUP_INSTRUCTIONS="build --build-base $BUILD_PATH"
|
|
SETUP_INSTRUCTIONS="$SETUP_INSTRUCTIONS egg_info --egg-base $BUILD_PATH"
|
|
SETUP_INSTRUCTIONS="$SETUP_INSTRUCTIONS bdist_wheel --dist-dir $DIST_PATH"
|
|
|
|
cd $SOURCE_PATH
|
|
python3 setup.py $SETUP_INSTRUCTIONS $BUILD_PLAIN
|
|
cd -
|
|
|
|
if [[ ! -z "$FLAG_INSTALL" ]]; then
|
|
pip3 install $DIST_PATH/*.whl --force-reinstall
|
|
fi |