Skip to content

fix(build): make clean reactor test compilation work - #154

Merged
jmanico merged 4 commits into
OWASP:mainfrom
rksharma-owg:fix/clean-reactor-test-compile
Sep 26, 2026
Merged

jmanico merged 4 commits into
OWASP:mainfrom
rksharma-owg:fix/clean-reactor-test-compile

Conversation

@rksharma-owg

@rksharma-owg rksharma-owg commented Sep 25, 2026 •

Copy link
Copy Markdown
Contributor

A clean reactor test-compile or test could not resolve owasp.encoder when the adapter modules compiled their Java 9 descriptors: core's multi-release JAR was only created at package.

Create that JAR during process-classes, after bnd generates its manifest, and disable the redundant default-jar lifecycle execution. Remove unsupported JAR-plugin skip settings. CI now explicitly runs clean test-compile before the existing installation and Jakarta integration build.

Validation on JDK 17 with an isolated Maven cache:

  • Full reactor clean test-compile, clean test, and clean verify passed.
  • install -DskipTests passed for all five modules after verification.
  • Build output confirms bnd's manifest runs before reactor-jar; the resulting core JAR retains Multi-Release: true, OSGi metadata, and the Java 9 descriptor. Existing module-path and OSGi integration tests passed.

Current main was merged without rewriting contributor commits. Hosted CI and the required Sol review must pass for the current head before merge.

Fixes #140.

rksharma-owg and others added 3 commits September 25, 2026 15:56
Create the core multi-release JAR during process-classes so downstream JPMS adapter modules can resolve owasp.encoder during pre-package reactor phases. Add a clean test-compile CI check.

Fixes OWASP#140

@jmanico jmanico left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sol review: no blocking findings at 3b84438. The issue reproduces from a clean pre-package reactor because adapters need the core multi-release JAR for Java 9 module resolution; this patch creates it after bnd writes the manifest and before adapters compile. On JDK 17, full-reactor clean test-compile, clean test, verify, and install -DskipTests all passed. The core JAR entry inventory matches the baseline build exactly; its manifest retains Multi-Release and OSGi metadata, and META-INF/versions/9/module-info.class is present. Worktree clean; whitespace diff check passed. Awaiting integration with latest main and Astra final review.

@jmanico
jmanico merged commit fe930c8 into OWASP:main Sep 26, 2026
11 checks passed
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.

Make mvn test work from a clean reactor

2 participants