RFR: 8325089: jpackage utility creates an "infinite", undeleteable directory tree [v4]
Alexander Matveev
almatvee at openjdk.org
Mon Oct 21 20:20:16 UTC 2024
On Fri, 18 Oct 2024 14:42:39 GMT, Alexey Semenyuk <asemenyuk at openjdk.org> wrote:
>> Make jpackage correctly handle the output directory (`--dest`) that is:
>> - a subdirectory of the input directory;
>> - the same as the input directory.
>>
>> Make jpackage correctly handle temp directory (`--temp`) that is:
>> - a subdirectory of the input directory.
>>
>> jpackage will produce an app image or a package in the above directory configurations without running in an infinite loop.
>>
>> The new test/jdk/tools/jpackage/share/InOutPathTest.java test covers all the above scenarios.
>>
>> `IOUtils.copyRecursive()` fixed to never run in a recursive loop by building the list of non-recursive file/dir copy commands and executing them outside the recursive directory tree traversal.
>>
>> src/jdk.jpackage/share/classes/jdk/jpackage/internal/Arguments.java, src/jdk.jpackage/share/classes/jdk/jpackage/internal/DeployParams.java, src/jdk.jpackage/share/classes/jdk/jpackage/internal/StandardBundlerParam.java, test/jdk/tools/jpackage/junit/jdk.jpackage/jdk/jpackage/internal/DeployParamsTest.java files fixed to get rid of `DeployParams.input` and `DeployParams.output` fields and replace them with the new `StandardBundlerParam.OUTPUT_DIR` param.
>>
>> The above changes altered the logic of configuring the output directory, thus added a new `BasicTest.testNoOutputDir()` test to test jpackage without `--dest` parameter. This required adding new API to test helper classes.
>
> Alexey Semenyuk has updated the pull request incrementally with one additional commit since the last revision:
>
> Files.isSameFile() throws exception if a file doesn't exist
Do we need to check various combinations for similar issues, but for `--app-content` and `--mac-dmg-content`? Both of these options are used to copy files from destination to app bundle or DMG image.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/21550#issuecomment-2427634294
More information about the core-libs-dev
mailing list