-
Notifications
You must be signed in to change notification settings - Fork 31
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
How to download lemminx-maven uber JAR? #430
Comments
So far, we do not produce such uber-jar. What it contains depends on the target (eg should it include LemMinX and/or should it include Maven APIs and/or only its dependencis that are not provided by X or Y...). So since there is no clear definition of what it should contain in general, it looks like it's an integration-specific issue and it should be up to clients to build the artifact they need. |
It should be really nice to provide this uber JAR to help vscode users to test your lemminx maven extension and promote lemminx-maven. Our final goal is to integrate lemminx-maven in vscode-maven (see issue at microsoft/vscode-maven#47) but for now uber JAR could be very helpfull to give the capability to vscode users to play with lemminx maven (and have vscode users feedback and not only Eclipse IDE feedback). This uber jar should store lemminx-maven, maven dependencies without lsp4j and lemminx dependencies. |
@angelozerr I've tried to create a
The jar is created in But it still needs to be tested if all the non-welcomed dependencies are excluded (so they do not duplicate the ones provided by lemminx itself). |
I could contribute the extension only by adding "contributes": {
"xml.javaExtensions": [
"./jars/lemminx-maven-vscode-uber.jar"
], to Adding the lines like "xml.extension.jars": [
"/absolute/path/to/downloaded/lemminx-maven-uber.jar"
], to Unfortunately, the extension ( |
As mentioned in a direct discussion, I think the uber-jar may not be the best fit for VSCode extension. Having a maven module requiring lemminx-maven and filtering its dependencies and using copy-dependencies and passing the list of jars to vscode-xml may provide easier and better result. |
A set of lemminx-maven jar and the required dependency jars can be exported to `./lemminx-maven/target/vscode-lemminx-maven-jars/` directory by executing the following build command: ```bash $ ./mvnw verify -DskipTests -Pgenerate-vscode-jars ``` To demonstrate LemMinX-Maven functionality: 1. Copy the resulting `vscode-lemminx-maven-jars/` to `vscode-xml` extension project root directory 2. Modify `vscode-xml/package.json` adding the following configuration to the `contributes` section: ```json "xml.javaExtensions": [ "./vscode-lemminx-maven-jars/*.jar" ], ``` 6. 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.) Issue: eclipse-lemminx#430
A set of lemminx-maven jar and the required dependency jars can be exported to `./lemminx-maven/target/vscode-lemminx-maven-jars/` directory by executing the following build command: ```bash $ ./mvnw verify -DskipTests -Pgenerate-vscode-jars ``` To demonstrate LemMinX-Maven functionality: 1. Copy the resulting `vscode-lemminx-maven-jars/` to `vscode-xml` extension project root directory 2. Modify `vscode-xml/package.json` adding the following configuration to the `contributes` section: ```json "xml.javaExtensions": [ "./vscode-lemminx-maven-jars/*.jar" ], ``` 6. 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.) Issue: eclipse-lemminx#430
A set of lemminx-maven jar and the required dependency jars can be exported to `./lemminx-maven/target/vscode-lemminx-maven-jars/` directory by executing the following build command: ```bash $ ./mvnw verify -DskipTests -Pgenerate-vscode-jars ``` To demonstrate LemMinX-Maven functionality: 1. Copy the resulting `vscode-lemminx-maven-jars/` to `vscode-xml` extension project root directory 2. Modify `vscode-xml/package.json` adding the following configuration to the `contributes` section: ```json "xml.javaExtensions": [ "./vscode-lemminx-maven-jars/*.jar" ], ``` 6. 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.) Issue: eclipse-lemminx#430
It looks like a single Uber jar cannot be created for Lemminx-Maven. The proposed solution creates a directory that contains the Lemminx-Maven jar as well as all the required dependency jars that can be copied to The instructions on how to build and run Lemminx-Maven in @angelozerr Is that enough for this issue? |
Thanks so much for having worked on this issue. I will try it ASAP. I wonder if we could provide a github action which will provide a zip of thi vscode uber JAR? |
@angelozerr Do you plan to use such a zip directly in Just asking because I tried to pack the generated jars into a Zip and and use it in "xml.javaExtensions": [
"./vscode-lemminx-maven-jars/vscode-lemminx-maven-uber.zip"
], ... but it didn't worked for me. So it needs to be unpacked... |
For the moment I have no plan, but I think if vscode users want to test lemminx-maven in vscode I think it should be better to have an easier process instead of building lemminx-maven himself. It is just me feeling, but I think it is not the priority for now |
Then I can try making it the same way as we produce |
This PR also makes the build, when executed with `-Pgenerate-vscode-jars ` argument, to pack the contents of `vscode-lemminx-maven-jars` directory to `lemminx-maven-<version>-vscode-uber-jars.zip` and upload this archive to the releass/snapshots repositories. Issue: eclipse-lemminx#430
This PR also makes the build, when executed with `-Pgenerate-vscode-jars ` argument, to pack the contents of `vscode-lemminx-maven-jars` directory to `lemminx-maven-<version>-vscode-uber-jars.zip` and upload this archive to the releass/snapshots repositories. Issue: #430
@angelozerr The Lemminx-Maven snapshots repository now is added with the following Zip:
So it can be downloaded and used to run with VSCode XML. |
Thanks so much @vrubezhny ! |
I wonder if it is possible to download the lemminx-maven uber JAR? It would be nice to provide this capability in order vscode users can play with it quickly :
The text was updated successfully, but these errors were encountered: