Provide auto completion for bnd instructions in maven xml documents#1888
Provide auto completion for bnd instructions in maven xml documents#1888laeubi merged 1 commit intoeclipse-m2e:mainfrom
Conversation
Test Results 321 files ±0 321 suites ±0 51m 34s ⏱️ + 4m 40s For more details on these failures and errors, see this check. Results for commit d7f60f6. ± Comparison against base commit 673fc5b. ♻️ This comment has been updated with latest results. |
081faee to
daaa517
Compare
|
This is currently quite basic and not super-smart, but will open up a whole bunch of new things to support, e.g. the next thing would be to add diagnostics to one can get errors, warnings and so on. I therefore plan to merge this after the next m2e release for 2024-12 so we can further improve / experiment with that! |
That's really good, it does make things better. It's still not immune to libraries incompatibilities inside LemMinX process though, but that's another story. |
|
Yes it makes it just a little bit easier now from a deployment perspective as one does not need to collect everything manually. For more one would need to change how lemminx itself is launched, e.g if everything would be embedded inside the bundle (as with a very minimal example here) and only imports what is required to share the API then one could probably make it an connect-osgi-framework where each extension is its own bundle and encapsulates all requirements except the shared classes like lsp4j... |
47ff9ce to
10faeb6
Compare
10faeb6 to
c5028e6
Compare
|
I have now rebased and adjusted this, due to a bug in PDE this currently not working smooth during development in the IDE: |
7b44d8b to
e0ac639
Compare
The bnd-maven and felix-bundle plugin provide a way to use bnd-instructions to build OSGi bundles. As this is a complex syntax that can not be expressed as regular maven-mojo configuration lemminx-maven can not supply any useful completions. This adds a new lemminx-extension that provides such completions in a very basic way to support people writing such custom configuration. Signed-off-by: Christoph Läubrich <laeubi@laeubi-soft.de>
e0ac639 to
d7f60f6
Compare
The required fix is now available and the directly referenced jar is not in the target-platform anymore, and can lead to classpath errors. Follow-up on: eclipse-m2e#1888
The required fix is now available and the directly referenced jar is not in the target-platform anymore, and can lead to classpath errors. Follow-up on: #1888
…adjusted caching of source bundles with custom bundle symbolic name for ignoreExistingMetadata option [TP] Update dependencies to latest version Release M2E 2.11.0 [RelEng] Prepare next development iteration Bump actions/upload-artifact from 6.0.0 to 7.0.0 Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 6.0.0 to 7.0.0. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](actions/upload-artifact@b7c566a...bbbca2d) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-version: 7.0.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Upgrade Bundle-Version Upgraded Bundle-Version Changed Feature Version Renamed manifestOverride into ignoreExistingMetadata and fixed review findings Simplified error handling for ignoreExistingMetadata, adjusted testcases [Runtime] Embed Maven 3.9.14 Version bump(s) for 2.11.1 stream [TP] Update to Eclipse 4.39 and latest SimRel dependencies Update submodule 'm2e-core-tests' Remove disablement of baseline check for m2e.sdk feature Was necessary for eclipse-m2e#2121 Bump actions/cache from 5.0.3 to 5.0.4 Bumps [actions/cache](https://github.com/actions/cache) from 5.0.3 to 5.0.4. - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](actions/cache@cdf6c1f...6682284) --- updated-dependencies: - dependency-name: actions/cache dependency-version: 5.0.4 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Remove workaround to access lemminx.uber-jar in m2e.editor.lemminx.bnd The required fix is now available and the directly referenced jar is not in the target-platform anymore, and can lead to classpath errors. Follow-up on: eclipse-m2e#1888 Clean up SVG images Clean up all SVG image files from unused contents with Inkscape's cleanup functionality. Version bump(s) for null object or invalid expression stream
…adjusted caching of source bundles with custom bundle symbolic name for ignoreExistingMetadata option [TP] Update dependencies to latest version Release M2E 2.11.0 [RelEng] Prepare next development iteration Bump actions/upload-artifact from 6.0.0 to 7.0.0 Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 6.0.0 to 7.0.0. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](actions/upload-artifact@b7c566a...bbbca2d) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-version: 7.0.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Upgrade Bundle-Version Upgraded Bundle-Version Changed Feature Version Renamed manifestOverride into ignoreExistingMetadata and fixed review findings Simplified error handling for ignoreExistingMetadata, adjusted testcases [Runtime] Embed Maven 3.9.14 Version bump(s) for 2.11.1 stream [TP] Update to Eclipse 4.39 and latest SimRel dependencies Update submodule 'm2e-core-tests' Remove disablement of baseline check for m2e.sdk feature Was necessary for eclipse-m2e#2121 Bump actions/cache from 5.0.3 to 5.0.4 Bumps [actions/cache](https://github.com/actions/cache) from 5.0.3 to 5.0.4. - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](actions/cache@cdf6c1f...6682284) --- updated-dependencies: - dependency-name: actions/cache dependency-version: 5.0.4 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Remove workaround to access lemminx.uber-jar in m2e.editor.lemminx.bnd The required fix is now available and the directly referenced jar is not in the target-platform anymore, and can lead to classpath errors. Follow-up on: eclipse-m2e#1888 Clean up SVG images Clean up all SVG image files from unused contents with Inkscape's cleanup functionality. Version bump(s) for null object or invalid expression stream
The bnd-maven and felix-bundle plugin provide a way to use bnd-instructions to build OSGi bundles. As this is a complex syntax that can not be expressed as regular maven-mojo configuration lemminx-maven can not supply any useful completions.
This adds a new lemminx-extension that provides such completions in a very basic way to support people writing such custom configuration.
Here is a little video showing the new completion support:
Peek.2024-11-15.17-45.mp4
@mickaelistria this shows how to deploy a lemminx-extension as a regular bundle inside m2e and providing additional jars to the flat-classpath using OSGi wiring API