[fix][build] Add basic support for vscode-java and Eclipse IDE #23448
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Motivation
Visual Studio Code (vscode) is a popular IDE. It would be great to support developing Pulsar with vscode-java.
One of the reasons for adding vscode-java support is due to Cursor AI code editor building upon vscode. When there's vscode-java support in Pulsar, it would be possible to use Cursor for developing Pulsar.
Similar changes are most likely required for supporting Eclipse for Apache Pulsar development since vscode-java uses Eclipse modules under the covers for Java and Maven support.
The lightproto maven plugin issue most likely impacts IntelliJ too since currently you need to build Pulsar once in order to get lightproto generated classes to resolve. This change will most likely address that issue too.
Modifications
Example test run
Additional context
UPDATE: Please see Setting up an IDE to setup VS Code for Pulsar development.
I got test running working with this
settings.json
for "Language Support for Java(TM) by Red Hat" extensionsdkman setup for JDK versions is explained currently in https://pulsar.apache.org/contribute/release-process/#preparation
in workspace level
settings.json
configured in
Also setting
-Pcore-modules,-main
to speed up compilationAlso setting profiles in the root project:
Since
"java.autobuild.enabled": false
, you will need to build manually. Having autobuilding disabled is useful for a large project like Pulsar since building will consume resources and it conflicts with manual builds on the command line.Documentation
doc
doc-required
doc-not-needed
doc-complete