Skip to content

[#60] Add a deterministic explicit JPMS descriptor - #122

Open
peter-lawrey wants to merge 8 commits into
developfrom
feature/60-explicit-jpms-module
Open

[#60] Add a deterministic explicit JPMS descriptor#122
peter-lawrey wants to merge 8 commits into
developfrom
feature/60-explicit-jpms-module

Conversation

@peter-lawrey

@peter-lawrey peter-lawrey commented Aug 21, 2026

Copy link
Copy Markdown
Member

Produce an explicit net.openhft.hashing module descriptor deterministically, including when Maven builds the Java-8-targeted library on Java 8. Preserve the multi-release layout, automatic module name, packaged-JAR assertions and class-path/module-path consumer projects from #107/#119.

The branch now includes develop at f06d8ecc3e8887a9d53546c1e69cdaa9b76dadb2. Resolve the overlapping #119 additions by retaining both the automatic-module-name check and the stronger Java 9 descriptor check, together with ModiTect and Invoker configuration. Original #107 history, including Benjamin Marwell's commit cdbdc5060cddb1373a86a1575445b68f1b1d08c0, remains unchanged in the ancestry.

Select the modular consumer on Java 11+ to match its --release 11 compilation target. This controls which JVMs execute that fixture; it does not raise the library's Java 8 target or the module descriptor's Java 9 class version. Apply the Actions setup repair already used by #123 so both layers use current checkout/cache/Java actions; the scanner runs on Java 21 and Sonar analysis remains enabled.

Fresh Linux amd64 validation:

  • Java 8 clean verify passed: 14,901 reported unit cases, 12 existing skips, zero failures/errors. Both packaged-JAR assertions and the ordinary consumer passed; the Java-11-targeted consumer was intentionally skipped.
  • Java 11 clean verify passed: two 14,901-case string configurations with 5/8 existing skips, zero failures/errors, both packaged-JAR checks and both consumer projects passed.
  • JDK 9/10 were not executed. The selector excludes them from this release-11 consumer.
  • Commands, raw reports and source/composition evidence are retained in the fresh-review evidence pack. The Java 11 local run preceded the workflow-only repair; Java 8 used the final head.

Ready for review of the reconciled packaging increment. #123 adds the stronger hash oracle and broader runtime matrix. Supported-platform CI and SonarCloud configuration remain merge gates. Preserve the original contribution's history when delivering this PR.

Refs #60, #107, #119.

Copy link
Copy Markdown
Member Author

@bmarwell GitHub cannot add you as a formal requested reviewer because it reports that review requests are limited to repository collaborators, but your review is warmly invited. This continuation retains your original commit and the full #107 head unchanged in its ancestry.

@bmarwell

Copy link
Copy Markdown

It is totally fine as a start

@tgd
tgd removed request for james-mcsherry and tgd August 26, 2026 18:08
Base automatically changed from feat/Zero-Allocation-Hashing-60-review-pr-107-for-compatibility-ci to develop September 9, 2026 15:02
@peter-lawrey
peter-lawrey marked this pull request as ready for review September 11, 2026 18:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants