aboutsummaryrefslogtreecommitdiff
path: root/util/new_project.sh
diff options
context:
space:
mode:
Diffstat (limited to 'util/new_project.sh')
-rwxr-xr-xutil/new_project.sh51
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
15fi 15fi
16 16
17if [ $KEYBOARD_TYPE != "avr" -a $KEYBOARD_TYPE != "ps2avrgb" ]; then 17if [ "$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
20fi 20fi
@@ -24,22 +24,43 @@ if [ -e "keyboards/$1" ]; then
24 exit 1 24 exit 1
25fi 25fi
26 26
27cd "$(dirname "$0")/.." 27cd "$(dirname "$0")/.." || exit
28 28
29KEYBOARD_UPPERCASE=$(echo $1 | awk '{print toupper($0)}') 29KEYBOARD_NAME=$(basename "$1")
30KEYBOARD_NAME=$(basename $1) 30KEYBOARD_NAME_UPPERCASE=$(echo "$KEYBOARD_NAME" | awk '{print toupper($0)}')
31KEYBOARD_NAME_UPPERCASE=$(echo $KEYBOARD_NAME | awk '{print toupper($0)}') 31NEW_KBD=keyboards/${KEYBOARD}
32 32
33 33
34cp -r quantum/template/base keyboards/$KEYBOARD 34cp -r quantum/template/base "$NEW_KBD"
35cp -r quantum/template/$KEYBOARD_TYPE/. keyboards/$KEYBOARD 35cp -r "quantum/template/$KEYBOARD_TYPE/." "$NEW_KBD"
36 36
37mv keyboards/${KEYBOARD}/template.c keyboards/${KEYBOARD}/${KEYBOARD_NAME}.c 37mv "${NEW_KBD}/template.c" "${NEW_KBD}/${KEYBOARD_NAME}.c"
38mv keyboards/${KEYBOARD}/template.h keyboards/${KEYBOARD}/${KEYBOARD_NAME}.h 38mv "${NEW_KBD}/template.h" "${NEW_KBD}/${KEYBOARD_NAME}.h"
39find keyboards/${KEYBOARD} -type f -exec sed -i '' -e "s;%KEYBOARD%;${KEYBOARD_NAME};g" {} \; 39find "${NEW_KBD}" -type f -exec sed -i '' -e "s;%KEYBOARD%;${KEYBOARD_NAME};g" {} \;
40find keyboards/${KEYBOARD} -type f -exec sed -i '' -e "s;%KEYBOARD_UPPERCASE%;${KEYBOARD_NAME_UPPERCASE};g" {} \; 40find "${NEW_KBD}" -type f -exec sed -i '' -e "s;%KEYBOARD_UPPERCASE%;${KEYBOARD_NAME_UPPERCASE};g" {} \;
41 41
42echo "######################################################" 42GIT=$(whereis git)
43echo "# /keyboards/$KEYBOARD project created. To start" 43if [ "$GIT" != "" ]; then
44echo "# working on things, cd into keyboards/$KEYBOARD" 44 IS_GIT_REPO=$($GIT log >>/dev/null 2>&1; echo $?)
45echo "######################################################" 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
59fi
60
61cat <<-EOF
62######################################################
63# $NEW_KBD project created. To start
64# working on things, cd into $NEW_KBD
65######################################################
66EOF