blob: 3013965479268a36c1bd33fdc2433720cff5e21a [file] [log] [blame]
#!/bin/bash
# Default paths
DEFAULT_CHOICES=(
"./fabric-admin"
"out/debug/standalone/fabric-admin"
"out/linux-x64-fabric-admin/fabric-admin"
"out/darwin-arm64-fabric-admin/fabric-admin"
)
FABRIC_ADMIN_LOG="/tmp/fabric_admin.log"
FABRIC_ADMIN_PATH=""
# Function to find fabric-admin binary
find_fabric_admin() {
local choices=("$@")
for path in "${choices[@]}"; do
if [[ -e "$path" ]]; then
echo "$path"
return 0
fi
done
return 1
}
# Parse arguments
VERBOSE=false
SPECIFIED_PATH=""
for arg in "$@"; do
case $arg in
--verbose)
VERBOSE=true
;;
--path=*)
SPECIFIED_PATH="${arg#*=}"
;;
esac
done
# Use specified path if provided
if [[ -n "$SPECIFIED_PATH" ]]; then
if [[ -e "$SPECIFIED_PATH" ]]; then
FABRIC_ADMIN_PATH="$SPECIFIED_PATH"
else
echo >&2 "Specified path does not exist: $SPECIFIED_PATH"
exit 1
fi
else
FABRIC_ADMIN_PATH=$(find_fabric_admin "${DEFAULT_CHOICES[@]}")
if [[ $? -ne 0 ]]; then
echo >&2 "Could not find the fabric-admin binary"
exit 1
fi
fi
echo "PATH IS: $FABRIC_ADMIN_PATH"
# Kill fabric-admin if it is running
echo "Checking for running fabric-admin process..."
fabric_admin_pid=$(pgrep -f "$FABRIC_ADMIN_PATH")
if [[ -n "$fabric_admin_pid" ]]; then
echo "Found fabric-admin with PID $fabric_admin_pid, attempting to kill..."
kill -9 "$fabric_admin_pid"
echo "Killed fabric-admin with PID $fabric_admin_pid"
fi
# Remove /tmp/chip_* files and directories
echo "Removing /tmp/chip_* files and directories..."
sudo rm -rf /tmp/chip_*
echo "Removed /tmp/chip_* files and directories"
# Start fabric-admin with or without log file path based on --verbose option
echo "Starting fabric-admin..."
if [ "$VERBOSE" = true ]; then
"$FABRIC_ADMIN_PATH"
else
"$FABRIC_ADMIN_PATH" --log-file-path "$FABRIC_ADMIN_LOG"
fi