Skip to content

Commit ea8584a

Browse files
committed
Add an uber-bundle artifact
Currently lemminx only provides an uber-jar that has no OSGi meta data at all, because of this for example wild-webdeveloper needs to embed this jar instead of use one installed in the OSGi framework. This now adds a new uber-bundle artifact that is at the moment very similar to uber-jar but contains some OSGi data useful for writing extensions. This can then be used as a starting point to incrementally make it more OSGified, e.g. by export/import its dependencies that are already available as OSGi bundles (gson, lsp4j, ...) Signed-off-by: Christoph Läubrich <laeubi@laeubi-soft.de>
1 parent 2482d4a commit ea8584a

1 file changed

Lines changed: 56 additions & 1 deletion

File tree

org.eclipse.lemminx/pom.xml

Lines changed: 56 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,12 @@
1414
<native.maven.plugin.version>0.9.23</native.maven.plugin.version>
1515
<graalvm.static />
1616
</properties>
17+
<pluginRepositories>
18+
<pluginRepository>
19+
<id>tycho-snpashots</id>
20+
<url>https://repo.eclipse.org/content/repositories/tycho-snapshots</url>
21+
</pluginRepository>
22+
</pluginRepositories>
1723
<build>
1824
<resources>
1925
<resource>
@@ -78,7 +84,6 @@
7884
<plugin>
7985
<groupId>org.apache.maven.plugins</groupId>
8086
<artifactId>maven-jar-plugin</artifactId>
81-
<version>3.3.0</version>
8287
<executions>
8388
<execution>
8489
<goals>
@@ -125,6 +130,56 @@
125130
</execution>
126131
</executions>
127132
</plugin>
133+
<plugin>
134+
<groupId>org.eclipse.tycho</groupId>
135+
<artifactId>tycho-wrap-plugin</artifactId>
136+
<version>4.0.10-SNAPSHOT</version>
137+
<executions>
138+
<execution>
139+
<id>make-uber-bundle</id>
140+
<goals>
141+
<goal>wrap</goal>
142+
</goals>
143+
<configuration>
144+
<bnd>
145+
<![CDATA[
146+
Bundle-SymbolicName: org.eclipse.lemminx.uber
147+
Export-Package: org.eclipse.lemminx.services.extensions.*, \
148+
org.eclipse.lemminx.extensions.contentmodel.utils, \
149+
org.eclipse.lemminx.extensions.contentmodel.settings, \
150+
org.eclipse.lemminx.extensions.contentmodel.model, \
151+
org.eclipse.lemminx.extensions.contentmodel, \
152+
org.eclipse.lemminx.extensions.contentmodel.participants.diagnostics, \
153+
org.eclipse.lemminx.customservice, \
154+
org.eclipse.lemminx.services.format, \
155+
org.eclipse.lemminx.commons, \
156+
org.eclipse.lemminx.commons.progress, \
157+
org.eclipse.lemminx.dom, \
158+
org.eclipse.lemminx.utils, \
159+
org.eclipse.lemminx.services, \
160+
org.eclipse.lemminx.settings, \
161+
org.eclipse.lemminx.telemetry, \
162+
org.eclipse.lemminx.uriresolver
163+
Import-Package: java.*, \
164+
org.eclipse.lsp4j;resolution:=optional, \
165+
org.eclipse.lsp4j.services;resolution:=optional, \
166+
org.eclipse.lsp4j.jsonrpc;resolution:=optional, \
167+
org.eclipse.lsp4j.jsonrpc.services;resolution:=optional, \
168+
org.eclipse.lsp4j.jsonrpc.messages;resolution:=optional, \
169+
com.google.gson;resolution:=optional, \
170+
com.google.gson.reflect:=optional, \
171+
org.w3c.dom;resolution:=optional, \
172+
org.xml.sax;resolution:=optional, \
173+
!*
174+
]]>
175+
</bnd>
176+
<input>${project.build.directory}/org.eclipse.lemminx-uber.jar</input>
177+
<classifier>uber-bundle</classifier>
178+
<output>${project.build.directory}/org.eclipse.lemminx-uber-bundle.jar</output>
179+
</configuration>
180+
</execution>
181+
</executions>
182+
</plugin>
128183
</plugins>
129184
</build>
130185
<profiles>

0 commit comments

Comments
 (0)