Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
D
devcontainer-features
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
eazydevelop-devcontainer-temp
devcontainer-features
Commits
3a286527
Unverified
Commit
3a286527
authored
Sep 23, 2022
by
Samruddhi Khandale
Committed by
GitHub
Sep 23, 2022
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Java: add jdkDistro option (#172)
* add jdkDistro option * bump version
parent
ceb4544c
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
42 additions
and
9 deletions
+42
-9
devcontainer-feature.json
src/java/devcontainer-feature.json
+12
-1
install.sh
src/java/install.sh
+8
-6
install_additional_java.sh
test/java/install_additional_java.sh
+1
-1
install_from_non_default_distro.sh
test/java/install_from_non_default_distro.sh
+11
-0
scenarios.json
test/java/scenarios.json
+10
-1
No files found.
src/java/devcontainer-feature.json
View file @
3a286527
{
{
"id"
:
"java"
,
"id"
:
"java"
,
"version"
:
"1.0.
8
"
,
"version"
:
"1.0.
9
"
,
"name"
:
"Java (via SDKMAN!)"
,
"name"
:
"Java (via SDKMAN!)"
,
"documentationURL"
:
"https://github.com/devcontainers/features/tree/main/src/java"
,
"documentationURL"
:
"https://github.com/devcontainers/features/tree/main/src/java"
,
"description"
:
"Installs Java, SDKMAN! (if not installed), and needed dependencies."
,
"description"
:
"Installs Java, SDKMAN! (if not installed), and needed dependencies."
,
...
@@ -17,6 +17,17 @@
...
@@ -17,6 +17,17 @@
"default"
:
"latest"
,
"default"
:
"latest"
,
"description"
:
"Select or enter a Java version to install"
"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"
:
{
"installGradle"
:
{
"type"
:
"boolean"
,
"type"
:
"boolean"
,
"default"
:
false
,
"default"
:
false
,
...
...
src/java/install.sh
View file @
3a286527
...
@@ -12,6 +12,7 @@
...
@@ -12,6 +12,7 @@
JAVA_VERSION
=
${
VERSION
:-
"lts"
}
JAVA_VERSION
=
${
VERSION
:-
"lts"
}
INSTALL_GRADLE
=
${
INSTALLGRADLE
:-
"false"
}
INSTALL_GRADLE
=
${
INSTALLGRADLE
:-
"false"
}
INSTALL_MAVEN
=
${
INSTALLMAVEN
:-
"false"
}
INSTALL_MAVEN
=
${
INSTALLMAVEN
:-
"false"
}
JDK_DISTRO
=
${
JDKDISTRO
}
export
SDKMAN_DIR
=
${
SDKMAN_DIR
:-
"/usr/local/sdkman"
}
export
SDKMAN_DIR
=
${
SDKMAN_DIR
:-
"/usr/local/sdkman"
}
USERNAME
=
${
USERNAME
:-
"automatic"
}
USERNAME
=
${
USERNAME
:-
"automatic"
}
...
@@ -76,12 +77,13 @@ check_packages() {
...
@@ -76,12 +77,13 @@ check_packages() {
fi
fi
}
}
# Use Microsoft JDK for everything but JDK 8
# Use Microsoft JDK for everything but JDK 8 and 18 (unless specified differently with jdkDistro option)
jdk_distro
=
"ms"
get_jdk_distro
()
{
get_jdk_distro
()
{
VERSION
=
"
$1
"
VERSION
=
"
$1
"
if
echo
"
${
VERSION
}
"
|
grep
-E
'^8([\s\.]|$)'
>
/dev/null 2>&1
;
then
if
[
"
${
JDK_DISTRO
}
"
=
"ms"
]
;
then
jdk_distro
=
"tem"
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
fi
}
}
...
@@ -149,7 +151,7 @@ if [ ! -d "${SDKMAN_DIR}" ]; then
...
@@ -149,7 +151,7 @@ if [ ! -d "${SDKMAN_DIR}" ]; then
fi
fi
get_jdk_distro
${
JAVA_VERSION
}
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.
# Additional java versions to be installed but not be set as default.
if
[
!
-z
"
${
ADDITIONAL_VERSIONS
}
"
]
;
then
if
[
!
-z
"
${
ADDITIONAL_VERSIONS
}
"
]
;
then
...
@@ -158,7 +160,7 @@ if [ ! -z "${ADDITIONAL_VERSIONS}" ]; then
...
@@ -158,7 +160,7 @@ if [ ! -z "${ADDITIONAL_VERSIONS}" ]; then
read
-a
additional_versions
<<<
"
$ADDITIONAL_VERSIONS
"
read
-a
additional_versions
<<<
"
$ADDITIONAL_VERSIONS
"
for
version
in
"
${
additional_versions
[@]
}
"
;
do
for
version
in
"
${
additional_versions
[@]
}
"
;
do
get_jdk_distro
${
version
}
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
done
IFS
=
$OLDIFS
IFS
=
$OLDIFS
su
${
USERNAME
}
-c
".
${
SDKMAN_DIR
}
/bin/sdkman-init.sh && sdk default java
${
JAVA_VERSION
}
"
su
${
USERNAME
}
-c
".
${
SDKMAN_DIR
}
/bin/sdkman-init.sh && sdk default java
${
JAVA_VERSION
}
"
...
...
test/java/install_additional_java.sh
View file @
3a286527
...
@@ -5,7 +5,7 @@ set -e
...
@@ -5,7 +5,7 @@ set -e
# Optional: Import test library
# Optional: Import test library
source
dev-container-features-test-lib
source
dev-container-features-test-lib
check
"java version 1
7 installed as default"
java
--version
|
grep
17
check
"java version 1
8 installed as default"
java
--version
|
grep
18
check
"java version 11 installed"
ls
/usr/local/sdkman/candidates/java |
grep
11
check
"java version 11 installed"
ls
/usr/local/sdkman/candidates/java |
grep
11
check
"java version 8 installed"
ls
/usr/local/sdkman/candidates/java |
grep
8
check
"java version 8 installed"
ls
/usr/local/sdkman/candidates/java |
grep
8
...
...
test/java/install_from_non_default_distro.sh
0 → 100644
View file @
3a286527
#!/bin/bash
set
-e
# Optional: Import test library
source
dev-container-features-test-lib
check
"java version 18 installed as default"
java
--version
|
grep
18
# Report result
reportResults
test/java/scenarios.json
View file @
3a286527
{
{
"install_from_non_default_distro"
:
{
"image"
:
"ubuntu:focal"
,
"features"
:
{
"java"
:
{
"version"
:
"18"
,
"jdkDistro"
:
"open"
}
}
},
"install_additional_java"
:
{
"install_additional_java"
:
{
"image"
:
"ubuntu:focal"
,
"image"
:
"ubuntu:focal"
,
"features"
:
{
"features"
:
{
"java"
:
{
"java"
:
{
"version"
:
"1
7
"
,
"version"
:
"1
8
"
,
"additionalVersions"
:
"11,8"
"additionalVersions"
:
"11,8"
}
}
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment