diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile deleted file mode 100644 index 804a6d446..000000000 --- a/.devcontainer/Dockerfile +++ /dev/null @@ -1,13 +0,0 @@ -ARG VARIANT=17-bullseye -FROM mcr.microsoft.com/vscode/devcontainers/java:0-${VARIANT} - -ARG NODE_VERSION="none" -RUN if [ "${NODE_VERSION}" != "none" ]; then su vscode -c "umask 0002 && . /usr/local/share/nvm/nvm.sh && nvm install ${NODE_VERSION} 2>&1"; fi - -ARG USER=vscode -VOLUME /home/$USER/.m2 -VOLUME /home/$USER/.gradle - -ARG JAVA_VERSION=17.0.7-ms -RUN sudo mkdir /home/$USER/.m2 /home/$USER/.gradle && sudo chown $USER:$USER /home/$USER/.m2 /home/$USER/.gradle -RUN bash -lc '. /usr/local/sdkman/bin/sdkman-init.sh && sdk install java $JAVA_VERSION && sdk use java $JAVA_VERSION' diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index a732481a5..3aa67afc1 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -1,32 +1,25 @@ { - "name": "Petclinic", - "dockerFile": "Dockerfile", - "runArgs": [ - "--cap-add=SYS_PTRACE", - "--security-opt", - "seccomp=unconfined", - "--mount", - "type=bind,source=${env:HOME}/.m2,target=/home/vscode/.m2", - "--mount", - "type=bind,source=${env:HOME}/.gradle,target=/home/vscode/.gradle", - "--env", - "GRADLE_USER_HOME=/home/vscode/.gradle" - ], - "initializeCommand": "mkdir -p ${env:HOME}/.m2 ${env:HOME}/.gradle", - "postCreateCommand": "sudo chown vscode:vscode /home/vscode/.m2 /home/vscode/.gradle", - "remoteUser": "vscode", - "features": { - "docker-in-docker": "latest" - }, - "extensions": [ - "vscjava.vscode-java-pack", - "redhat.vscode-xml", - "vmware.vscode-boot-dev-pack", - "mhutchie.git-graph" - ], - "forwardPorts": [8080], - "settings": { - "java.import.gradle.enabled": false, - "java.server.launchMode": "Standard" - } + "name": "Java", + "image": "mcr.microsoft.com/devcontainers/base:ubuntu", + "features": { + "ghcr.io/devcontainers/features/java:1": { + "version": "21-oracle", + "jdkDistro": "oracle" + }, + "ghcr.io/devcontainers/features/azure-cli:1": {}, + "ghcr.io/devcontainers/features/docker-in-docker:2": {}, + "ghcr.io/devcontainers/features/github-cli:1": {} + }, + + "customizations": { + "vscode": { + "settings": {}, + "extensions": [ + "redhat.vscode-xml", + "visualstudioexptteam.vscodeintellicode", + "vscjava.vscode-java-pack" + ] + } + }, + "remoteUser": "vscode" } diff --git a/build.gradle b/build.gradle index fa6ff0cef..397f898bc 100644 --- a/build.gradle +++ b/build.gradle @@ -1,6 +1,6 @@ plugins { id 'java' - id 'org.springframework.boot' version '3.3.0' + id 'org.springframework.boot' version '3.3.2' id 'io.spring.dependency-management' version '1.1.5' id 'org.graalvm.buildtools.native' version '0.10.2' id 'org.cyclonedx.bom' version '1.8.2' diff --git a/pom.xml b/pom.xml index a9bbd2959..c948f9e33 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ org.springframework.boot spring-boot-starter-parent - 3.3.0 + 3.3.2 petclinic @@ -221,7 +221,7 @@ spring-boot-maven-plugin - build-info @@ -385,7 +385,7 @@ - org.eclipse.m2e @@ -443,4 +443,4 @@ - \ No newline at end of file + diff --git a/readme.md b/readme.md index 14b3c495f..9dea4591b 100644 --- a/readme.md +++ b/readme.md @@ -47,7 +47,7 @@ In its default configuration, Petclinic uses an in-memory database (H2) which gets populated at startup with data. The h2 console is exposed at `http://localhost:8080/h2-console`, and it is possible to inspect the content of the database using the `jdbc:h2:mem:` URL. The UUID is printed at startup to the console. -A similar setup is provided for MySQL and PostgreSQL if a persistent database configuration is needed. Note that whenever the database type changes, the app needs to run with a different profile: `spring.profiles.active=mysql` for MySQL or `spring.profiles.active=postgres` for PostgreSQL. +A similar setup is provided for MySQL and PostgreSQL if a persistent database configuration is needed. Note that whenever the database type changes, the app needs to run with a different profile: `spring.profiles.active=mysql` for MySQL or `spring.profiles.active=postgres` for PostgreSQL. See the [Spring Boot documentation](https://docs.spring.io/spring-boot/how-to/properties-and-configuration.html#howto.properties-and-configuration.set-active-spring-profiles) for more detail on how to set the active profile. You can start MySQL or PostgreSQL locally with whatever installer works for your OS or use docker: