On Thu, 25 Sep 2025 22:37:50 GMT, Alexey Semenyuk <[email protected]> wrote:
>> Introduce `jdk.jpackage.internal.SystemEnvironment` interface to describe >> system tools needed for building specific package bundles with three >> immediate subinterfaces: `WinSystemEnvironment`, `LinuxSystemEnvironment`, >> and `MacDmgSystemEnvironment`. >> >> `LinuxSystemEnvironment` has two subinterfaces: `LinuxDebSystemEnvironment` >> and `LinuxRpmSystemEnvironment`. >> >> There is no `MacSystemEnvironment` interface as pkg and dmg bundlers are >> unrelated, unlike rpm and deb bundlers, which share a fair amount of code. >> >> There is no `MacPkgSystemEnvironment` interface because the pkg bundler >> doesn't validate tools. >> >> Instances of these interfaces are created as member fields of the >> corresponding bundler classes, i.e., bundling system tools are validated >> only once when a specific bundler is instantiated. >> >> Move the bundling code away from *Bundler classes into *Packager classes and >> completely isolate it from the "params". This is a follow-up for the effort >> to isolate the "params" in >> [JDK-8333664](https://bugs.openjdk.org/browse/JDK-8333664). > > Alexey Semenyuk has updated the pull request incrementally with one > additional commit since the last revision: > > Use Path.equals() instead of String.equals() to compare path objects Looks good. ------------- Marked as reviewed by almatvee (Reviewer). PR Review: https://git.openjdk.org/jdk/pull/27377#pullrequestreview-3269694409
