> 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 with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains 20 additional commits since the last revision: - Merge branch 'master' into JDK-8325089 - Add tests for `--app-content` and `--dmg-app-content` CLI parameters - Files.isSameFile() throws exception if a file doesn't exist - Replace Path.equals() call with Files.isSameFile() - Use jdk.jpackage.test.Annotations.Parameter annotation to parameterize packaging type in the test - Bugfix - Fix typo and trailing whitespaces - Fix JPackageCommand.execute(): remove existing output bundle (package file or app image folder) based on its type (file/directory) and not on the type of jpackage command (app image/package). - Make jpackage work properly when input and output directories are the same - Fix trailing whitespaces - ... and 10 more: https://git.openjdk.org/jdk/compare/15642669...c21b18bb ------------- Changes: - all: https://git.openjdk.org/jdk/pull/21550/files - new: https://git.openjdk.org/jdk/pull/21550/files/5065a3bd..c21b18bb Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=21550&range=04 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=21550&range=03-04 Stats: 51051 lines in 877 files changed: 26021 ins; 21692 del; 3338 mod Patch: https://git.openjdk.org/jdk/pull/21550.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/21550/head:pull/21550 PR: https://git.openjdk.org/jdk/pull/21550