On Thu, 8 Jan 2026 01:36:52 GMT, Alexey Semenyuk <[email protected]> wrote:
>> - Move code shared between jpackage's Executor and jpackage's test lib >> Executor into `jdk.jpackage.internal.util.CommandOutputControl` class using >> the latter one as the baseline for the new class; [CommandOutputControl >> class >> javadoc](https://alexeysemenyukoracle.github.io/jpackage-javadoc/jdk.jpackage/jdk/jpackage/internal/util/CommandOutputControl.html). >> - Place "execute with retries" logic into >> `jdk.jpackage.internal.util.RetryExecutor` class and use it from both >> jpackage and jpackage's test lib. Use `jdk.jpackage.internal.RetryExecutor` >> class as the baseline. >> - Add `ObjectFactory`, `ExecutorFactory`, and `RetryExecutorFactory` >> interfaces to the "jdk.jpackage.internal" package. They enable the use of >> command mocks with jpackage. >> - Add `jdk.jpackage.test.mock` package. It facilitates creating command >> mocks. Use it to test LibProvidersLookup, LinuxSystemEnvironment, >> LinuxPackageArch, MacDmgSystemEnvironment, and MacDmgPackager classes. >> >> Supplementary changes: >> - Make `jdk.jpackage.internal.SystemEnvironment` and all implementing >> classes package private > > Alexey Semenyuk has updated the pull request incrementally with five > additional commits since the last revision: > > - Fix review findings > - internal/Executor: rework capturing of command output > - CommandOutputControl: rename ExecutableSpec into ExecutableAttributes > - MockUtils: expose for use from other packages; add > JPackageToolProviderBuilder helper class; fix arguments passed in a command > mock when it replaces a tool provider > - JPackageCommand: fix withToolProvider(): 1) reset toolProvider; 2) > propagate exceptions from the worker thread to the caller thread; 3) reorder > the parameters for better readability. Looks good. ------------- Marked as reviewed by almatvee (Reviewer). PR Review: https://git.openjdk.org/jdk/pull/28733#pullrequestreview-3637959371
