aboutsummaryrefslogtreecommitdiff
path: root/src/java/devcontainer-feature.json
blob: 0c2a968356998bf18678ae6c8a3f8ae8a4a805a5 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
{
  "id": "java",
  "name": "Java (via SDKMAN!)",
  "description": "Installs Java, SDKMAN! (if not installed), and needed dependencies.",
  "options": {
    "version": {
      "type": "string",
      "proposals": [
        "lts",
        "latest",
        "none",
        "17",
        "11",
        "8"
      ],
      "default": "lts",
      "description": "Select or enter a Java version to install"
    },
    "install_gradle": {
      "type": "boolean",
      "default": false,
      "description": "Install Gradle, a build automation tool for multi-language software development"
    },
    "install_maven": {
      "type": "boolean",
      "default": false,
      "description": "Install Maven, a management tool for Java"
    }
  },
  "buildArg": "_VSC_INSTALL_JAVA",
  "extensions": [
    "vscjava.vscode-java-pack"
  ],
  "containerEnv": {
    "SDKMAN_DIR": "/usr/local/sdkman",
    "GRADLE_USER_HOME": "${HOME}/.gradle",
    "M2": "${HOME}/.m2",
    "PATH": "${SDKMAN_DIR}/bin:${SDKMAN_DIR}/candidates/java/current/bin:${SDKMAN_DIR}/candidates/gradle/current/bin:${SDKMAN_DIR}/candidates/maven/current/bin:${PATH}"
  },
  "settings": {
    "java.import.gradle.java.home": "/usr/local/sdkman/candidates/java/current"
  }
}