Skip to content

Add Java (Temurin/OpenJDK) feature with optional Maven, Gradle, and Ant - #54

Draft
Roemer with Copilot wants to merge 3 commits into
mainfrom
copilot/install-java-maven-gradle-ant
Draft

Add Java (Temurin/OpenJDK) feature with optional Maven, Gradle, and Ant#54
Roemer with Copilot wants to merge 3 commits into
mainfrom
copilot/install-java-maven-gradle-ant

Conversation

Copilot AI commented Apr 30, 2026

Copy link
Copy Markdown
Contributor

Adds a new java devcontainer feature that installs Temurin/OpenJDK JDK with optional build tool installation (Maven, Gradle, Ant).

Feature structure

  • Java: downloads from Adoptium API (api.adoptium.net); supports latest (resolves to most recent LTS), major version (21), and exact version (21.0.5)
  • Maven / Gradle / Ant: optional, default none; each with independent version + URL override options
  • JAVA_HOME and /usr/local/java/bin added to containerEnv; Maven/Gradle/Ant binaries symlinked into /usr/local/bin (avoids unconditional PATH/HOME pollution for optional tools)

Version resolution

Java version handling requires mapping resolved versions (e.g. 21.0.7) back to Adoptium release names (e.g. jdk-21.0.7+6) for download URL construction. IsFullVersion always returns false so all requests go through GetAllVersions() / GetLatestVersion() to populate this map before InstallVersion runs.

Gradle overrides IsFullVersion similarly to handle mixed 2- and 3-segment versions (8.14 vs 8.2.1).

Example usage

"features": {
    "ghcr.io/postfinance/devcontainer-features/java:1": {
        "version": "21",
        "mavenVersion": "latest",
        "gradleVersion": "none",
        "antVersion": "none"
    }
}

Other changes

  • build/build.go: registers Feature:java:Package / Feature:java:Test tasks
  • override-all.env: adds 9 Java-related URL override keys (JAVA_DOWNLOAD_URL, JAVA_LATEST_URL, JAVA_MAVEN_DOWNLOAD_URL, etc.)
  • README.md: auto-updated via Update-Readme-Files / Update-Readme-Main build tasks
Copilot AI changed the title [WIP] Add feature to install Java, Maven, Gradle, Ant Add Java (Temurin/OpenJDK) feature with optional Maven, Gradle, and Ant Apr 30, 2026
Copilot AI requested a review from Roemer April 30, 2026 16:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

4 participants