Contributions are essential for keeping this language server extension great. We try to keep it as easy as possible to contribute changes and we are open to suggestions for making it even easier. There are only a few guidelines that we need contributors to follow.
LemMinX-Maven is an extension to Lemminx Language Server, so you may need to clone and build Lemminx before start contributing to LemMinX-Maven. See Lemminx Contribution Guide on how to get and build Lemminx Language Server
- Fork and clone the LemMinX-Maven repository:
git clone https://github.com/eclipse/lemminx-maven.git
- Build/Test LemMinX-Maven on Mac/Linux:
or for Windows:
$ ./mvnw verify
$ mvnw.cmd verify
The LemMinX-Maven extension must be debugged remotely as it's most useful when connected to a client. In order to debug, one needs to look at whether the specific language client provides such a capability. For example :
- M2E Maven POM File Editor (Wild Web Developer, LemMinX, LS) - See : How to... develop and debug m2e and lemminx-maven integration
Building and running LemMinX-Maven in VSCode-XML extension.
-
Build LemMinX-Maven set of dependency and extension Jars for VSCode-XML extension:
$ ./mvnw verify -DskipTests -Pgenerate-vscode-jars
or for Windows:
$ mvnw.cmd verify -DskipTests -Pgenerate-vscode-jars
This produces the <LemMinX-Maven>/lemminx-maven/target/vscode-lemminx-maven-jars
directory containing all the Jars required to run LemMinX-Maven extension in VSCode XML as well as the lemminx-maven-<version>-vscode-uber-jars.zip
Zip-archive with the contents of this directory.
-
Clone and build VSCode-XML extension, See: VSCode-XML Extension Contribution Guide.
-
Try running the VSCode-XML extension to make sure everything is correctly installed and XML editor works (validation, content assist, hovers, etc. for XML tags and attributes).
-
Copy
<LemMinX-Maven>/lemminx-maven/target/vscode-lemminx-maven-jars
directory to VSCode-XML extension project directory and make sure it's visible invscode-xml
project in VSCode . -
In VSCode modify
vscode-xml/package.json
adding the following configuration to thecontributes
section:
"xml.javaExtensions": [
"./vscode-lemminx-maven-jars/*.jar"
],
- Restart VSCode-XML extension and try editing a Maven project file (Maven project validation, content assist for group ID, artifact ID and versions, hovers for artifacts and Maven properties, Maven properties refactoring etc.)
In order to submit contributions for review, please make sure you have signed the Eclipse Contributor Agreement (ECA) with your account.