Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Empty file.
Empty file removed .devcontainer/.claude/.gitkeep
Empty file.
Empty file removed .devcontainer/.local/.gitkeep
Empty file.
Empty file.
42 changes: 42 additions & 0 deletions .devcontainer/helper.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
#!/bin/bash
set -eEu -o pipefail

scriptdir=$(dirname $(realpath $0))

command=${1:-}
workspace=${2:-}
shift 2

# echo "scriptdir=${scriptdir}"
# echo "command=${command}"
# echo "workspace=${workspace}"
# echo "args=$*"

# See docker/docker-compose.yaml
PERSISTENT_DIRS=".local .claude .bash_history.d .vscode-server"

case ${command} in
initializeCommand)
# Make the persistent directories (see compose.yaml .services.dev.volumes)
for dir in ${PERSISTENT_DIRS}; do
if [ ! -d ${workspace}/.devcontainer/.persist/${dir} ]; then
echo "Making ${workspace}/.devcontainer/.persist/${dir}"
mkdir -p ${workspace}/.devcontainer/.persist/${dir}
fi
done
# Thank you Claudine, for using .claude/ AND .claude.json... :-/
if [ ! -f ${workspace}/.devcontainer/.persist/.claude.json ]; then
echo "Making ${workspace}/.devcontainer/.persist/.claude.json"
echo "{}" > ${workspace}/.devcontainer/.persist/.claude.json
fi
;;
onCreateCommand)
id
;;
*)
echo "bad command: ${command}"
exit 1
;;
esac

exit 0
3 changes: 3 additions & 0 deletions .devcontainer/jazzy/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,9 @@
// compare .services.jazzy-dev.volumes in ../../docker/docker-compose.yaml
"workspaceFolder": "/home/fpsdk/fixposition-sdk",

"initializeCommand": "${localWorkspaceFolder}/.devcontainer/helper.sh initializeCommand ${localWorkspaceFolder}",
"onCreateCommand": "${containerWorkspaceFolder}/.devcontainer/helper.sh onCreateCommand ${containerWorkspaceFolder}",

// Deliberately empty, see fpsdk.code-workspace instead
"customizations": {}
}
3 changes: 3 additions & 0 deletions .devcontainer/lyrical/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,9 @@
// compare .services.lyrical-dev.volumes in ../../docker/docker-compose.yaml
"workspaceFolder": "/home/fpsdk/fixposition-sdk",

"initializeCommand": "${localWorkspaceFolder}/.devcontainer/helper.sh initializeCommand ${localWorkspaceFolder}",
"onCreateCommand": "${containerWorkspaceFolder}/.devcontainer/helper.sh onCreateCommand ${containerWorkspaceFolder}",

// Deliberately empty, see fpsdk.code-workspace instead
"customizations": {}
}
3 changes: 3 additions & 0 deletions .devcontainer/noetic/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,9 @@
// compare .services.noetic-dev.volumes in ../../docker/docker-compose.yaml
"workspaceFolder": "/home/fpsdk/fixposition-sdk",

"initializeCommand": "${localWorkspaceFolder}/.devcontainer/helper.sh initializeCommand ${localWorkspaceFolder}",
"onCreateCommand": "${containerWorkspaceFolder}/.devcontainer/helper.sh onCreateCommand ${containerWorkspaceFolder}",

// Deliberately empty, see fpsdk.code-workspace instead
"customizations": {}
}
3 changes: 3 additions & 0 deletions .devcontainer/trixie/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,9 @@
// compare .services.trixie-dev.volumes in ../../docker/docker-compose.yaml
"workspaceFolder": "/home/fpsdk/fixposition-sdk",

"initializeCommand": "${localWorkspaceFolder}/.devcontainer/helper.sh initializeCommand ${localWorkspaceFolder}",
"onCreateCommand": "${containerWorkspaceFolder}/.devcontainer/helper.sh onCreateCommand ${containerWorkspaceFolder}",

