On Thu, 18 Sep 2025 22:25:02 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). @sashamatveev PTAL ------------- PR Comment: https://git.openjdk.org/jdk/pull/27377#issuecomment-3310083877
