Adding parameter to add additional modules to optimized JDK #30

Merged
David merged 1 commits from feature/add_modules into develop 2024-06-01 19:22:29 +02:00
3 changed files with 17 additions and 1 deletions

View File

@ -6,6 +6,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased] ## [Unreleased]
### Added
- Additional modules that aren't fetched by jdeps can be added with `--add-modules module_1,...,module_n`
## [v1.1.0] - 2024-05-31 ## [v1.1.0] - 2024-05-31
### Changed ### Changed

View File

@ -85,6 +85,9 @@ Options:
"--java-version", "--no-optimize", "--jvm-impl"; "--java-version", "--no-optimize", "--jvm-impl";
The output may be used to specify concrete The output may be used to specify concrete
"--java-version" "--java-version"
--add-modules A list of additional java modules that should
be added to the optimized JDK. Separate each
module with commas and no spaces
--no-optimize Use JRE instead of optimized JDK; --no-optimize Use JRE instead of optimized JDK;
By default jdeps and jlink are used to create By default jdeps and jlink are used to create
optimized JDK for the particular jar; optimized JDK for the particular jar;

11
warp4j
View File

@ -31,6 +31,9 @@ function print_help {
echo ' "--java-version", "--no-optimize", "--jvm-impl";' echo ' "--java-version", "--no-optimize", "--jvm-impl";'
echo ' The output may be used to specify concrete' echo ' The output may be used to specify concrete'
echo ' "--java-version"' echo ' "--java-version"'
echo ' --add-modules A list of additional java modules that should'
echo ' be added to the optimized JDK. Separate each'
echo ' module with commas and no spaces'
echo ' --no-optimize Use JRE instead of optimized JDK;' echo ' --no-optimize Use JRE instead of optimized JDK;'
echo ' By default jdeps and jlink are used to create' echo ' By default jdeps and jlink are used to create'
echo ' optimized JDK for the particular jar;' echo ' optimized JDK for the particular jar;'
@ -159,6 +162,10 @@ while [[ $# -gt 0 ]]; do
LIST_RELEASES=true LIST_RELEASES=true
shift shift
;; ;;
--add-modules)
ADD_MODULES="$2"
shift 2
;;
--no-optimize) --no-optimize)
NO_OPTIMIZE=true NO_OPTIMIZE=true
shift shift
@ -695,6 +702,10 @@ if [[ $JAVA_DISTRO_TYPE == $DISTRO_TYPE_JDK ]]; then
echo "Fetch modules with default behavior" echo "Fetch modules with default behavior"
MODULES=$("$JDEPS" --print-module-deps --ignore-missing-deps --multi-release $JAVA_VERSION_BASE "$JAR" | grep -v Warning) MODULES=$("$JDEPS" --print-module-deps --ignore-missing-deps --multi-release $JAVA_VERSION_BASE "$JAR" | grep -v Warning)
fi fi
if [ -n "$ADD_MODULES" ]; then
echo "Adding additional modules to optimized JDK: $ADD_MODULES"
MODULES=$ADD_MODULES,$MODULES
fi
fi fi
# creates minimized runtime for the platform # creates minimized runtime for the platform