Skip to content

Commit c464287

Browse files
committed
Provide auto completion for bnd instructions in maven xml documents
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 <[email protected]>
1 parent 673fc5b commit c464287

File tree

21 files changed

+429
-60
lines changed

21 files changed

+429
-60
lines changed

RELEASE_NOTES.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,18 @@
11
# Eclipse m2e - Release notes
22

3+
## 2.8.0
4+
5+
### Auto-Completion support for `bnd-maven-plugin` and `felix-bundle-plugin` with lemminx editor
6+
7+
The bnd-maven and felix-bundle plugin provide a way to use
8+
bnd-instructions to build OSGi bundles. As this is a complex (and extensible) syntax that
9+
can not be expressed as regular maven-mojo configuration lemminx-maven
10+
can not supply any useful completions.
11+
12+
m2e now contains a new lemminx-extension that provides such completions in a
13+
basic way to support people writing such bnd instructions in pom xml configurations.
14+
15+
316
## 2.7.0
417

518
* 📅 Release Date: 26th November 2024
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.4.0" name="org.eclipse.m2e.bnd.ui.BndPluginAdapter">
3+
<property name="adaptableClass" type="String" value="org.eclipse.core.resources.IProject"/>
4+
<property name="adapterNames" type="String" value="aQute.bnd.build.Project"/>
5+
<service>
6+
<provide interface="org.eclipse.core.runtime.IAdapterFactory"/>
7+
</service>
8+
<implementation class="org.eclipse.m2e.bnd.ui.BndPluginAdapter"/>
9+
</scr:component>

org.eclipse.m2e.core/META-INF/MANIFEST.MF

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
22
Bundle-ManifestVersion: 2
33
Bundle-Name: %Bundle-Name
44
Bundle-SymbolicName: org.eclipse.m2e.core;singleton:=true
5-
Bundle-Version: 2.7.0.qualifier
5+
Bundle-Version: 2.7.1.qualifier
66
Bundle-Activator: org.eclipse.m2e.core.internal.MavenPluginActivator
77
Bundle-Vendor: %Bundle-Vendor
88
Bundle-Localization: plugin

org.eclipse.m2e.core/pom.xml

Lines changed: 0 additions & 55 deletions
This file was deleted.
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<classpath>
3+
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-21"/>
4+
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
5+
<classpathentry kind="src" path="src"/>
6+
<!-- workaround for https://github.com/eclipse-pde/eclipse.pde/pull/1603 -->
7+
<classpathentry kind="var" path="M2_REPO/org/eclipse/lemminx/org.eclipse.lemminx/0.29.0/org.eclipse.lemminx-0.29.0-uber.jar"/>
8+
<classpathentry kind="output" path="bin"/>
9+
</classpath>
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<projectDescription>
3+
<name>org.eclipse.m2e.editor.lemminx.bnd</name>
4+
<comment></comment>
5+
<projects>
6+
</projects>
7+
<buildSpec>
8+
<buildCommand>
9+
<name>org.eclipse.jdt.core.javabuilder</name>
10+
<arguments>
11+
</arguments>
12+
</buildCommand>
13+
<buildCommand>
14+
<name>org.eclipse.pde.ManifestBuilder</name>
15+
<arguments>
16+
</arguments>
17+
</buildCommand>
18+
<buildCommand>
19+
<name>org.eclipse.pde.SchemaBuilder</name>
20+
<arguments>
21+
</arguments>
22+
</buildCommand>
23+
</buildSpec>
24+
<natures>
25+
<nature>org.eclipse.pde.PluginNature</nature>
26+
<nature>org.eclipse.jdt.core.javanature</nature>
27+
</natures>
28+
</projectDescription>
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
eclipse.preferences.version=1
2+
encoding/<project>=UTF-8
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
eclipse.preferences.version=1
2+
org.eclipse.jdt.core.compiler.codegen.targetPlatform=21
3+
org.eclipse.jdt.core.compiler.compliance=21
4+
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
5+
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
6+
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
7+
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
8+
org.eclipse.jdt.core.compiler.release=enabled
9+
org.eclipse.jdt.core.compiler.source=21
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
Manifest-Version: 1.0
2+
Bundle-ManifestVersion: 2
3+
Bundle-SymbolicName: org.eclipse.m2e.editor.lemminx.bnd;singleton:=true
4+
Bundle-Version: 1.0.0.qualifier
5+
Require-Bundle: org.eclipse.wildwebdeveloper.xml
6+
Bundle-Name: %Bundle-Name
7+
Bundle-Vendor: %Bundle-Vendor
8+
Automatic-Module-Name: org.eclipse.m2e.editor.lemminx.bnd
9+
Bundle-RequiredExecutionEnvironment: JavaSE-21
10+
Import-Package: aQute.bnd.help;version="[2.0.0,3.0.0)",
11+
org.eclipse.core.runtime;version="[3.7.0,4.0.0)",
12+
org.osgi.framework;version="[1.10.0,2.0.0)",
13+
org.osgi.framework.wiring;version="[1.2.0,2.0.0)",
14+
org.osgi.resource;version="[1.0.0,2.0.0)"
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
org.eclipse.m2e.editor.lemminx.bnd.BndLemminxPlugin

0 commit comments

Comments
 (0)