30 lines
978 B
Bash
Executable File
30 lines
978 B
Bash
Executable File
#!/bin/bash
|
|
|
|
VSCODE_WS="$(pwd)"
|
|
SSH_REMOTE="raspberrypi.local"
|
|
|
|
APP="lightsabre_backend"
|
|
TARGET_ARCH="armv7-unknown-linux-gnueabihf"
|
|
BUILD_BIN_FILE="${VSCODE_WS}/target/${TARGET_ARCH}/debug/${APP}"
|
|
TARGET_USER="pi"
|
|
TARGET_BIN_FILE="/tmp/${APP}"
|
|
TARGET_CWD="/tmp"
|
|
|
|
cargo build
|
|
|
|
ssh "${TARGET_USER}@${SSH_REMOTE}" "sudo killall lldb-server ${APP}"
|
|
|
|
if ! rsync -avz "${BUILD_BIN_FILE}" "${TARGET_USER}@${SSH_REMOTE}:${TARGET_BIN_FILE}"; then
|
|
# If rsync doesn't work, it may not be available on target. Fallback to trying SSH copy.
|
|
if ! scp "${BUILD_BIN_FILE}" "${TARGET_USER}@${SSH_REMOTE}:${TARGET_BIN_FILE}"; then
|
|
exit 2
|
|
fi
|
|
fi
|
|
|
|
if [[ "$1" == "--debug" ]]; then
|
|
echo "Running in debug mode"
|
|
ssh "${TARGET_USER}@${SSH_REMOTE}" "sh -c 'cd ${TARGET_CWD}; sudo RUST_LOG=debug lldb -o run ${TARGET_BIN_FILE}'"
|
|
else
|
|
echo "Running in release mode"
|
|
ssh "${TARGET_USER}@${SSH_REMOTE}" "sh -c 'cd ${TARGET_CWD}; sudo RUST_LOG=info ${TARGET_BIN_FILE}'"
|
|
fi |