Skip to content

Commit

Permalink
Generate SPI-files and OSGi 'Service Loader Mediator' capabilities
Browse files Browse the repository at this point in the history
... using bnd-annotation for all SLF4JServiceProvider implementations,
which are loaded using the ServiceLoader mechanism.

Signed-off-by: Hannes Wellmann <wellmann.hannes1@gmx.net>
  • Loading branch information
HannesWell committed Dec 18, 2022
1 parent 22e94d6 commit 7ecfc23
Show file tree
Hide file tree
Showing 15 changed files with 26 additions and 76 deletions.
6 changes: 6 additions & 0 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,12 @@
<version>${junit.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>biz.aQute.bnd</groupId>
<artifactId>biz.aQute.bnd.annotation</artifactId>
<version>${bnd.version}</version>
<scope>provided</scope>
</dependency>
</dependencies>

<dependencyManagement>
Expand Down
3 changes: 0 additions & 3 deletions slf4j-api/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -59,9 +59,6 @@
<configuration>
<bnd><![CDATA[
Import-Package: org.slf4j.spi;version="${range;[===,+);${version;===;${maven_version;${project.version}}}}"
Require-Capability: \
osgi.extender;filter:="(&(osgi.extender=osgi.serviceloader.processor)(version>=1.0.0)(!(version>=2.0.0)))",\
osgi.serviceloader;filter:="(osgi.serviceloader=org.slf4j.spi.SLF4JServiceProvider)";osgi.serviceloader="org.slf4j.spi.SLF4JServiceProvider"
]]></bnd>
</configuration>
</plugin>
Expand Down
3 changes: 2 additions & 1 deletion slf4j-api/src/main/java/org/slf4j/LoggerFactory.java
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@
import org.slf4j.helpers.Util;
import org.slf4j.spi.SLF4JServiceProvider;

import javax.accessibility.AccessibleComponent;
import aQute.bnd.annotation.spi.ServiceConsumer;

/**
* The <code>LoggerFactory</code> is a utility class producing Loggers for
Expand All @@ -66,6 +66,7 @@
* @author Ceki G&uuml;lc&uuml;
*
*/
@ServiceConsumer(SLF4JServiceProvider.class)
public final class LoggerFactory {

static final String CODES_PREFIX = "https://www.slf4j.org/codes.html";
Expand Down
20 changes: 0 additions & 20 deletions slf4j-jdk14/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -35,24 +35,4 @@
</dependency>
</dependencies>

<build>
<plugins>

<plugin>
<groupId>biz.aQute.bnd</groupId>
<artifactId>bnd-maven-plugin</artifactId>
<configuration>
<bnd><![CDATA[
Provide-Capability: \
osgi.service;objectClass:List<String>="org.slf4j.spi.SLF4JServiceProvider";type=jul;effective:=active,\
osgi.serviceloader;osgi.serviceloader="org.slf4j.spi.SLF4JServiceProvider";register:="org.slf4j.jul.JULServiceProvider";type=jul
Require-Capability: \
osgi.extender;filter:="(&(osgi.extender=osgi.serviceloader.registrar)(version>=1.0.0)(!(version>=2.0.0)))"
]]></bnd>
</configuration>
</plugin>

</plugins>
</build>

</project>
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,9 @@
import org.slf4j.spi.MDCAdapter;
import org.slf4j.spi.SLF4JServiceProvider;

import aQute.bnd.annotation.spi.ServiceProvider;

@ServiceProvider(value = SLF4JServiceProvider.class, attribute = { "type=jul" })
public class JULServiceProvider implements SLF4JServiceProvider {

/**
Expand All @@ -30,6 +33,7 @@ public IMarkerFactory getMarkerFactory() {
return markerFactory;
}

@Override
public MDCAdapter getMDCAdapter() {
return mdcAdapter;
}
Expand Down

This file was deleted.

20 changes: 0 additions & 20 deletions slf4j-nop/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -28,24 +28,4 @@
</dependency>
</dependencies>

<build>
<plugins>

<plugin>
<groupId>biz.aQute.bnd</groupId>
<artifactId>bnd-maven-plugin</artifactId>
<configuration>
<bnd><![CDATA[
Provide-Capability: \
osgi.service;objectClass:List<String>="org.slf4j.spi.SLF4JServiceProvider";type=nop;effective:=active,\
osgi.serviceloader;osgi.serviceloader="org.slf4j.spi.SLF4JServiceProvider";register:="org.slf4j.nop.NOPServiceProvider";type=nop
Require-Capability: \
osgi.extender;filter:="(&(osgi.extender=osgi.serviceloader.registrar)(version>=1.0.0)(!(version>=2.0.0)))"
]]></bnd>
</configuration>
</plugin>

</plugins>
</build>

</project>
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@
import org.slf4j.spi.MDCAdapter;
import org.slf4j.spi.SLF4JServiceProvider;

import aQute.bnd.annotation.spi.ServiceProvider;

@ServiceProvider(value = SLF4JServiceProvider.class, attribute = { "type=nop" })
public class NOPServiceProvider implements SLF4JServiceProvider {

/**
Expand All @@ -21,14 +24,17 @@ public class NOPServiceProvider implements SLF4JServiceProvider {
private final IMarkerFactory markerFactory = new BasicMarkerFactory();
private final MDCAdapter mdcAdapter = new NOPMDCAdapter();

@Override
public ILoggerFactory getLoggerFactory() {
return loggerFactory;
}

@Override
public IMarkerFactory getMarkerFactory() {
return markerFactory;
}

@Override
public MDCAdapter getMDCAdapter() {
return mdcAdapter;
}
Expand All @@ -38,9 +44,9 @@ public String getRequestedApiVersion() {
return REQUESTED_API_VERSION;
}

@Override
public void initialize() {

}


}

This file was deleted.

5 changes: 0 additions & 5 deletions slf4j-reload4j/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -66,11 +66,6 @@
Import-Package: \
org.apache.log4j;version="${range;[==,+)}",\
org.slf4j.*
Provide-Capability: \
osgi.service;objectClass:List<String>="org.slf4j.spi.SLF4JServiceProvider";type=reload4j;effective:=active,\
osgi.serviceloader;osgi.serviceloader="org.slf4j.spi.SLF4JServiceProvider";register:="org.slf4j.reload4j.Reload4jServiceProvider";type=reload4j
Require-Capability: \
osgi.extender;filter:="(&(osgi.extender=osgi.serviceloader.registrar)(version>=1.0.0)(!(version>=2.0.0)))"
]]></bnd>
</configuration>
</plugin>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@
import org.slf4j.spi.MDCAdapter;
import org.slf4j.spi.SLF4JServiceProvider;

import aQute.bnd.annotation.spi.ServiceProvider;

@ServiceProvider(value = SLF4JServiceProvider.class, attribute = { "type=reload4j" })
public class Reload4jServiceProvider implements SLF4JServiceProvider {

/**
Expand Down Expand Up @@ -42,13 +45,11 @@ public ILoggerFactory getLoggerFactory() {
return loggerFactory;
}


@Override
public IMarkerFactory getMarkerFactory() {
return markerFactory;
}


@Override
public MDCAdapter getMDCAdapter() {
return mdcAdapter;
Expand Down

This file was deleted.

20 changes: 0 additions & 20 deletions slf4j-simple/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -35,24 +35,4 @@
</dependency>
</dependencies>

<build>
<plugins>

<plugin>
<groupId>biz.aQute.bnd</groupId>
<artifactId>bnd-maven-plugin</artifactId>
<configuration>
<bnd><![CDATA[
Provide-Capability: \
osgi.service;objectClass:List<String>="org.slf4j.spi.SLF4JServiceProvider";type=simple;effective:=active,\
osgi.serviceloader;osgi.serviceloader="org.slf4j.spi.SLF4JServiceProvider";register:="org.slf4j.simple.SimpleServiceProvider";type=simple
Require-Capability: \
osgi.extender;filter:="(&(osgi.extender=osgi.serviceloader.registrar)(version>=1.0.0)(!(version>=2.0.0)))"
]]></bnd>
</configuration>
</plugin>

</plugins>
</build>

</project>
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,9 @@
import org.slf4j.spi.MDCAdapter;
import org.slf4j.spi.SLF4JServiceProvider;

import aQute.bnd.annotation.spi.ServiceProvider;

@ServiceProvider(value = SLF4JServiceProvider.class, attribute = { "type=simple" })
public class SimpleServiceProvider implements SLF4JServiceProvider {

/**
Expand All @@ -20,6 +23,7 @@ public class SimpleServiceProvider implements SLF4JServiceProvider {
private IMarkerFactory markerFactory;
private MDCAdapter mdcAdapter;

@Override
public ILoggerFactory getLoggerFactory() {
return loggerFactory;
}
Expand Down

This file was deleted.

0 comments on commit 7ecfc23

Please sign in to comment.