diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 292cf8b..5ca5597 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -20,12 +20,8 @@ "remoteUser": "vscode", "waitFor": "postCreateCommand", "mounts": [ - "source=${localWorkspaceFolder}/wokwi-libs,target=${containerWorkspaceFolder}/wokwi-libs,type=bind,consistency=cached", "source=velxio-arduino-cache,target=/home/vscode/.arduino15,type=volume", - "source=velxio-frontend-nodemodules,target=${containerWorkspaceFolder}/frontend/node_modules,type=volume", - "source=velxio-avr8js-nodemodules,target=${containerWorkspaceFolder}/wokwi-libs/avr8js/node_modules,type=volume", - "source=velxio-rp2040js-nodemodules,target=${containerWorkspaceFolder}/wokwi-libs/rp2040js/node_modules,type=volume", - "source=velxio-wokwi-elements-nodemodules,target=${containerWorkspaceFolder}/wokwi-libs/wokwi-elements/node_modules,type=volume" + "source=velxio-frontend-nodemodules,target=${containerWorkspaceFolder}/frontend/node_modules,type=volume" ], "postCreateCommand": "bash .devcontainer/post-create.sh", "postStartCommand": "bash .devcontainer/post-start.sh", diff --git a/.devcontainer/post-create.sh b/.devcontainer/post-create.sh index 567e194..35fbefa 100755 --- a/.devcontainer/post-create.sh +++ b/.devcontainer/post-create.sh @@ -9,12 +9,14 @@ cd "$WORKSPACE_ROOT" CURRENT_USER=$(whoami) echo "==> Fixing ownership for mounted volumes..." -# Fix ownership of directories that are mounted as volumes -sudo chown -R "$CURRENT_USER:$CURRENT_USER" frontend/node_modules 2>/dev/null || true -sudo chown -R "$CURRENT_USER:$CURRENT_USER" wokwi-libs/avr8js/node_modules 2>/dev/null || true -sudo chown -R "$CURRENT_USER:$CURRENT_USER" wokwi-libs/rp2040js/node_modules 2>/dev/null || true -sudo chown -R "$CURRENT_USER:$CURRENT_USER" wokwi-libs/wokwi-elements/node_modules 2>/dev/null || true -sudo chown -R "$CURRENT_USER:$CURRENT_USER" "$HOME/.arduino15" 2>/dev/null || true +for d in frontend/node_modules wokwi-libs/avr8js/node_modules wokwi-libs/rp2040js/node_modules wokwi-libs/wokwi-elements/node_modules "$HOME/.arduino15"; do + sudo chown -R "$CURRENT_USER:$CURRENT_USER" "$d" 2>/dev/null || true +done + +echo "==> Initializing git submodules..." +# Nuke everything except node_modules (which are Docker volumes - can't delete) +rm -rf wokwi-libs/avr8js/* wokwi-libs/rp2040js/* wokwi-libs/wokwi-elements/* wokwi-libs/wokwi-features/* wokwi-libs/wokwi-boards/* wokwi-libs/qemu-lcgamboa/* +git submodule update --init --recursive echo "==> Installing arduino-cli..." if ! command -v arduino-cli &> /dev/null; then diff --git a/.gitmodules b/.gitmodules index 175529e..f3e7c44 100644 --- a/.gitmodules +++ b/.gitmodules @@ -13,6 +13,12 @@ [submodule "wokwi-libs/wokwi-features"] path = wokwi-libs/wokwi-features url = https://github.com/wokwi/wokwi-features.git + [submodule "wokwi-libs/wokwi-boards"] path = wokwi-libs/wokwi-boards url = https://github.com/wokwi/wokwi-boards.git + +[submodule "wokwi-libs/qemu-lcgamboa"] + path = wokwi-libs/qemu-lcgamboa + url = https://github.com/lcgamboa/qemu.git + branch = picsimlab-esp32