File tree Expand file tree Collapse file tree 5 files changed +40
-31
lines changed
jlink/artifacts/opt/jboss/container/java/jlink
bash/artifacts/usr/local/s2i
core/artifacts/opt/jboss/container/s2i/core Expand file tree Collapse file tree 5 files changed +40
-31
lines changed Original file line number Diff line number Diff line change @@ -3,18 +3,25 @@ set -euo pipefail
3
3
shopt -s globstar
4
4
5
5
function generate_deps() {
6
- # Test that file dependencies exist
7
- test -f " $JAVA_APP_JAR "
8
- test -d " $JAVA_LIB_DIR "
9
-
10
6
# Create a temporary directory for a module path
11
7
# This works around "Module java.xml.bind not found, required by java.ws.rs"
12
8
mkdir dependencies
13
- find $JAVA_LIB_DIR -type f -name ' *.jar' -print0 | xargs -r0 cp -vt dependencies
14
9
15
- $JAVA_HOME /bin/jdeps --multi-release $JAVA_VERSION -R -s \
16
- --module-path dependencies \
17
- " $JAVA_APP_JAR " \
18
- " $JAVA_LIB_DIR " /** /* .jar \
19
- > deps.txt
10
+ if [[ -v JAVA_LIB_DIR ]]; then
11
+ # copy dependencies found in libs to dependencies
12
+ find $JAVA_LIB_DIR -type f -name ' *.jar' -print0 | xargs -r0 cp -vt dependencies
13
+ # generate the dependency list
14
+ $JAVA_HOME /bin/jdeps --multi-release $JAVA_VERSION -R -s \
15
+ --module-path dependencies \
16
+ " $JAVA_APP_JAR " \
17
+ " $JAVA_LIB_DIR " /** /* .jar \
18
+ > deps.txt
19
+ cat deps.txt
20
+ else
21
+ $JAVA_HOME /bin/jdeps --multi-release $JAVA_VERSION -R -s \
22
+ --module-path dependencies \
23
+ " $JAVA_APP_JAR " \
24
+ > deps.txt
25
+ cat deps.txt
26
+ fi
20
27
}
Original file line number Diff line number Diff line change 2
2
# TODO: Still Needed?
3
3
set -euo pipefail
4
4
5
- outdir=" ${outdir-spring-boot-jre} "
6
5
depsfile=" module-deps.txt"
7
6
8
7
function generate_jre_image() {
9
8
test -f $depsfile
10
9
modules=" $( cat $depsfile ) "
11
10
12
- $JAVA_HOME /bin/jlink --output " ${outdir} / jre" \
11
+ $JAVA_HOME /bin/jlink --output " jre" \
13
12
--add-modules " $modules " \
14
13
--strip-debug --no-header-files --no-man-pages \
15
14
--compress=2
Original file line number Diff line number Diff line change 2
2
set -euo pipefail
3
3
4
4
function mkstrippeddeps() {
5
- test -f deps.txt
6
- < deps.txt \
7
- grep ' java\|jdk\.' | # mostly removes target/, but also jdk8internals
8
- sed -E " s/Warning: .*//" | # remove extraneous warnings
9
- sed -E " s/.*-> //" | # remove src of src -> dep
10
- sed -E " s/.*\.jar//" | # remove extraneous dependencies
11
- sed " s#/.*##" | # delete anything after a slash. in practice target/..
12
- sort | uniq |
13
- tee stripped-deps.txt
5
+ if [ -f " deps.txt" ]; then
6
+ echo " deps exists, filtering"
7
+ < deps.txt | \
8
+ grep ' java\|jdk\.' | # mostly removes target/, but also jdk8internals
9
+ sed -E " s/Warning: .*//" | # remove extraneous warnings
10
+ sed -E " s/.*-> //" | # remove src of src -> dep
11
+ sed -E " s/.*\.jar//" | # remove extraneous dependencies
12
+ sed " s#/.*##" | # delete anything after a slash. in practice target/..
13
+ sort | uniq |
14
+ tee stripped-deps.txt
15
+ echo " Stripping dependencies complete"
16
+ else
17
+ echo " deps does not exist"
18
+ fi
14
19
}
Original file line number Diff line number Diff line change @@ -11,27 +11,22 @@ source "${JBOSS_CONTAINER_JAVA_S2I_MODULE}/s2i-core-hooks"
11
11
# inject our overridden maven_s2i_*() functions
12
12
source " ${JBOSS_CONTAINER_JAVA_S2I_MODULE} /maven-s2i-overrides"
13
13
14
- # include our jlink scripts
15
- source " ${JBOSS_CONTAINER_JAVA_JLINK_MODULE} /mkdeps.sh"
16
- source " ${JBOSS_CONTAINER_JAVA_JLINK_MODULE} /mkstrippeddeps.sh"
17
- source " ${JBOSS_CONTAINER_JAVA_JLINK_MODULE} /generatejdkdeps.sh"
18
- source " ${JBOSS_CONTAINER_JAVA_JLINK_MODULE} /mkjreimage.sh"
19
-
20
14
# invoke the build
21
15
maven_s2i_build
22
16
23
- echo " Checking that jarfile and libdir exist"
24
- test -f " $JAVA_APP_JAR "
25
- test -d " $JAVA_LIB_DIR "
26
-
17
+ # include our jlink scripts
18
+ source " ${JBOSS_CONTAINER_JAVA_JLINK_MODULE} /mkdeps.sh"
27
19
echo " Invoking mkdeps"
28
20
generate_deps
29
21
22
+ source " ${JBOSS_CONTAINER_JAVA_JLINK_MODULE} /mkstrippeddeps.sh"
30
23
echo " Stripping dependencies"
31
24
mkstrippeddeps
32
25
26
+ source " ${JBOSS_CONTAINER_JAVA_JLINK_MODULE} /generatejdkdeps.sh"
33
27
echo " Generating JDK dependencies"
34
28
generatejdkdeps
35
29
30
+ source " ${JBOSS_CONTAINER_JAVA_JLINK_MODULE} /mkjreimage.sh"
36
31
echo " Linking jre"
37
32
generate_jre_image
Original file line number Diff line number Diff line change @@ -82,18 +82,21 @@ function s2i_core_copy_data() {
82
82
# copy deployment (binary) files
83
83
# $1 - the base directory to which $S2I_SOURCE_DEPLOYMENTS_DIR is appended
84
84
function s2i_core_copy_deployments() {
85
+ echo "Copying deployments"
85
86
if [ -d "${1}/${S2I_SOURCE_DEPLOYMENTS_DIR}" ]; then
86
87
if [ -z "${S2I_TARGET_DEPLOYMENTS_DIR}" ]; then
87
88
log_warning "Unable to copy deployment files. No target directory specified for S2I_TARGET_DEPLOYMENTS_DIR"
88
89
else
89
90
if [ ! -d "${S2I_TARGET_DEPLOYMENTS_DIR}" ]; then
90
91
log_info "S2I_TARGET_DEPLOYMENTS_DIR does not exist, creating ${S2I_TARGET_DEPLOYMENTS_DIR}"
91
92
mkdir -pm 775 "${S2I_TARGET_DEPLOYMENTS_DIR}"
93
+ echo "created $S2I_TARGET_DEPLOYMENTS_DIR"
92
94
fi
93
95
local relative_source=$(realpath --relative-to "${S2I_SOURCE_DIR}" "${1}/${S2I_SOURCE_DEPLOYMENTS_DIR}")
94
96
log_info "Copying deployments from $relative_source to ${S2I_TARGET_DEPLOYMENTS_DIR}..."
95
97
for filter in ${S2I_SOURCE_DEPLOYMENTS_FILTER:-*}; do
96
98
find "${S2I_SOURCE_DIR}/${relative_source}/" -maxdepth 1 -name "${filter}" | xargs -I '{}' -r cp -Lrpv '{}' "${S2I_TARGET_DEPLOYMENTS_DIR}"
99
+ echo "Copying $filter to $S2I_TARGET_DEPLOYMENTS_DIR"
97
100
done
98
101
fi
99
102
fi
You can’t perform that action at this time.
0 commit comments