Skip to content

Commit

Permalink
Add standard osgi.serviceloader OSGi metadata for provided services. (#…
Browse files Browse the repository at this point in the history
  • Loading branch information
chrisr3 committed Jun 27, 2022
1 parent 7a3e4c5 commit dd06f34
Show file tree
Hide file tree
Showing 8 changed files with 29 additions and 3 deletions.
17 changes: 14 additions & 3 deletions pom.xml
Expand Up @@ -50,6 +50,9 @@ SAX2 and Stax2 APIs
-->
<osgi.export>com.ctc.wstx.*;version=${project.version}</osgi.export>

<!-- Bnd annotations for generating extra OSGi metadata. -->
<version.bnd.annotation>6.3.1</version.bnd.annotation>

<!-- 5.1 added "Automatic-Module-Name" for JDK 9 but 6.0 adds full module-info -->
<!--
<jdk.module.name>com.ctc.wstx</jdk.module.name>
Expand Down Expand Up @@ -144,13 +147,21 @@ SAX2 and Stax2 APIs

<!-- Then OSGi, needed if using OSGi discovery -->
<dependency>
<groupId>org.apache.felix</groupId>
<artifactId>org.osgi.core</artifactId>
<version>1.4.0</version>
<groupId>org.osgi</groupId>
<artifactId>osgi.core</artifactId>
<version>5.0.0</version>
<optional>true</optional>
<scope>provided</scope>
</dependency>

<dependency>
<groupId>biz.aQute.bnd</groupId>
<artifactId>biz.aQute.bnd.annotation</artifactId>
<version>${version.bnd.annotation}</version>
<optional>true</optional>
<scope>provided</scope>
</dependency>

<!-- Then test deps -->

<dependency>
Expand Down
2 changes: 2 additions & 0 deletions src/main/java/com/ctc/wstx/dtd/DTDSchemaFactory.java
Expand Up @@ -20,6 +20,7 @@

import javax.xml.stream.*;

import aQute.bnd.annotation.spi.ServiceProvider;
import org.codehaus.stax2.validation.*;

import com.ctc.wstx.api.ReaderConfig;
Expand All @@ -40,6 +41,7 @@
* documents) is only accessible by core Woodstox. The externally
* accessible
*/
@ServiceProvider(XMLValidationSchemaFactory.class)
public class DTDSchemaFactory
extends XMLValidationSchemaFactory
{
Expand Down
2 changes: 2 additions & 0 deletions src/main/java/com/ctc/wstx/msv/RelaxNGSchemaFactory.java
Expand Up @@ -18,6 +18,7 @@
import javax.xml.parsers.SAXParserFactory;
import javax.xml.stream.*;

import aQute.bnd.annotation.spi.ServiceProvider;
import org.xml.sax.InputSource;

import org.codehaus.stax2.validation.*;
Expand All @@ -35,6 +36,7 @@
* to work, and acts as a quite thin wrapper layer (although not a completely
* trivial one, since MSV only exports SAX API, some adapting is needed)
*/
@ServiceProvider(XMLValidationSchemaFactory.class)
public class RelaxNGSchemaFactory
extends BaseSchemaFactory
{
Expand Down
2 changes: 2 additions & 0 deletions src/main/java/com/ctc/wstx/msv/W3CSchemaFactory.java
Expand Up @@ -18,6 +18,7 @@
import javax.xml.parsers.SAXParserFactory;
import javax.xml.stream.*;

import aQute.bnd.annotation.spi.ServiceProvider;
import org.xml.sax.InputSource;

import org.codehaus.stax2.validation.*;
Expand All @@ -35,6 +36,7 @@
* to work, and acts as a quite thin wrapper layer, similar to
* how matching RelaxNG validator works
*/
@ServiceProvider(XMLValidationSchemaFactory.class)
public class W3CSchemaFactory
extends BaseSchemaFactory
{
Expand Down
2 changes: 2 additions & 0 deletions src/main/java/com/ctc/wstx/stax/WstxEventFactory.java
Expand Up @@ -22,6 +22,7 @@
import javax.xml.stream.*;
import javax.xml.stream.events.*;

import aQute.bnd.annotation.spi.ServiceProvider;
import org.codehaus.stax2.ri.Stax2EventFactoryImpl;

import com.ctc.wstx.compat.QNameCreator;
Expand All @@ -31,6 +32,7 @@
* Implementation of {@link XMLEventFactory} to be used with
* Woodstox. Contains minimal additions on top of Stax2 RI.
*/
@ServiceProvider(XMLEventFactory.class)
public final class WstxEventFactory
extends Stax2EventFactoryImpl
{
Expand Down
2 changes: 2 additions & 0 deletions src/main/java/com/ctc/wstx/stax/WstxInputFactory.java
Expand Up @@ -24,6 +24,7 @@
import javax.xml.transform.sax.SAXSource;
import javax.xml.transform.stream.StreamSource;

import aQute.bnd.annotation.spi.ServiceProvider;
import org.xml.sax.InputSource;
import org.codehaus.stax2.XMLEventReader2;
import org.codehaus.stax2.XMLInputFactory2;
Expand Down Expand Up @@ -68,6 +69,7 @@
*
* @author Tatu Saloranta
*/
@ServiceProvider(XMLInputFactory.class)
public class WstxInputFactory
extends XMLInputFactory2
implements ReaderCreator,
Expand Down
2 changes: 2 additions & 0 deletions src/main/java/com/ctc/wstx/stax/WstxOutputFactory.java
Expand Up @@ -29,6 +29,7 @@
import javax.xml.transform.sax.SAXResult;
import javax.xml.transform.stream.StreamResult;

import aQute.bnd.annotation.spi.ServiceProvider;
import org.codehaus.stax2.XMLOutputFactory2;
import org.codehaus.stax2.XMLStreamWriter2;
import org.codehaus.stax2.io.Stax2Result;
Expand Down Expand Up @@ -61,6 +62,7 @@
* </li>
*</ul>
*/
@ServiceProvider(XMLOutputFactory.class)
public class WstxOutputFactory
extends XMLOutputFactory2
implements OutputConfigFlags
Expand Down
@@ -0,0 +1,3 @@
com.ctc.wstx.dtd.DTDSchemaFactory
com.ctc.wstx.msv.RelaxNGSchemaFactory
com.ctc.wstx.msv.W3CSchemaFactory

0 comments on commit dd06f34

Please sign in to comment.