File tree 7 files changed +41
-11
lines changed
artifacts/opt/jboss/container/java/jlink
s2i/bash/artifacts/usr/local/s2i
7 files changed +41
-11
lines changed Original file line number Diff line number Diff line change 2
2
3
3
function generatejdkdeps() {
4
4
echo " Generating JDK deps"
5
- $JAVA_HOME /bin/java --list-modules > java-modules.txt
6
- < java-modules.txt sed " s/\\ @.*//" > modules.txt
7
- grep -Fx -f stripped-deps.txt modules.txt | tr ' \n' ' ,' | tr -d " [:space:]" > module-deps.txt
8
- echo " jdk.zipfs" >> module-deps.txt
5
+ $JAVA_HOME /bin/java --list-modules > $S2I_JLINK_TEMP_PATH / java-modules.txt
6
+ < $S2I_JLINK_TEMP_PATH / java-modules.txt sed " s/\\ @.*//" > $S2I_JLINK_TEMP_PATH / modules.txt
7
+ grep -Fx -f $S2I_JLINK_TEMP_PATH / stripped-deps.txt $S2I_JLINK_TEMP_PATH / modules.txt | tr ' \n' ' ,' | tr -d " [:space:]" > $S2I_JLINK_TEMP_PATH / module-deps.txt
8
+ echo " jdk.zipfs" >> $S2I_JLINK_TEMP_PATH / module-deps.txt
9
9
}
Original file line number Diff line number Diff line change @@ -21,12 +21,12 @@ function generate_deps() {
21
21
--module-path dependencies \
22
22
" $JAVA_APP_JAR " \
23
23
" $JAVA_LIB_DIR " /** /* .jar \
24
- > deps.txt
24
+ > $S2I_JLINK_TEMP_PATH / deps.txt
25
25
else
26
26
$JAVA_HOME /bin/jdeps --multi-release $JAVA_VERSION -R -s \
27
27
--module-path dependencies \
28
28
" $JAVA_APP_JAR " \
29
- > deps.txt
30
- cat deps.txt
29
+ > $S2I_JLINK_TEMP_PATH / deps.txt
30
+ cat $S2I_JLINK_TEMP_PATH / deps.txt
31
31
fi
32
32
}
Original file line number Diff line number Diff line change 2
2
# TODO: Still Needed?
3
3
set -euo pipefail
4
4
5
- depsfile=" module-deps.txt"
5
+ depsfile=" $S2I_JLINK_TEMP_PATH / module-deps.txt"
6
6
7
7
function generate_jre_image() {
8
8
test -f $depsfile
Original file line number Diff line number Diff line change 2
2
set -euo pipefail
3
3
4
4
function mkstrippeddeps() {
5
- if [ -f " deps.txt" ]; then
5
+ if [ -f " $S2I_JLINK_TEMP_PATH / deps.txt" ]; then
6
6
echo " deps exists, filtering"
7
- < deps.txt \
7
+ < $S2I_JLINK_TEMP_PATH / deps.txt \
8
8
grep ' java\|jdk\.' | # mostly removes target/, but also jdk8internals
9
9
sed -E " s/Warning: .*//" | # remove extraneous warnings
10
10
sed -E " s/.*-> //" | # remove src of src -> dep
11
11
sed -E " s/.*\.jar//" | # remove extraneous dependencies
12
12
sed " s#/.*##" | # delete anything after a slash. in practice target/..
13
13
sort | uniq |
14
- tee stripped-deps.txt
14
+ tee $S2I_JLINK_TEMP_PATH / stripped-deps.txt
15
15
echo " Stripping dependencies complete"
16
16
else
17
17
echo " deps does not exist"
Original file line number Diff line number Diff line change 14
14
value : /opt/jboss/container/java/jlink
15
15
- name : S2I_JLINK_OUTPUT_PATH
16
16
value : /tmp/jre
17
+ - name : S2I_JLINK_TEMP_PATH
18
+ value : /tmp/jlink
17
19
18
20
modules :
19
21
install :
Original file line number Diff line number Diff line change @@ -18,3 +18,19 @@ Scenario: Check that /tmp/jre/bin/java and /tmp/jre/lib/modules exist post s2i b
18
18
| S2I_ENABLE_JLINK | true |
19
19
Then file /tmp/jre/bin/java should exist and be a file
20
20
And file /tmp/jre/lib/modules should exist and be a file
21
+
22
+ Scenario : Check that /tmp/jlink is deleted when S2I_DELETE_SOURCE is set
23
+ Given s2i build https://github.com/rh-openjdk/openjdk-container-test-applications from quarkus-quickstarts/getting-started-3.9.2-uberjar
24
+ | variable | value |
25
+ | S2I_ENABLE_JLINK | true |
26
+ | S2I_DELETE_SOURCE | true |
27
+ Then s2i build log should contain Cleaning up temporary file directory /tmp/jlink
28
+ And file /tmp/jlink should not exist
29
+
30
+ Scenario : Check that /tmp/jlink is not deleted when S2I_DELETE_SOURCE is set to false
31
+ Given s2i build https://github.com/rh-openjdk/openjdk-container-test-applications from quarkus-quickstarts/getting-started-3.9.2-uberjar
32
+ | variable | value |
33
+ | S2I_ENABLE_JLINK | true |
34
+ | S2I_DELETE_SOURCE | false |
35
+ Then s2i build log should not contain Cleaning up temporary file directory /tmp/jlink
36
+ And file /tmp/jlink should exist
Original file line number Diff line number Diff line change @@ -25,6 +25,11 @@ if [ "$S2I_ENABLE_JLINK" = "true" ]; then
25
25
jlink_techpreview_warning
26
26
jlink_preflight_check
27
27
28
+ if [ ! -d " ${S2I_JLINK_TEMP_PATH} " ]; then
29
+ log_info " S2I_JLINK_TEMP_PATH does not exist, creating ${S2I_JLINK_TEMP_PATH} "
30
+ mkdir -pm 775 " ${S2I_JLINK_TEMP_PATH} "
31
+ fi
32
+
28
33
source " ${JBOSS_CONTAINER_JAVA_JLINK_MODULE} /mkdeps.sh"
29
34
echo " Invoking mkdeps"
30
35
generate_deps || {
@@ -53,4 +58,11 @@ if [ "$S2I_ENABLE_JLINK" = "true" ]; then
53
58
exit 1
54
59
}
55
60
61
+ if [ " $S2I_DELETE_SOURCE " == " true" ]; then
62
+ if [ -n " $( find $S2I_JLINK_TEMP_PATH -maxdepth 0 -type d ! -empty 2> /dev/null) " ]; then
63
+ log_info " Cleaning up temporary file directory $S2I_JLINK_TEMP_PATH "
64
+ rm -rf $S2I_JLINK_TEMP_PATH
65
+ fi
66
+ fi
56
67
fi
68
+
You can’t perform that action at this time.
0 commit comments