slightly closer to building with -cli

tmp/arduino-cli-pre-rebase
Jesse Vincent 4 years ago
parent 493a10b16e
commit 3bf986a8ab
No known key found for this signature in database
GPG Key ID: CC228463465E40BC

@ -30,10 +30,6 @@ install_arduino_cli() {
curl -fsSL https://raw.githubusercontent.com/arduino/arduino-cli/master/install.sh | sh curl -fsSL https://raw.githubusercontent.com/arduino/arduino-cli/master/install.sh | sh
} }
compile_arduino_cli() {
run_arduino_cli compile --fqbn keyboardio:avr:keyboardio_atreus --libraries "${KALEIDOSCOPE_DIR}/.." examples/Devices/Keyboardio/Atreus --verbose --show-properties
}
configure_arduino_cli() { configure_arduino_cli() {
if [ -z "${ARDUINO_CLI}" ]; then if [ -z "${ARDUINO_CLI}" ]; then
install_arduino_cli install_arduino_cli
@ -393,6 +389,9 @@ compile () {
# TODO(anyone): Make this suck less # TODO(anyone): Make this suck less
if [ "${HEX_FILE_PATH}" -ot "${SKETCH_FILE_PATH}" ]; then if [ "${HEX_FILE_PATH}" -ot "${SKETCH_FILE_PATH}" ]; then
do_compile "$@" do_compile "$@"
else
echo "${HEX_FILE_PATH} did not need to be rebuilt"
do_compile "$@"
fi fi
} }
@ -442,6 +441,29 @@ do_compile () {
_CMD_CC="${CC:-${COMPILER_PREFIX}${C_COMPILER_BASENAME}${COMPILER_SUFFIX}}" _CMD_CC="${CC:-${COMPILER_PREFIX}${C_COMPILER_BASENAME}${COMPILER_SUFFIX}}"
_CMD_AR="${AR:-${COMPILER_PREFIX}${AR_BASENAME}${COMPILER_SUFFIX}}" _CMD_AR="${AR:-${COMPILER_PREFIX}${AR_BASENAME}${COMPILER_SUFFIX}}"
#do_compile_with_builder
do_compile_with_cli
if [ -z "${LIBONLY}" ]; then
cp "${BUILD_PATH}/${SKETCH_FILE_NAME}.hex" "${HEX_FILE_PATH}"
cp "${BUILD_PATH}/${SKETCH_FILE_NAME}.elf" "${ELF_FILE_PATH}"
ln -sf "${OUTPUT_FILE_PREFIX}.hex" "${OUTPUT_PATH}/${SKETCH_BASE_NAME}-latest.hex"
ln -sf "${OUTPUT_FILE_PREFIX}.elf" "${OUTPUT_PATH}/${SKETCH_BASE_NAME}-latest.elf"
else
cp "${BUILD_PATH}/${SKETCH_FILE_NAME}.a" "${LIB_FILE_PATH}"
ln -sf "${OUTPUT_FILE_PREFIX}.a" "${OUTPUT_PATH}/${SKETCH_BASE_NAME}-latest.a"
fi
if [ "${ARDUINO_VERBOSE}" = "-verbose" ]; then
echo "Build artifacts can be found in ${BUILD_PATH}";
fi
BOARD="${SAVED_BOARD}"
FQBN="${SAVED_FQBN}"
}
do_compile_with_builder() {
# SC2091: We do not care if quotes or backslashes are not respected. # SC2091: We do not care if quotes or backslashes are not respected.
# SC2086: We want word splitting. # SC2086: We want word splitting.
# shellcheck disable=SC2086,SC2090 # shellcheck disable=SC2086,SC2090
@ -473,25 +495,21 @@ do_compile () {
${ARDUINO_VERBOSE} \ ${ARDUINO_VERBOSE} \
${ARDUINO_AVR_GCC_PREFIX_PARAM} \ ${ARDUINO_AVR_GCC_PREFIX_PARAM} \
"${SKETCH_FILE_PATH}" "${SKETCH_FILE_PATH}"
}
if [ -z "${LIBONLY}" ]; then
cp "${BUILD_PATH}/${SKETCH_FILE_NAME}.hex" "${HEX_FILE_PATH}"
cp "${BUILD_PATH}/${SKETCH_FILE_NAME}.elf" "${ELF_FILE_PATH}"
ln -sf "${OUTPUT_FILE_PREFIX}.hex" "${OUTPUT_PATH}/${SKETCH_BASE_NAME}-latest.hex"
ln -sf "${OUTPUT_FILE_PREFIX}.elf" "${OUTPUT_PATH}/${SKETCH_BASE_NAME}-latest.elf"
else
cp "${BUILD_PATH}/${SKETCH_FILE_NAME}.a" "${LIB_FILE_PATH}"
ln -sf "${OUTPUT_FILE_PREFIX}.a" "${OUTPUT_PATH}/${SKETCH_BASE_NAME}-latest.a"
fi
if [ "${ARDUINO_VERBOSE}" = "-verbose" ]; then
echo "Build artifacts can be found in ${BUILD_PATH}";
fi
BOARD="${SAVED_BOARD}" do_compile_with_cli() {
FQBN="${SAVED_FQBN}" run_arduino_cli compile \
--fqbn "${FQBN}" \
--libraries "${KALEIDOSCOPE_DIR}/.." \
--build-path=${BUILD_PATH} \
--output-dir=${OUTPUT_PATH} \
--verbose \
"${SKETCH_FILE_PATH}"
} }
find_all_sketches () { find_all_sketches () {
for plugin in ./*.ino \ for plugin in ./*.ino \
$([ -d examples ] && find examples -name '*.ino') \ $([ -d examples ] && find examples -name '*.ino') \
@ -687,10 +705,10 @@ fi
SYSTEM_ARDUINO_CLI="$(command -v arduino-cli || true )" SYSTEM_ARDUINO_CLI="$(command -v arduino-cli || true )"
if [ "x${SYSTEM_ARDUINO_CLI}" == "x" ]; then if [ "x${SYSTEM_ARDUINO_CLI}" == "x" ]; then
$VERBOSE && echo "Using our own arduino-cli" echo "Using our own arduino-cli"
: "${ARDUINO_CLI:=${KALEIDOSCOPE_BIN_DIR}/arduino-cli}" : "${ARDUINO_CLI:=${KALEIDOSCOPE_BIN_DIR}/arduino-cli}"
else else
$VERBOSE && echo "Using system arduino-cli from ${SYSTEM_ARDUINO_CLI}" echo "Using system arduino-cli from ${SYSTEM_ARDUINO_CLI}"
: "${ARDUINO_CLI:=${SYSTEM_ARDUINO_CLI}}" : "${ARDUINO_CLI:=${SYSTEM_ARDUINO_CLI}}"
fi fi

Loading…
Cancel
Save