Skip to content

Latest commit

 

History

History
71 lines (46 loc) · 3.28 KB

CONTRIBUTING.md

File metadata and controls

71 lines (46 loc) · 3.28 KB

How to Contribute

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.

Development

Installation Prerequisites:

Lemmix Language Server

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

Steps

  1. Fork and clone the LemMinX-Maven repository:
git clone https://github.com/eclipse/lemminx-maven.git
  1. Build/Test LemMinX-Maven on Mac/Linux:
    $ ./mvnw verify
    or for Windows:
    $ mvnw.cmd verify

Debug

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 :

Building and running LemMinX-Maven in VSCode-XML extension.

  1. 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.

  1. Clone and build VSCode-XML extension, See: VSCode-XML Extension Contribution Guide.

  2. 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).

  3. Copy <LemMinX-Maven>/lemminx-maven/target/vscode-lemminx-maven-jars directory to VSCode-XML extension project directory and make sure it's visible in vscode-xmlproject in VSCode .

  4. In VSCode modify vscode-xml/package.json adding the following configuration to the contributes section:

  "xml.javaExtensions": [
     "./vscode-lemminx-maven-jars/*.jar"
   ],
  1. 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.)

Pull Requests

In order to submit contributions for review, please make sure you have signed the Eclipse Contributor Agreement (ECA) with your account.