|
1 | 1 | #!/bin/sh |
2 | 2 | set -e |
3 | 3 |
|
4 | | -if [ -z "$BOARD_NAME" ]; then |
5 | | - BOARD_NAME="arduino:avr:uno" |
| 4 | +BUILDER_PATH="/opt/arduino" |
| 5 | +LIBRARIES_PATH="$BUILDER_PATH/libraries:$GITHUB_WORKSPACE/../" |
| 6 | + |
| 7 | +SKETCH_PATH="$INPUT_SKETCH" |
| 8 | +BOARD_NAME="$INPUT_BOARD" |
| 9 | +SKETCH_DIRECTORY_PATH="$INPUT_SKETCHDIRECTORY" |
| 10 | + |
| 11 | +if [ -d "$INPUT_LIBRARIES" ]; then |
| 12 | + LIBRARIES_PATH="$LIBRARIES_PATH:$INPUT_LIBRARIES" |
6 | 13 | fi |
7 | 14 |
|
8 | | -if [ -z "$LIBRARIES_PATH" ]; then |
9 | | - LIBRARIES_PATH="${GITHUB_WORKSPACE}/libraries/" |
10 | | - if [ ! -d "$LIBRARIES_PATH" ]; then |
11 | | - LIBRARIES_PATH=$GITHUB_WORKSPACE |
12 | | - fi |
| 15 | +getLibraryOptions() { |
| 16 | + local IFS=":" |
| 17 | + for library in $1 |
| 18 | + do |
| 19 | + echo -n " -libraries $library" |
| 20 | + done |
| 21 | +} |
| 22 | + |
| 23 | +BUILDER_OPTIONS="-hardware $BUILDER_PATH/hardware -tools $BUILDER_PATH/hardware/tools/avr -tools $BUILDER_PATH/tools-builder `getLibraryOptions $LIBRARIES_PATH` -fqbn $BOARD_NAME" |
| 24 | + |
| 25 | +if [ -d "$INPUT_HARDWARE" ]; then |
| 26 | + BUILDER_OPTIONS="$BUILDER_OPTIONS -hardware $INPUT_HARDWARE" |
13 | 27 | fi |
14 | 28 |
|
15 | | -if [ ! -z "$SKETCH_PATH" ]; then |
16 | | - SKETCH_PATH=$(readlink -f "$SKETCH_PATH") |
17 | | - cd /opt/arduino |
| 29 | +if [ -n "$SKETCH_PATH" ]; then |
18 | 30 | if [ -z "$1" ]; then |
19 | | - ./arduino-builder -hardware ./hardware -tools ./hardware/tools/avr -tools ./tools-builder -libraries ./libraries -libraries $LIBRARIES_PATH -libraries $GITHUB_WORKSPACE/../ -fqbn $BOARD_NAME "$SKETCH_PATH" |
| 31 | + arduino-builder $BUILDER_OPTIONS "$SKETCH_PATH" |
20 | 32 | else |
21 | | - ./arduino-builder "$@" "$SKETCH_PATH" |
| 33 | + arduino-builder "$@" "$SKETCH_PATH" |
22 | 34 | fi |
23 | 35 | else |
24 | | - if [ -z "$SKETCH_DIRECTORY_PATH" ]; then |
25 | | - SKETCH_DIRECTORY_PATH="${GITHUB_WORKSPACE}/examples/" |
26 | | - fi |
27 | | - |
28 | | - cd /opt/arduino |
29 | | - for sketch in `find "${SKETCH_DIRECTORY_PATH}" -name '*.ino'` |
| 36 | + for sketch in `find "$SKETCH_DIRECTORY_PATH" -name '*.ino'` |
30 | 37 | do |
31 | 38 | if [ -z "$1" ]; then |
32 | | - ./arduino-builder -hardware ./hardware -tools ./hardware/tools/avr -tools ./tools-builder -libraries ./libraries -libraries $LIBRARIES_PATH -libraries $GITHUB_WORKSPACE/../ -fqbn $BOARD_NAME $sketch |
| 39 | + arduino-builder $BUILDER_OPTIONS "$sketch" |
33 | 40 | else |
34 | | - ./arduino-builder "$@" $sketch |
| 41 | + arduino-builder "$@" "$sketch" |
35 | 42 | fi |
36 | 43 | done |
37 | 44 | fi |
0 commit comments