RFR: 8365555: Cleanup redundancies in jpackage implementation [v2]
Alexey Semenyuk
asemenyuk at openjdk.org
Fri Aug 15 14:48:13 UTC 2025
> - Remove AppImageDesc class. It was supposed to bind an AppImageLayout instance with a root directory, but since AppImageLayout has `rootDirectory()` method it is redundant.
> - Remove redundant `Package.packageLayout()` and `Package.asPackageApplicationLayout()` methods from the model,
> - Add tests for PackagingPipeline class.
> - Move JUnitAdapter.java from "/test/jdk/tools/jpackage/helpers-test" to "/test/jdk/tools/jpackage/junit/tools" directory, support running platform-specific JUnit tests.
> - Enhance AppImageLayout class, add unit tests for derived MacApplicationLayout and LinuxApplicationLayout classes.
> - Add tests for BuildEnv class.
Alexey Semenyuk has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains 16 additional commits since the last revision:
- ResourceLocator: make ctor private. This class is not supposed to be instantiated. Improves the coverage.
- Add a test case to JavaAppDescTest
- MacDmgPackageBuilder: remove unused variable
- Use MacBundle with AppImageSigner
- BuildEnvFromParams: bugfix
- Rename RuntimeBuilder.createRuntime() to RuntimeBuilder.create()
- Test for PackagingPipeline
- Get rid of AppImageDesc. It became redundant when AppImageLayout.rootDirectory() was added. Support using an external app image with a custom app image layout. Add ApplicationBuilder.overrideAppImageLayout(). Remove Package.packageLayout() and Package.asPackageApplicationLayout(). Create Linux and Mac packages with app image layout configured for packaging making PackagingPipeline.Builder.appImageLayoutForPackaging() redundant. Simplify PackagingPipeline. It always builds with application's app image layout. Don't wrap RuntimeException-s in PackagerException-s. Merge PackagingPipeline.appContextMapper and PackagingPipeline.pkgContextMapper into PackagingPipeline.contextMapper. Remove PackagingPipeline.Builder.appImageLayoutForPackaging(). Add MacPackage.guessRuntimeLayout()
- Implementation Tweaks #1
- Support custom runtime image layout in BuildEnvFromParams. Support custom runtime image layout for application in FromParams.createApplicationBuilder(). Set correct layout for predefined runtime image on macosx
- ... and 6 more: https://git.openjdk.org/jdk/compare/2a0a46d5...9f33d8e2
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/26778/files
- new: https://git.openjdk.org/jdk/pull/26778/files/0d2b451e..9f33d8e2
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=26778&range=01
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=26778&range=00-01
Stats: 10205 lines in 296 files changed: 4593 ins; 4395 del; 1217 mod
Patch: https://git.openjdk.org/jdk/pull/26778.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/26778/head:pull/26778
PR: https://git.openjdk.org/jdk/pull/26778
More information about the core-libs-dev
mailing list