Skip to content

Commit 10faeb6

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 4074fc1 commit 10faeb6

File tree

16 files changed

+369
-1
lines changed

16 files changed

+369
-1
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.6.3
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.6.2
417

518
* 📅 Release Date: 04th September 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>
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
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+
<classpathentry kind="output" path="bin"/>
7+
</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
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3+
<html xmlns="http://www.w3.org/1999/xhtml">
4+
<head>
5+
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
6+
<title>About</title>
7+
</head>
8+
<body lang="EN-US">
9+
<h2>About This Content</h2>
10+
11+
<p>November 30, 2017</p>
12+
<h3>License</h3>
13+
14+
<p>
15+
The Eclipse Foundation makes available all content in this plug-in
16+
(&quot;Content&quot;). Unless otherwise indicated below, the Content
17+
is provided to you under the terms and conditions of the Eclipse
18+
Public License Version 2.0 (&quot;EPL&quot;). A copy of the EPL is
19+
available at <a href="http://www.eclipse.org/legal/epl-2.0">http://www.eclipse.org/legal/epl-2.0</a>.
20+
For purposes of the EPL, &quot;Program&quot; will mean the Content.
21+
</p>
22+
23+
<p>
24+
If you did not receive this Content directly from the Eclipse
25+
Foundation, the Content is being redistributed by another party
26+
(&quot;Redistributor&quot;) and different terms and conditions may
27+
apply to your use of any object code in the Content. Check the
28+
Redistributor's license that was provided with the Content. If no such
29+
license exists, contact the Redistributor. Unless otherwise indicated
30+
below, the terms and conditions of the EPL still apply to any source
31+
code in the Content and such source code may be obtained at <a
32+
href="http://www.eclipse.org/">http://www.eclipse.org</a>.
33+
</p>
34+
35+
</body>
36+
</html>
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
source.. = src/
2+
output.. = bin/
3+
bin.includes = META-INF/,\
4+
.,\
5+
plugin.xml,\
6+
about.html,\
7+
plugin.properties
8+
jars.extra.classpath = platform:/plugin/org.eclipse.wildwebdeveloper.xml/language-servers/server/org.eclipse.lemminx-uber.jar
9+
src.includes = about.html

0 commit comments

Comments
 (0)