RFR: 8374216: Assorted changes to jpackage without functional impact

Alexey Semenyuk asemenyuk at openjdk.org
Mon Dec 22 22:07:16 UTC 2025


Miscellaneous refactorings without functional changes:

- Replace StringBuffer with StringBuilder where appropriate
- LauncherBuilder: set reasonable defaults to "defaultIconResourceName" property; move `defaultIconResourceName()` from LauncherFromOptions
- Make `MacHelper.createRuntimeBundle()` use PackageTest to create a runtime bundle. Will use DMG by default and optionally PKG packaging to create a runtime bundle
- Remove redundat parameter from `SetBuilder.build()`
- Make `JUnitUtils.assertArrayEquals()` permit null-s
- Add `JPackageCommand.withToolProvider()`
- Make some handy package-private methods in StandardBundlingOperation class public
- BundleSpec: add "sealed" modifier
- IdentityWrapper: add `wrapIdentity()`
- Simplify `DefaultBundlingEnvironment.createNativePackage()`
- TKit: remove "throws IOException" from `createDirectories()`; Replace `TKit.createDirectories()` with `Files.createDirectories()` where directory clean-up is not used

-------------

Commit messages:
 - Use Files.createDirectories() instead of TKit.createDirectories() where automatic clean-up functionality is not used
 - DefaultBundlingEnvironment: change the signature of createNativePackage()
 - DefaultBundlingEnvironment: better error message in getBundlerSupplier()
 - TKit: remove "throws IOException" from createDirectories()
 - IdentityWrapper: add wrapIdentity()
 - BundleSpec: add "sealed"
 - PackageType: follow-up for BundlingOperationDescriptor changes; ignore errors when the service loader can't find BundlingEnvironment instance.
 - StandardBundlingOperation: make handy package-private methods public, add Verb enum
 - BundlingOperationDescriptor: add VERB_CREATE_BUNDLE, add another ctor
 - JPackageCommand: add withToolProvider()
 - ... and 5 more: https://git.openjdk.org/jdk/compare/b5ac8f83...e9583db1

Changes: https://git.openjdk.org/jdk/pull/28957/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=28957&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8374216
  Stats: 232 lines in 25 files changed: 120 ins; 39 del; 73 mod
  Patch: https://git.openjdk.org/jdk/pull/28957.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/28957/head:pull/28957

PR: https://git.openjdk.org/jdk/pull/28957


More information about the core-libs-dev mailing list