diff options
author | Samruddhi Khandale <skhandale@microsoft.com> | 2022-09-24 00:25:58 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-09-24 00:25:58 +0300 |
commit | 3a28652790def9f3172561fa2907191bf5c0cab0 (patch) | |
tree | 24cd5a658ddb047f833a4a3a24a2683bb88fdf6e /src/java | |
parent | ceb4544cc38d4882a0294c79f4ef8123435cb027 (diff) |
Java: add jdkDistro option (#172)
* add jdkDistro option
* bump version
Diffstat (limited to 'src/java')
-rw-r--r-- | src/java/devcontainer-feature.json | 13 | ||||
-rwxr-xr-x | src/java/install.sh | 14 |
2 files changed, 20 insertions, 7 deletions
diff --git a/src/java/devcontainer-feature.json b/src/java/devcontainer-feature.json index 4e7781b..3d8b8d8 100644 --- a/src/java/devcontainer-feature.json +++ b/src/java/devcontainer-feature.json @@ -1,6 +1,6 @@ { "id": "java", - "version": "1.0.8", + "version": "1.0.9", "name": "Java (via SDKMAN!)", "documentationURL": "https://github.com/devcontainers/features/tree/main/src/java", "description": "Installs Java, SDKMAN! (if not installed), and needed dependencies.", @@ -17,6 +17,17 @@ "default": "latest", "description": "Select or enter a Java version to install" }, + "jdkDistro": { + "type": "string", + "proposals": [ + "ms", + "open", + "oracle", + "tem" + ], + "default": "ms", + "description": "Select or enter a JDK distribution" + }, "installGradle": { "type": "boolean", "default": false, diff --git a/src/java/install.sh b/src/java/install.sh index 616a626..838f782 100755 --- a/src/java/install.sh +++ b/src/java/install.sh @@ -12,6 +12,7 @@ JAVA_VERSION=${VERSION:-"lts"} INSTALL_GRADLE=${INSTALLGRADLE:-"false"} INSTALL_MAVEN=${INSTALLMAVEN:-"false"} +JDK_DISTRO=${JDKDISTRO} export SDKMAN_DIR=${SDKMAN_DIR:-"/usr/local/sdkman"} USERNAME=${USERNAME:-"automatic"} @@ -76,12 +77,13 @@ check_packages() { fi } -# Use Microsoft JDK for everything but JDK 8 -jdk_distro="ms" +# Use Microsoft JDK for everything but JDK 8 and 18 (unless specified differently with jdkDistro option) get_jdk_distro() { VERSION="$1" - if echo "${VERSION}" | grep -E '^8([\s\.]|$)' > /dev/null 2>&1; then - jdk_distro="tem" + if [ "${JDK_DISTRO}" = "ms" ]; then + if echo "${VERSION}" | grep -E '^8([\s\.]|$)' > /dev/null 2>&1 || echo "${VERSION}" | grep -E '^18([\s\.]|$)' > /dev/null 2>&1; then + JDK_DISTRO="tem" + fi fi } @@ -149,7 +151,7 @@ if [ ! -d "${SDKMAN_DIR}" ]; then fi get_jdk_distro ${JAVA_VERSION} -sdk_install java ${JAVA_VERSION} "\\s*" "(\\.[a-z0-9]+)*-${jdk_distro}\\s*" ".*-[a-z]+$" "true" +sdk_install java ${JAVA_VERSION} "\\s*" "(\\.[a-z0-9]+)*-${JDK_DISTRO}\\s*" ".*-[a-z]+$" "true" # Additional java versions to be installed but not be set as default. if [ ! -z "${ADDITIONAL_VERSIONS}" ]; then @@ -158,7 +160,7 @@ if [ ! -z "${ADDITIONAL_VERSIONS}" ]; then read -a additional_versions <<< "$ADDITIONAL_VERSIONS" for version in "${additional_versions[@]}"; do get_jdk_distro ${version} - sdk_install java ${version} "\\s*" "(\\.[a-z0-9]+)*-${jdk_distro}\\s*" ".*-[a-z]+$" "false" + sdk_install java ${version} "\\s*" "(\\.[a-z0-9]+)*-${JDK_DISTRO}\\s*" ".*-[a-z]+$" "false" done IFS=$OLDIFS su ${USERNAME} -c ". ${SDKMAN_DIR}/bin/sdkman-init.sh && sdk default java ${JAVA_VERSION}" |