On Wed, 30 Oct 2024 13:32:22 GMT, Alexey Semenyuk <asemen...@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 two > additional commits since the last revision: > > - Bugfix > - Rename DirectoryContentVerifier.equals() in > DirectoryContentVerifier.match() to fix name conflict with Object.equals() - added `TKit.DirectoryContentVerifier` class to verify directory content. DirectoryContentVerifierTest tests `TKit.DirectoryContentVerifier` - added OSX bundle structure checks to `JPackageCommand` using `TKit.DirectoryContentVerifier` API. This results in the new test log messages for every successful jpackage command execution, e.g.: [13:56:44.123] TRACE: assertDirectoryContentEquals(./test.1f844f72/input/out/InOutPathTest.app): Expected [Contents] [13:56:44.123] TRACE: assertDirectoryContentEquals(./test.1f844f72/input/out/InOutPathTest.app/Contents): Expected [Info.plist, MacOS, PkgInfo, Resources, _CodeSignature, app, runtime] - adjusted InOutPathTest for OSX specifics - altered modifier order using `blessed-modifier-order.sh` script in modified test sources. ------------- PR Comment: https://git.openjdk.org/jdk/pull/21550#issuecomment-2447297514