// Deliberately empty, see fpsdk.code-workspace instead
"customizations": {}
}
12 changes: 5 additions & 7 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,8 @@ CMakeCache.txt
*.fpl.gz
*.bag
*.bak
/.devcontainer/.bash_history.d
/.devcontainer/.claude
/.devcontainer/.local
/.devcontainer/.vscode-server
/.devcontainer/.claude
/.devcontainer/.local
.devcontainer/.gdb/__pycache__
/.devcontainer/.persist
__pycache__
/ws
/ws2
/ros_ws
Expand All @@ -46,6 +41,9 @@ baz*
/*.json
/.claude
/*_bag
/prompt.md
/notes.md


# We must not commit such files ever. See section FPSDK_BUILD_ROS in fpsdk_doc/fpsdk_build.hpp
CATKIN_IGNORE
Expand Down
8 changes: 8 additions & 0 deletions docker/Dockerfile.humble-base
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,14 @@ ENTRYPOINT []
COPY docker/scripts/install_apt_base.sh /tmp
RUN /tmp/install_apt_base.sh && rm -f /tmp/install_apt_base.sh

# Set timezone, sane language and locale
ENV TZ=Europe/Zurich
ENV LANG=en_GB.UTF-8
ENV LANGUAGE=en_GB
ENV LC_ALL=C.UTF-8
COPY docker/scripts/install_locales.sh /tmp
RUN /tmp/install_locales.sh && rm -f /tmp/install_locales.sh

# Download, build and install clang-format
COPY docker/scripts/install_clangformat.sh /tmp
RUN /tmp/install_clangformat.sh && rm -f /tmp/install_clangformat.sh
Expand Down
16 changes: 2 additions & 14 deletions docker/Dockerfile.humble-dev
Original file line number Diff line number Diff line change
Expand Up @@ -22,26 +22,14 @@ RUN /tmp/unminimize_system.sh && rm -f /tmp/unminimize_system.sh

# Add user for devcontainer, see ../.devcontainer/devcontainer.json
COPY docker/scripts/adduser_fpsdk.sh /tmp
RUN /tmp/adduser_fpsdk.sh && rm -f /tmp/adduser_fpsdk.sh
COPY docker/scripts/adduser_fpsdk /tmp/adduser_fpsdk
RUN /tmp/adduser_fpsdk.sh && rm -rf /tmp/adduser_fpsdk*

# # Install pre-commit hooks (fpsdk user)
# COPY .pre-commit-config.yaml /tmp
# COPY docker/scripts/install_precommithooks.sh /tmp
# RUN sudo -u fpsdk /tmp/install_precommithooks.sh && rm -f /tmp/install_precommithooks.sh /tmp/.pre-commit-config.yaml

# Install git-bash-prompt (fpsdk user)
COPY .devcontainer/fpsdk.bgptheme /tmp
COPY docker/scripts/install_gitbashprompt.sh /tmp
RUN sudo -u fpsdk /tmp/install_gitbashprompt.sh && rm -f /tmp/install_gitbashprompt.sh /tmp/.devcontainer/fpsdk.bgptheme

# Set timezone, sane language and locale
ENV TZ=Europe/Zurich
ENV LANG=en_GB.UTF-8
ENV LANGUAGE=en_GB
ENV LC_ALL=C.UTF-8
COPY docker/scripts/install_locales.sh /tmp
RUN /tmp/install_locales.sh && rm -f /tmp/install_locales.sh

# Install mcap
COPY docker/scripts/install_mcap.sh /tmp
RUN /tmp/install_mcap.sh && rm -f /tmp/install_mcap.sh
Expand Down
8 changes: 8 additions & 0 deletions docker/Dockerfile.jazzy-base
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,14 @@ ENTRYPOINT []
COPY docker/scripts/install_apt_base.sh /tmp
RUN /tmp/install_apt_base.sh && rm -f /tmp/install_apt_base.sh

# Set timezone, sane language and locale
ENV TZ=Europe/Zurich
ENV LANG=en_GB.UTF-8
ENV LANGUAGE=en_GB
ENV LC_ALL=C.UTF-8
COPY docker/scripts/install_locales.sh /tmp
RUN /tmp/install_locales.sh && rm -f /tmp/install_locales.sh

# Download, build and install clang-format
COPY docker/scripts/install_clangformat.sh /tmp
RUN /tmp/install_clangformat.sh && rm -f /tmp/install_clangformat.sh
Expand Down
16 changes: 2 additions & 14 deletions docker/Dockerfile.jazzy-dev
Original file line number Diff line number Diff line change
Expand Up @@ -22,26 +22,14 @@ RUN /tmp/unminimize_system.sh && rm -f /tmp/unminimize_system.sh

# Add user for devcontainer, see ../.devcontainer/devcontainer.json
COPY docker/scripts/adduser_fpsdk.sh /tmp
RUN /tmp/adduser_fpsdk.sh && rm -f /tmp/adduser_fpsdk.sh
COPY docker/scripts/adduser_fpsdk /tmp/adduser_fpsdk
RUN /tmp/adduser_fpsdk.sh && rm -rf /tmp/adduser_fpsdk*

# # Install pre-commit hooks (fpsdk user)
# COPY .pre-commit-config.yaml /tmp
# COPY docker/scripts/install_precommithooks.sh /tmp
# RUN sudo -u fpsdk /tmp/install_precommithooks.sh && rm -f /tmp/install_precommithooks.sh /tmp/.pre-commit-config.yaml

# Install git-bash-prompt (fpsdk user)
COPY .devcontainer/fpsdk.bgptheme /tmp
COPY docker/scripts/install_gitbashprompt.sh /tmp
RUN sudo -u fpsdk /tmp/install_gitbashprompt.sh && rm -f /tmp/install_gitbashprompt.sh /tmp/.devcontainer/fpsdk.bgptheme

# Set timezone, sane language and locale
ENV TZ=Europe/Zurich
ENV LANG=en_GB.UTF-8
ENV LANGUAGE=en_GB
ENV LC_ALL=C.UTF-8
COPY docker/scripts/install_locales.sh /tmp
RUN /tmp/install_locales.sh && rm -f /tmp/install_locales.sh

# Install mcap
COPY docker/scripts/install_mcap.sh /tmp
RUN /tmp/install_mcap.sh && rm -f /tmp/install_mcap.sh
Expand Down
8 changes: 8 additions & 0 deletions docker/Dockerfile.lyrical-base
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,14 @@ ENTRYPOINT []
COPY docker/scripts/install_apt_base.sh /tmp
RUN /tmp/install_apt_base.sh && rm -f /tmp/install_apt_base.sh

# Set timezone, sane language and locale
ENV TZ=Europe/Zurich
ENV LANG=en_GB.UTF-8
ENV LANGUAGE=en_GB
ENV LC_ALL=C.UTF-8
COPY docker/scripts/install_locales.sh /tmp
RUN /tmp/install_locales.sh && rm -f /tmp/install_locales.sh

# Download, build and install FFmpeg libraries (LGPL)
COPY docker/scripts/install_ffmpeg.sh /tmp
RUN /tmp/install_ffmpeg.sh && rm -f /tmp/install_ffmpeg.sh
Expand Down
16 changes: 2 additions & 14 deletions docker/Dockerfile.lyrical-dev
Original file line number Diff line number Diff line change
Expand Up @@ -22,26 +22,14 @@ RUN /tmp/unminimize_system.sh && rm -f /tmp/unminimize_system.sh

# Add user for devcontainer, see ../.devcontainer/devcontainer.json
COPY docker/scripts/adduser_fpsdk.sh /tmp
RUN /tmp/adduser_fpsdk.sh && rm -f /tmp/adduser_fpsdk.sh
COPY docker/scripts/adduser_fpsdk /tmp/adduser_fpsdk
RUN /tmp/adduser_fpsdk.sh && rm -rf /tmp/adduser_fpsdk*

# # Install pre-commit hooks (fpsdk user)
# COPY .pre-commit-config.yaml /tmp
# COPY docker/scripts/install_precommithooks.sh /tmp
# RUN sudo -u fpsdk /tmp/install_precommithooks.sh && rm -f /tmp/install_precommithooks.sh /tmp/.pre-commit-config.yaml

# Install git-bash-prompt (fpsdk user)
COPY .devcontainer/fpsdk.bgptheme /tmp
COPY docker/scripts/install_gitbashprompt.sh /tmp
RUN sudo -u fpsdk /tmp/install_gitbashprompt.sh && rm -f /tmp/install_gitbashprompt.sh /tmp/.devcontainer/fpsdk.bgptheme

# Set timezone, sane language and locale
ENV TZ=Europe/Zurich
ENV LANG=en_GB.UTF-8
ENV LANGUAGE=en_GB
ENV LC_ALL=C.UTF-8
COPY docker/scripts/install_locales.sh /tmp
RUN /tmp/install_locales.sh && rm -f /tmp/install_locales.sh

# Install mcap
COPY docker/scripts/install_mcap.sh /tmp
RUN /tmp/install_mcap.sh && rm -f /tmp/install_mcap.sh
Expand Down
8 changes: 8 additions & 0 deletions docker/Dockerfile.noetic-base
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,14 @@ RUN echo "deb [trusted=yes] http://packages.ros.org/ros/ubuntu focal main" > /et
COPY docker/scripts/install_apt_base.sh /tmp
RUN /tmp/install_apt_base.sh && rm -f /tmp/install_apt_base.sh

# Set timezone, sane language and locale
ENV TZ=Europe/Zurich
ENV LANG=en_GB.UTF-8
ENV LANGUAGE=en_GB
ENV LC_ALL=C.UTF-8
COPY docker/scripts/install_locales.sh /tmp
RUN /tmp/install_locales.sh && rm -f /tmp/install_locales.sh

# Download, build and install clang-format
COPY docker/scripts/install_clangformat.sh /tmp
RUN /tmp/install_clangformat.sh && rm -f /tmp/install_clangformat.sh
Expand Down
16 changes: 2 additions & 14 deletions docker/Dockerfile.noetic-dev
Original file line number Diff line number Diff line change
Expand Up @@ -20,26 +20,14 @@ RUN /tmp/unminimize_system.sh && rm -f /tmp/unminimize_system.sh

# Add user for devcontainer, see ../.devcontainer/devcontainer.json
COPY docker/scripts/adduser_fpsdk.sh /tmp
RUN /tmp/adduser_fpsdk.sh && rm -f /tmp/adduser_fpsdk.sh
COPY docker/scripts/adduser_fpsdk /tmp/adduser_fpsdk
RUN /tmp/adduser_fpsdk.sh && rm -rf /tmp/adduser_fpsdk*

# # Install pre-commit hooks (fpsdk user)
# COPY .pre-commit-config.yaml /tmp
# COPY docker/scripts/install_precommithooks.sh /tmp
# RUN sudo -u fpsdk /tmp/install_precommithooks.sh && rm -f /tmp/install_precommithooks.sh /tmp/.pre-commit-config.yaml

# Install git-bash-prompt (fpsdk user)
COPY .devcontainer/fpsdk.bgptheme /tmp
COPY docker/scripts/install_gitbashprompt.sh /tmp
RUN sudo -u fpsdk /tmp/install_gitbashprompt.sh && rm -f /tmp/install_gitbashprompt.sh /tmp/.devcontainer/fpsdk.bgptheme

# Set timezone, sane language and locale
ENV TZ=Europe/Zurich
ENV LANG=en_GB.UTF-8
ENV LANGUAGE=en_GB
ENV LC_ALL=C.UTF-8
COPY docker/scripts/install_locales.sh /tmp
RUN /tmp/install_locales.sh && rm -f /tmp/install_locales.sh

# Install mcap
COPY docker/scripts/install_mcap.sh /tmp
RUN /tmp/install_mcap.sh && rm -f /tmp/install_mcap.sh
Expand Down
8 changes: 8 additions & 0 deletions docker/Dockerfile.trixie-base
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,14 @@ ENV ROS_DISTRO=
COPY docker/scripts/install_apt_base.sh /tmp
RUN /tmp/install_apt_base.sh && rm -f /tmp/install_apt_base.sh

# Set timezone, sane language and locale
ENV TZ=Europe/Zurich
ENV LANG=en_GB.UTF-8
ENV LANGUAGE=en_GB
ENV LC_ALL=C.UTF-8
COPY docker/scripts/install_locales.sh /tmp
RUN /tmp/install_locales.sh && rm -f /tmp/install_locales.sh

# Download, build and install Doxygen
COPY docker/scripts/install_doxygen.sh /tmp
RUN /tmp/install_doxygen.sh && rm -f /tmp/install_doxygen.sh
Expand Down
16 changes: 2 additions & 14 deletions docker/Dockerfile.trixie-dev
Original file line number Diff line number Diff line change
Expand Up @@ -18,26 +18,14 @@ ENV FPSDK_IMAGE=trixie-dev

# Add user for devcontainer, see ../.devcontainer/devcontainer.json
COPY docker/scripts/adduser_fpsdk.sh /tmp
RUN /tmp/adduser_fpsdk.sh && rm -f /tmp/adduser_fpsdk.sh
COPY docker/scripts/adduser_fpsdk /tmp/adduser_fpsdk
RUN /tmp/adduser_fpsdk.sh && rm -rf /tmp/adduser_fpsdk*

# Install pre-commit hooks (fpsdk user)
COPY .pre-commit-config.yaml /tmp
COPY docker/scripts/install_precommithooks.sh /tmp
RUN sudo -u fpsdk /tmp/install_precommithooks.sh && rm -f /tmp/install_precommithooks.sh /tmp/.pre-commit-config.yaml

# Install git-bash-prompt (fpsdk user)
COPY .devcontainer/fpsdk.bgptheme /tmp
COPY docker/scripts/install_gitbashprompt.sh /tmp
RUN sudo -u fpsdk /tmp/install_gitbashprompt.sh && rm -f /tmp/install_gitbashprompt.sh /tmp/.devcontainer/fpsdk.bgptheme

# Set timezone, sane language and locale
ENV TZ=Europe/Zurich
ENV LANG=en_GB.UTF-8
ENV LANGUAGE=en_GB
ENV LC_ALL=C.UTF-8
COPY docker/scripts/install_locales.sh /tmp
RUN /tmp/install_locales.sh && rm -f /tmp/install_locales.sh

# Install mcap
COPY docker/scripts/install_mcap.sh /tmp
RUN /tmp/install_mcap.sh && rm -f /tmp/install_mcap.sh
Expand Down
Loading
Loading