diff options
Diffstat (limited to 'util/new_project.sh')
| -rwxr-xr-x | util/new_project.sh | 51 |
1 files changed, 36 insertions, 15 deletions
diff --git a/util/new_project.sh b/util/new_project.sh index a85e83322..d1d1ed82c 100755 --- a/util/new_project.sh +++ b/util/new_project.sh | |||
| @@ -14,7 +14,7 @@ elif [ -z "$KEYBOARD_TYPE" ]; then | |||
| 14 | KEYBOARD_TYPE=avr | 14 | KEYBOARD_TYPE=avr |
| 15 | fi | 15 | fi |
| 16 | 16 | ||
| 17 | if [ $KEYBOARD_TYPE != "avr" -a $KEYBOARD_TYPE != "ps2avrgb" ]; then | 17 | if [ "$KEYBOARD_TYPE" != "avr" ] && [ "$KEYBOARD_TYPE" != "ps2avrgb" ]; then |
| 18 | echo "Invalid keyboard type target" | 18 | echo "Invalid keyboard type target" |
| 19 | exit 1 | 19 | exit 1 |
| 20 | fi | 20 | fi |
| @@ -24,22 +24,43 @@ if [ -e "keyboards/$1" ]; then | |||
| 24 | exit 1 | 24 | exit 1 |
| 25 | fi | 25 | fi |
| 26 | 26 | ||
| 27 | cd "$(dirname "$0")/.." | 27 | cd "$(dirname "$0")/.." || exit |
| 28 | 28 | ||
| 29 | KEYBOARD_UPPERCASE=$(echo $1 | awk '{print toupper($0)}') | 29 | KEYBOARD_NAME=$(basename "$1") |
| 30 | KEYBOARD_NAME=$(basename $1) | 30 | KEYBOARD_NAME_UPPERCASE=$(echo "$KEYBOARD_NAME" | awk '{print toupper($0)}') |
| 31 | KEYBOARD_NAME_UPPERCASE=$(echo $KEYBOARD_NAME | awk '{print toupper($0)}') | 31 | NEW_KBD=keyboards/${KEYBOARD} |
| 32 | 32 | ||
| 33 | 33 | ||
| 34 | cp -r quantum/template/base keyboards/$KEYBOARD | 34 | cp -r quantum/template/base "$NEW_KBD" |
| 35 | cp -r quantum/template/$KEYBOARD_TYPE/. keyboards/$KEYBOARD | 35 | cp -r "quantum/template/$KEYBOARD_TYPE/." "$NEW_KBD" |
| 36 | 36 | ||
| 37 | mv keyboards/${KEYBOARD}/template.c keyboards/${KEYBOARD}/${KEYBOARD_NAME}.c | 37 | mv "${NEW_KBD}/template.c" "${NEW_KBD}/${KEYBOARD_NAME}.c" |
| 38 | mv keyboards/${KEYBOARD}/template.h keyboards/${KEYBOARD}/${KEYBOARD_NAME}.h | 38 | mv "${NEW_KBD}/template.h" "${NEW_KBD}/${KEYBOARD_NAME}.h" |
| 39 | find keyboards/${KEYBOARD} -type f -exec sed -i '' -e "s;%KEYBOARD%;${KEYBOARD_NAME};g" {} \; | 39 | find "${NEW_KBD}" -type f -exec sed -i '' -e "s;%KEYBOARD%;${KEYBOARD_NAME};g" {} \; |
| 40 | find keyboards/${KEYBOARD} -type f -exec sed -i '' -e "s;%KEYBOARD_UPPERCASE%;${KEYBOARD_NAME_UPPERCASE};g" {} \; | 40 | find "${NEW_KBD}" -type f -exec sed -i '' -e "s;%KEYBOARD_UPPERCASE%;${KEYBOARD_NAME_UPPERCASE};g" {} \; |
| 41 | 41 | ||
| 42 | echo "######################################################" | 42 | GIT=$(whereis git) |
| 43 | echo "# /keyboards/$KEYBOARD project created. To start" | 43 | if [ "$GIT" != "" ]; then |
| 44 | echo "# working on things, cd into keyboards/$KEYBOARD" | 44 | IS_GIT_REPO=$($GIT log >>/dev/null 2>&1; echo $?) |
| 45 | echo "######################################################" | 45 | if [ "$IS_GIT_REPO" -eq 0 ]; then |
| 46 | ID="'$($GIT config --get user.name)'" | ||
| 47 | echo "Using $ID as user name" | ||
| 48 | |||
| 49 | for i in "$NEW_KBD/config.h" \ | ||
| 50 | "$NEW_KBD/$KEYBOARD_NAME.c" \ | ||
| 51 | "$NEW_KBD/$KEYBOARD_NAME.h" \ | ||
| 52 | "$NEW_KBD/keymaps/default/config.h" \ | ||
| 53 | "$NEW_KBD/keymaps/default/keymap.c" | ||
| 54 | do | ||
| 55 | awk -v id="$ID" '{sub(/REPLACE_WITH_YOUR_NAME/,id); print}' < "$i" > "$i.$$" | ||
| 56 | mv "$i.$$" "$i" | ||
| 57 | done | ||
| 58 | fi | ||
| 59 | fi | ||
| 60 | |||
| 61 | cat <<-EOF | ||
| 62 | ###################################################### | ||
| 63 | # $NEW_KBD project created. To start | ||
| 64 | # working on things, cd into $NEW_KBD | ||
| 65 | ###################################################### | ||
| 66 | EOF | ||
