Merge pull request 'Adding parameter to add additional modules to optimized JDK' (#30) from feature/add_modules into develop
All checks were successful
continuous-integration/drone/push Build is passing

Reviewed-on: #30
This commit is contained in:
David 2024-06-01 19:22:27 +02:00
commit ea6923df79
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

@ -78,13 +78,16 @@ Options:
(default: ./warped) (default: ./warped)
-p, --prefix <prefix> -p, --prefix <prefix>
If set, warp-packer will use the prefix If set, warp-packer will use the prefix
as target folder in which the as target folder in which the
application should be extracted application should be extracted
--list Show available java releases; --list Show available java releases;
Takes into consideration other options: Takes into consideration other 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