RFR: 8365555: Cleanup redundancies in jpackage implementation
Alexey Semenyuk
asemenyuk at openjdk.org
Thu Aug 14 14:12:26 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.
-------------
Commit messages:
- 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/8ad1fcc4...0d2b451e
Changes: https://git.openjdk.org/jdk/pull/26778/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=26778&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8365555
Stats: 2353 lines in 55 files changed: 1914 ins; 229 del; 210 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