Skip to content

Commit 0ddc10b

Browse files
authored
Merge pull request #449 from jboss-container-images/OPENJDK-2736-jlink-fail-early-jmods
OPENJDK-2736 and OPENJDK-2737: gate Jlink code, fail early if jmods unavailable
2 parents 26c28b3 + 897a419 commit 0ddc10b

File tree

2 files changed

+33
-13
lines changed
  • modules

2 files changed

+33
-13
lines changed
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
jlink_preflight_check()
2+
{
3+
# preflight check: do we have what we need?
4+
if [ "$JAVA_VERSION" -lt 11 ]; then
5+
echo "Jlink integration not available for JDK${JAVA_VERSION}!"
6+
echo "Jlink integration is only supported for JDK versions 11 and newer."
7+
exit 1
8+
fi
9+
if [ ! -d /usr/lib/jvm/java/jmods ]; then
10+
echo "Jlink integration requires the jmods RPM to be installed in the builder image, e.g."
11+
echo " microdnf install -y java-${JAVA_VERSION}-openjdk-jmods"
12+
exit 1
13+
fi
14+
}

modules/s2i/bash/artifacts/usr/local/s2i/assemble

Lines changed: 19 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -16,22 +16,28 @@ maven_s2i_build
1616

1717
# run the pathfinder scripts to define JAVA_APP_JAR and JAVA_LIB_DIR
1818
source "${JBOSS_CONTAINER_UTIL_PATHFINDER_MODULE}/pathfinder.sh"
19-
echo "Setting up java app and lib variables"
2019
setup_java_app_and_lib
2120

2221
# include our jlink scripts
23-
source "${JBOSS_CONTAINER_JAVA_JLINK_MODULE}/mkdeps.sh"
24-
echo "Invoking mkdeps"
25-
generate_deps
22+
if [ "$S2I_ENABLE_JLINK" = "true" ]; then
2623

27-
source "${JBOSS_CONTAINER_JAVA_JLINK_MODULE}/mkstrippeddeps.sh"
28-
echo "Stripping dependencies"
29-
mkstrippeddeps
24+
source "${JBOSS_CONTAINER_JAVA_JLINK_MODULE}/preflight.sh"
25+
jlink_preflight_check
3026

31-
source "${JBOSS_CONTAINER_JAVA_JLINK_MODULE}/generatejdkdeps.sh"
32-
echo "Generating JDK dependencies"
33-
generatejdkdeps
27+
source "${JBOSS_CONTAINER_JAVA_JLINK_MODULE}/mkdeps.sh"
28+
echo "Invoking mkdeps"
29+
generate_deps
3430

35-
source "${JBOSS_CONTAINER_JAVA_JLINK_MODULE}/mkjreimage.sh"
36-
echo "Linking jre"
37-
generate_jre_image
31+
source "${JBOSS_CONTAINER_JAVA_JLINK_MODULE}/mkstrippeddeps.sh"
32+
echo "Stripping dependencies"
33+
mkstrippeddeps
34+
35+
source "${JBOSS_CONTAINER_JAVA_JLINK_MODULE}/generatejdkdeps.sh"
36+
echo "Generating JDK dependencies"
37+
generatejdkdeps
38+
39+
source "${JBOSS_CONTAINER_JAVA_JLINK_MODULE}/mkjreimage.sh"
40+
echo "Linking jre"
41+
generate_jre_image
42+
43+
fi

0 commit comments

Comments
 (0)