Skip to content

test: disable unused Lombok integration in JUnit fixture - #1930

Merged
Changyong Gong (chagong) merged 1 commit into
mainfrom
chagong-navigation-lombok-workaround
Sep 9, 2026
Merged

test: disable unused Lombok integration in JUnit fixture#1930
Changyong Gong (chagong) merged 1 commit into
mainfrom
chagong-navigation-lombok-workaround

Conversation

@chagong

Copy link
Copy Markdown
Contributor

Summary

Disable java.jdt.ls.lombokSupport.enabled only in the JUnit fixture workspace, which has no Lombok dependency. Preserve java.server.launchMode: Standard.

Workaround for redhat-developer/vscode-java#4504: the bundled Lombok agent in Java prerelease 1.57.2026090508 still accesses ConstructorDeclaration.constructorCall, removed by Eclipse JDT. This throws NoSuchFieldError during indexing, including for non-Lombok source, and leaves navigation searches without results. The regression was observed on macOS with that prerelease; it is not claimed to be intrinsically OS-specific.

Only this fixture setting changes. Production navigation, existing assertions, dependency manifests, and users' Lombok support are unchanged. This does not repair the upstream incompatibility.

Validation

Controlled macOS jobs used the same pinned failing Java prerelease, VS Code 1.136.2, Node 20, Temurin 21, debugger 0.59.2026072407, manifest, and original navigation source/assertions:

The controlled workflow is intentionally marked failed because its negative-control job fails; the workaround job passes.

Local Windows validation: npm run build-plugin, npm run vscode:prepublish, and npm test passed (150 main tests + 1 unmanaged-folder test).

Disable the bundled Lombok agent only in the JUnit test workspace, which has no Lombok dependency, to avoid upstream JDT indexing failures.

Related: redhat-developer/vscode-java#4504

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟢 Approval recommended

The change is scoped to a single test fixture JSON setting, is valid/consistent with other fixture settings, and aligns with the stated workaround goal without impacting production behavior.

Pull request overview

Adjusts the JUnit test fixture workspace configuration to disable Lombok support specifically for that fixture, avoiding Lombok-agent indexing failures while keeping the Java language server in Standard launch mode.

Changes:

  • Add java.jdt.ls.lombokSupport.enabled: false to the JUnit fixture workspace settings.
  • Preserve java.server.launchMode: Standard in the same fixture.
File summaries
File Description
test/test-projects/junit/.vscode/settings.json Disables Lombok support only for the JUnit fixture workspace while keeping Standard launch mode.
Review details
  • Files reviewed: 1/1 changed files
  • Comments generated: 0
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@chagong
Changyong Gong (chagong) merged commit 94d1ee1 into main Sep 9, 2026
6 checks passed
@chagong
Changyong Gong (chagong) deleted the chagong-navigation-lombok-workaround branch September 9, 2026 05:53
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.

3 participants