diff --git a/.devcontainer/.dockerignore b/.devcontainer/.dockerignore new file mode 100644 index 00000000..0e1e95c1 --- /dev/null +++ b/.devcontainer/.dockerignore @@ -0,0 +1,6 @@ +# The devcontainer metadata is read by the CLI, not by the image build, so +# keeping it out of the build context avoids a needless cache invalidation on +# every edit to devcontainer.json. +devcontainer.json +devcontainer-lock.json +env-info.conf diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile new file mode 100644 index 00000000..47b4d533 --- /dev/null +++ b/.devcontainer/Dockerfile @@ -0,0 +1,16 @@ +# Development image for this repository. +# +# Deliberately thin. The zsh configuration (prompt, autosuggestions) and +# commitizen setup that used to be cloned and copied in from post-create.sh are +# now in the devbase Feature: +# https://github.com/centralnicgroup-opensource/rtldev-middleware-devcontainer-features +# +# The JDK and Maven come from the java devcontainer Feature, declared in +# devcontainer.json, so this file does not pin a language image either. + +FROM mcr.microsoft.com/devcontainers/base:2-ubuntu-24.04 + +# No ENV DEBIAN_FRONTEND here on purpose: set at image level it persists into the +# running container, so an interactive `apt` in a shell session also loses its +# frontend. A layer that needs it sets it for itself. +ENV TERM=xterm-256color diff --git a/.devcontainer/env-info.conf b/.devcontainer/env-info.conf new file mode 100644 index 00000000..b0ec3e3b --- /dev/null +++ b/.devcontainer/env-info.conf @@ -0,0 +1,13 @@ +# Drives the on-attach banner the devbase Feature prints. Sourced as shell, so +# quote values containing spaces. Every setting is optional; see +# https://github.com/centralnicgroup-opensource/rtldev-middleware-devcontainer-features + +TITLE="JAVA-SDK - development environment" + +SHOW_JAVA=true +SHOW_NODE=auto + +# Node is here for the release tooling only, not for the product code. +NODE_DEPS="semantic-release" + +EXTRA_ROWS="Maven|mvn --version|3"