From df44ace9c3f9f09ad4fd861ed4b9a304872c08e2 Mon Sep 17 00:00:00 2001 From: Hannes Wellmann Date: Thu, 12 Jan 2023 23:13:47 +0100 Subject: [PATCH] Automate OSGi metadata creation and fix metadata for other slf4j-modules Only use the maven-bundle-plugin to generate all OSGi metadata into slf4j's Manifest.MF files. This unifies the resulting MANIFEST.MFs that are currently partly generated and partly statically defined and fixes the following aspects: - Fix the package-export of slf4j-jdk-platform-logging (from 'slf4j.jdk.platform.logging' to 'org.slf4j.jdk.platform.logging') - Import missing packages for slf4j-reload4j and log4j-over-slf4j - Replace the deprecated 'Bundle-RequiredExecutionEnvironment' by a corresponding required 'osgi.ee' capability - Restores the exported packages of jcl-over-slf4j Fixes https://jira.qos.ch/browse/SLF4J-578 Signed-off-by: Hannes Wellmann --- .../src/main/resources/META-INF/MANIFEST.MF | 0 jcl-over-slf4j/pom.xml | 16 +++++++++++++- .../src/main/resources/META-INF/MANIFEST.MF | 9 -------- .../src/main/resources/META-INF/MANIFEST.MF | 6 ------ .../src/main/resources/META-INF/MANIFEST.MF | 8 ------- osgi-over-slf4j/pom.xml | 21 ++++++++++++++++++- .../src/main/resources/META-INF/MANIFEST.MF | 8 ------- pom.xml | 19 +---------------- slf4j-ext/pom.xml | 13 +++++++++++- .../src/main/resources/META-INF/MANIFEST.MF | 8 ------- .../src/main/resources/META-INF/MANIFEST.MF | 9 -------- .../src/main/resources/META-INF/MANIFEST.MF | 10 --------- .../src/main/resources/META-INF/MANIFEST.MF | 10 --------- .../src/main/resources/META-INF/MANIFEST.MF | 11 ---------- .../src/main/resources/META-INF/MANIFEST.MF | 11 ---------- 15 files changed, 48 insertions(+), 111 deletions(-) delete mode 100644 integration/src/main/resources/META-INF/MANIFEST.MF delete mode 100755 jcl-over-slf4j/src/main/resources/META-INF/MANIFEST.MF delete mode 100644 osgi-over-slf4j/src/main/resources/META-INF/MANIFEST.MF delete mode 100644 slf4j-ext/src/main/resources/META-INF/MANIFEST.MF delete mode 100644 slf4j-jdk-platform-logging/src/main/resources/META-INF/MANIFEST.MF diff --git a/integration/src/main/resources/META-INF/MANIFEST.MF b/integration/src/main/resources/META-INF/MANIFEST.MF deleted file mode 100644 index e69de29b..00000000 diff --git a/jcl-over-slf4j/pom.xml b/jcl-over-slf4j/pom.xml index cc0164fa..240b2b0f 100755 --- a/jcl-over-slf4j/pom.xml +++ b/jcl-over-slf4j/pom.xml @@ -27,7 +27,7 @@ org.apache.commons.logging - + org.slf4j @@ -39,5 +39,19 @@ test + + + + org.apache.felix + maven-bundle-plugin + + + <_exportcontents>org.apache.commons.logging*;version=${jcl.version};-noimport:=true + + + + + + diff --git a/jcl-over-slf4j/src/main/resources/META-INF/MANIFEST.MF b/jcl-over-slf4j/src/main/resources/META-INF/MANIFEST.MF deleted file mode 100755 index aa79492a..00000000 --- a/jcl-over-slf4j/src/main/resources/META-INF/MANIFEST.MF +++ /dev/null @@ -1,9 +0,0 @@ -Implementation-Title: jcl-over-slf4j -Bundle-ManifestVersion: 2 -Bundle-SymbolicName: jcl.over.slf4j -Bundle-Name: jcl-over-slf4j -Bundle-Vendor: SLF4J.ORG -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 -Export-Package: org.apache.commons.logging;version=1.2, - org.apache.commons.logging.impl;version=1.2 -Import-Package: org.slf4j;version=${parsedVersion.osgiVersion}, org.slf4j.spi;version=${parsedVersion.osgiVersion} diff --git a/jul-to-slf4j/src/main/resources/META-INF/MANIFEST.MF b/jul-to-slf4j/src/main/resources/META-INF/MANIFEST.MF index adecc065..d920e016 100644 --- a/jul-to-slf4j/src/main/resources/META-INF/MANIFEST.MF +++ b/jul-to-slf4j/src/main/resources/META-INF/MANIFEST.MF @@ -1,8 +1,2 @@ Bundle-ManifestVersion: 2 -Bundle-SymbolicName: jul.to.slf4j -Bundle-Name: jul-to-slf4j -Bundle-Vendor: SLF4J.ORG -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 -Export-Package: org.slf4j.bridge;version=${parsedVersion.osgiVersion};uses:="org.slf4j,org.slf4j.spi" -Import-Package: org.slf4j;version=${parsedVersion.osgiVersion},org.slf4j.spi;version=${parsedVersion.osgiVersion} Automatic-Module-Name: jul.to.slf4j diff --git a/log4j-over-slf4j/src/main/resources/META-INF/MANIFEST.MF b/log4j-over-slf4j/src/main/resources/META-INF/MANIFEST.MF index 7a621dc6..dacefbee 100755 --- a/log4j-over-slf4j/src/main/resources/META-INF/MANIFEST.MF +++ b/log4j-over-slf4j/src/main/resources/META-INF/MANIFEST.MF @@ -1,13 +1,5 @@ -Implementation-Title: log4j-over-slf4j Bundle-ManifestVersion: 2 -Bundle-SymbolicName: log4j.over.slf4j -Bundle-Name: log4j-over-slf4j -Bundle-Vendor: SLF4J.ORG -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 Export-Package: org.apache.log4j;version=${reload4j.version}, org.apache.log4j.helpers;version=${reload4j.version}, org.apache.log4j.spi;version=${reload4j.version}, org.apache.log4j.xml;version=${reload4j.version} -Import-Package: org.slf4j;version=${slf4j.api.minimum.compatible.version}, - org.slf4j.helpers;version=${slf4j.api.minimum.compatible.version}, - org.slf4j.spi;version=${slf4j.api.minimum.compatible.version} diff --git a/osgi-over-slf4j/pom.xml b/osgi-over-slf4j/pom.xml index 2a5d1f0c..be3554b6 100755 --- a/osgi-over-slf4j/pom.xml +++ b/osgi-over-slf4j/pom.xml @@ -37,8 +37,27 @@ org.slf4j slf4j-simple - ${project.version} provided + + + + + + org.apache.felix + maven-bundle-plugin + + + org.slf4j.osgi-over-slf4j + org.slf4j.osgi.logservice.impl.Activator + osgi + <_exportcontents combine.self="override" /> + + + + + + + diff --git a/osgi-over-slf4j/src/main/resources/META-INF/MANIFEST.MF b/osgi-over-slf4j/src/main/resources/META-INF/MANIFEST.MF deleted file mode 100644 index 5fa37751..00000000 --- a/osgi-over-slf4j/src/main/resources/META-INF/MANIFEST.MF +++ /dev/null @@ -1,8 +0,0 @@ -Implementation-Title: osgi-over-slf4j -Bundle-ManifestVersion: 2 -Bundle-SymbolicName: org.slf4j.osgi-over-slf4j -Bundle-Name: OSGi LogService implemented over SLF4J -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 -Bundle-Activator: org.slf4j.osgi.logservice.impl.Activator -Bundle-Category: osgi -Import-Package: org.osgi.framework;version="[1.5,2)",org.osgi.service.log;version="[1.3,2)",org.slf4j;version=${parsedVersion.osgiVersion} diff --git a/pom.xml b/pom.xml index 0b6291e1..f3c0bc90 100755 --- a/pom.xml +++ b/pom.xml @@ -44,10 +44,10 @@ UTF-8 UTF-8 - 1.6.0 0.8.1 1.2.22 1.2.10 + 1.2 4.13.1 3.7.1 3.8.1 @@ -58,8 +58,6 @@ 3.2.0 3.1.1 5.1.8 - 3.2.0 - @@ -308,21 +306,6 @@ - - - org.codehaus.mojo - build-helper-maven-plugin - ${build-helper-maven-plugin.version} - - - parse-version - - parse-version - - - - - org.apache.maven.plugins maven-site-plugin diff --git a/slf4j-ext/pom.xml b/slf4j-ext/pom.xml index 3f946334..2cdf1189 100755 --- a/slf4j-ext/pom.xml +++ b/slf4j-ext/pom.xml @@ -73,8 +73,19 @@ - + + org.apache.felix + maven-bundle-plugin + + + ch.qos.cal10n;version="${cal10n.version}";resolution:="optional", org.slf4j, org.slf4j.* + <_exportcontents>org.slf4j.ext, org.slf4j.profiler, org.slf4j.cal10n + + + + + diff --git a/slf4j-ext/src/main/resources/META-INF/MANIFEST.MF b/slf4j-ext/src/main/resources/META-INF/MANIFEST.MF deleted file mode 100644 index e6929276..00000000 --- a/slf4j-ext/src/main/resources/META-INF/MANIFEST.MF +++ /dev/null @@ -1,8 +0,0 @@ -Implementation-Title: slf4j-ext -Bundle-ManifestVersion: 2 -Bundle-SymbolicName: slf4j.ext -Bundle-Name: slf4j-ext -Bundle-Vendor: SLF4J.ORG -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 -Export-Package: org.slf4j.profiler;version=${parsedVersion.osgiVersion}, org.slf4j.cal10n;version=${parsedVersion.osgiVersion}, org.slf4j.ext;version=${parsedVersion.osgiVersion} -Import-Package: org.slf4j;version=${parsedVersion.osgiVersion}, org.slf4j.spi;version=${parsedVersion.osgiVersion}, org.slf4j.helpers;version=${parsedVersion.osgiVersion}, ch.qos.cal10n;version=${cal10n.version};resolution:=optional diff --git a/slf4j-jdk-platform-logging/src/main/resources/META-INF/MANIFEST.MF b/slf4j-jdk-platform-logging/src/main/resources/META-INF/MANIFEST.MF deleted file mode 100644 index d0733226..00000000 --- a/slf4j-jdk-platform-logging/src/main/resources/META-INF/MANIFEST.MF +++ /dev/null @@ -1,9 +0,0 @@ -Implementation-Title: slf4j-jdk-platform-logging -Bundle-ManifestVersion: 2 -Bundle-SymbolicName: slf4j.jdk.platform.logging -Bundle-Name: slf4j-jdk-platform-logging -Bundle-Vendor: SLF4J.ORG -Require-Bundle: slf4j.api -Bundle-RequiredExecutionEnvironment: JavaSE-9 -Export-Package: slf4j.jdk.platform.logging;version=${parsedVersion.osgiVersion} -Import-Package: org.slf4j;version=${parsedVersion.osgiVersion} diff --git a/slf4j-jdk14/src/main/resources/META-INF/MANIFEST.MF b/slf4j-jdk14/src/main/resources/META-INF/MANIFEST.MF index c7401272..d2980de9 100755 --- a/slf4j-jdk14/src/main/resources/META-INF/MANIFEST.MF +++ b/slf4j-jdk14/src/main/resources/META-INF/MANIFEST.MF @@ -1,14 +1,4 @@ -Implementation-Title: slf4j-jdk14 Bundle-ManifestVersion: 2 -Bundle-SymbolicName: slf4j.jdk14 -Bundle-Name: slf4j-jdk14 -Bundle-Vendor: SLF4J.ORG -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 -Export-Package: org.slf4j.jul;version=${parsedVersion.osgiVersion} -Import-Package: org.slf4j;version=${parsedVersion.osgiVersion}, - org.slf4j.spi;version=${parsedVersion.osgiVersion}, - org.slf4j.helpers;version=${parsedVersion.osgiVersion}, - org.slf4j.event;version=${parsedVersion.osgiVersion} Provide-Capability: osgi.service;objectClass:List="org.slf4j.s pi.SLF4JServiceProvider";type=jul;effective:=active,osgi.serviceloade r;osgi.serviceloader="org.slf4j.spi.SLF4JServiceProvider";register:=" diff --git a/slf4j-nop/src/main/resources/META-INF/MANIFEST.MF b/slf4j-nop/src/main/resources/META-INF/MANIFEST.MF index e8026f44..4755f705 100755 --- a/slf4j-nop/src/main/resources/META-INF/MANIFEST.MF +++ b/slf4j-nop/src/main/resources/META-INF/MANIFEST.MF @@ -1,14 +1,4 @@ -Implementation-Title: slf4j-nop Bundle-ManifestVersion: 2 -Bundle-SymbolicName: slf4j.nop -Bundle-Name: slf4j-nop -Bundle-Vendor: SLF4J.ORG -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 -Export-Package: org.slf4j.nop;version=${parsedVersion.osgiVersion} -Import-Package: org.slf4j;version=${parsedVersion.osgiVersion}, - org.slf4j.spi;version=${parsedVersion.osgiVersion}, - org.slf4j.helpers;version=${parsedVersion.osgiVersion}, - org.slf4j.event;version=${parsedVersion.osgiVersion} Provide-Capability: osgi.service;objectClass:List="org.slf4j.s pi.SLF4JServiceProvider";type=nop;effective:=active,osgi.serviceloade r;osgi.serviceloader="org.slf4j.spi.SLF4JServiceProvider";register:=" diff --git a/slf4j-reload4j/src/main/resources/META-INF/MANIFEST.MF b/slf4j-reload4j/src/main/resources/META-INF/MANIFEST.MF index fed77da5..e701b347 100644 --- a/slf4j-reload4j/src/main/resources/META-INF/MANIFEST.MF +++ b/slf4j-reload4j/src/main/resources/META-INF/MANIFEST.MF @@ -1,15 +1,4 @@ -Implementation-Title: slf4j-reload4j Bundle-ManifestVersion: 2 -Bundle-SymbolicName: slf4j.reload4j -Bundle-Name: slf4j-reload4j -Bundle-Vendor: SLF4J.ORG -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 -Export-Package: org.slf4j.reload4j;version=${parsedVersion.osgiVersion} -Import-Package: org.slf4j;version=${parsedVersion.osgiVersion}, - org.slf4j.spi;version=${parsedVersion.osgiVersion}, - org.slf4j.helpers;version=${parsedVersion.osgiVersion}, - org.slf4j.event;version=${parsedVersion.osgiVersion}, - org.apache.log4j Provide-Capability: osgi.service;objectClass:List="org.slf4j.s pi.SLF4JServiceProvider";type=reload4j;effective:=active,osgi.service loader;osgi.serviceloader="org.slf4j.spi.SLF4JServiceProvider";regist diff --git a/slf4j-simple/src/main/resources/META-INF/MANIFEST.MF b/slf4j-simple/src/main/resources/META-INF/MANIFEST.MF index 9e8d817a..2c8f4502 100755 --- a/slf4j-simple/src/main/resources/META-INF/MANIFEST.MF +++ b/slf4j-simple/src/main/resources/META-INF/MANIFEST.MF @@ -1,15 +1,4 @@ -Implementation-Title: slf4j-simple Bundle-ManifestVersion: 2 -Bundle-SymbolicName: slf4j.simple -Bundle-Name: slf4j-simple -Bundle-Vendor: SLF4J.ORG -Require-Bundle: slf4j.api -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 -Export-Package: org.slf4j.simple;version=${parsedVersion.osgiVersion} -Import-Package: org.slf4j;version=${parsedVersion.osgiVersion}, - org.slf4j.spi;version=${parsedVersion.osgiVersion}, - org.slf4j.helpers;version=${parsedVersion.osgiVersion}, - org.slf4j.event;version=${parsedVersion.osgiVersion} Provide-Capability: osgi.service;objectClass:List="org.slf4j.s pi.SLF4JServiceProvider";type=simple;effective:=active,osgi.servicelo ader;osgi.serviceloader="org.slf4j.spi.SLF4JServiceProvider";register