RFR: 8375323: Improve handling of the "--app-content" and "--input" options in jpackage [v2]

Alexander Matveev almatvee at openjdk.org
Wed Jan 14 23:12:59 UTC 2026


On Wed, 14 Jan 2026 16:24:23 GMT, Alexey Semenyuk <asemenyuk at openjdk.org> wrote:

>> Change how the values of the "--app-content", "--input", and "--mac-dmg-content" options are handled. Traverse the input directories during the configuration phase, before jpackage creates any output, rather than during the packaging phase.
>> 
>> This change required rework of the cli package to support converting values of any type to any type (`T -> T2`). Previously, it supported only String converters (`String -> T`).
>
> Alexey Semenyuk has refreshed the contents of this pull request, and previous commits have been removed. The incremental views will show differences compared to the previous content of the PR. The pull request contains 12 new commits since the last revision:
> 
>  - Update copyright year
>  - InOutPathTest: remove tests cases for non-existent paths specified for --app-content and --mac-dmg-content options; AppContentTest: add a test case for --app-content set to the output app image
>  - FileUtils: remove redundant functionality
>  - Add and integrate RootedPath
>  - AppContentTest: don't verify app image if jpackage is expected to fail
>  - Support two-step OptionValueConverter
>  - Add ValueConverterFunction
>  - Change signature of OptionValueConverter.
>  - Validator, OptionValueConverter: better javadoc
>  - Change signature of ValueConverter::convert()
>  - ... and 2 more: https://git.openjdk.org/jdk/compare/46375e6f...5c47219b

Looks good with minor comment.

src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/MainResources.properties line 94:

> 92: error.properties-parameter-not-path=The value "{0}" provided for property "{1}" in "{2}" file is not a valid path
> 93: error.properties-parameter-not-file=The value "{0}" provided for property "{1}" in "{2}" file is not a file
> 94: error.properties-parameter-not-directory=The value "{0}" provided for property "{1}" in "{2}" file is not a directory

`file is not a directory` -> `is not a directory`?

-------------

PR Review: https://git.openjdk.org/jdk/pull/29194#pullrequestreview-3663219254
PR Review Comment: https://git.openjdk.org/jdk/pull/29194#discussion_r2692370671


More information about the core-libs-dev mailing list