You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by ba...@apache.org on 2024/03/05 11:01:26 UTC
(jackrabbit-oak) branch issue/oak-10339 updated: OAK-10339: Migrate to SLF4J 2.x
This is an automated email from the ASF dual-hosted git repository.
baedke pushed a commit to branch issue/oak-10339
in repository https://gitbox.apache.org/repos/asf/jackrabbit-oak.git
The following commit(s) were added to refs/heads/issue/oak-10339 by this push:
new d990b7a4fe OAK-10339: Migrate to SLF4J 2.x
d990b7a4fe is described below
commit d990b7a4fe413d6a2a4fea4fa603f419dfbe97f3
Author: Manfred Baedke <ma...@gmail.com>
AuthorDate: Tue Mar 5 11:59:03 2024 +0100
OAK-10339: Migrate to SLF4J 2.x
Moving to slf4j-2.0.12 and logback-1.5.2.
---
oak-it-osgi/pom.xml | 6 ++
.../org/apache/jackrabbit/oak/osgi/OSGiIT.java | 10 ++-
.../jackrabbit/oak/osgi/TikaExtractionOsgiIT.java | 85 ++++++++++------------
oak-parent/pom.xml | 10 +--
oak-run-elastic/pom.xml | 2 +-
oak-solr-core/pom.xml | 1 +
.../oak/composite/it/CompositeTestSupport.java | 3 +
7 files changed, 63 insertions(+), 54 deletions(-)
diff --git a/oak-it-osgi/pom.xml b/oak-it-osgi/pom.xml
index 3e29b9543b..f869b62fee 100644
--- a/oak-it-osgi/pom.xml
+++ b/oak-it-osgi/pom.xml
@@ -307,6 +307,12 @@
<artifactId>pax-url-wrap</artifactId>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.apache.sling</groupId>
+ <artifactId>org.apache.sling.testing.paxexam</artifactId>
+ <version>3.1.0</version>
+ <scope>test</scope>
+ </dependency>
<dependency>
<groupId>io.dropwizard.metrics</groupId>
<artifactId>metrics-core</artifactId>
diff --git a/oak-it-osgi/src/test/java/org/apache/jackrabbit/oak/osgi/OSGiIT.java b/oak-it-osgi/src/test/java/org/apache/jackrabbit/oak/osgi/OSGiIT.java
index 7d814496c0..337ddf30b0 100644
--- a/oak-it-osgi/src/test/java/org/apache/jackrabbit/oak/osgi/OSGiIT.java
+++ b/oak-it-osgi/src/test/java/org/apache/jackrabbit/oak/osgi/OSGiIT.java
@@ -36,6 +36,7 @@ import javax.jcr.RepositoryException;
import org.apache.jackrabbit.oak.plugins.document.spi.lease.LeaseFailureHandler;
import org.apache.jackrabbit.oak.spi.state.NodeStore;
+import org.apache.sling.testing.paxexam.SlingOptions;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.ops4j.pax.exam.Configuration;
@@ -71,13 +72,16 @@ public class OSGiIT {
mavenBundle( "org.apache.felix", "org.apache.felix.configadmin", "1.9.20" ),
mavenBundle( "org.apache.felix", "org.apache.felix.fileinstall", "3.2.6" ),
mavenBundle( "org.ops4j.pax.logging", "pax-logging-api", "1.7.2" ),
+ mavenBundle("jakarta.servlet", "jakarta.servlet-api", "5.0.0"),
+ // required for slf4j 2.0.x
+ SlingOptions.spyfly(),
frameworkProperty("repository.home").value("target"),
systemProperties(new SystemPropertyOption("felix.fileinstall.dir").value(getConfigDir())),
jarBundles(),
jpmsOptions());
}
- private Option jpmsOptions(){
+ static Option jpmsOptions(){
DefaultCompositeOption composite = new DefaultCompositeOption();
if (Version.parseVersion(System.getProperty("java.specification.version")).getMajor() > 1){
if (java.nio.file.Files.exists(java.nio.file.FileSystems.getFileSystem(URI.create("jrt:/")).getPath("modules", "java.se.ee"))){
@@ -98,11 +102,11 @@ public class OSGiIT {
return composite;
}
- private String getConfigDir(){
+ static String getConfigDir(){
return new File(new File("src", "test"), "config").getAbsolutePath();
}
- private Option jarBundles() throws MalformedURLException {
+ static Option jarBundles() throws MalformedURLException {
DefaultCompositeOption composite = new DefaultCompositeOption();
for (File bundle : new File("target", "test-bundles").listFiles()) {
if (bundle.getName().endsWith(".jar") && bundle.isFile()) {
diff --git a/oak-it-osgi/src/test/java/org/apache/jackrabbit/oak/osgi/TikaExtractionOsgiIT.java b/oak-it-osgi/src/test/java/org/apache/jackrabbit/oak/osgi/TikaExtractionOsgiIT.java
index bf4234d750..0b50c02185 100644
--- a/oak-it-osgi/src/test/java/org/apache/jackrabbit/oak/osgi/TikaExtractionOsgiIT.java
+++ b/oak-it-osgi/src/test/java/org/apache/jackrabbit/oak/osgi/TikaExtractionOsgiIT.java
@@ -16,41 +16,58 @@
*/
package org.apache.jackrabbit.oak.osgi;
+import org.apache.sling.testing.paxexam.SlingOptions;
import org.apache.tika.metadata.Metadata;
import org.apache.tika.parser.AutoDetectParser;
import org.apache.tika.parser.Parser;
import org.apache.tika.sax.WriteOutContentHandler;
+
import org.junit.Test;
import org.junit.runner.RunWith;
+
import org.ops4j.pax.exam.Configuration;
import org.ops4j.pax.exam.CoreOptions;
import org.ops4j.pax.exam.Option;
import org.ops4j.pax.exam.junit.PaxExam;
import org.ops4j.pax.exam.options.DefaultCompositeOption;
+import org.ops4j.pax.exam.options.SystemPropertyOption;
import org.ops4j.pax.exam.spi.reactors.ExamReactorStrategy;
import org.ops4j.pax.exam.spi.reactors.PerClass;
+
import org.osgi.framework.Bundle;
import org.osgi.framework.BundleContext;
-import org.osgi.framework.Version;
+
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+
import org.xml.sax.ContentHandler;
-import javax.inject.Inject;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
-import java.net.URI;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.stream.Collectors;
+import javax.inject.Inject;
+
import static java.util.Arrays.stream;
-import static org.junit.Assert.*;
-import static org.ops4j.pax.exam.CoreOptions.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+
+import static org.ops4j.pax.exam.CoreOptions.bundle;
+import static org.ops4j.pax.exam.CoreOptions.composite;
+import static org.ops4j.pax.exam.CoreOptions.frameworkProperty;
+import static org.ops4j.pax.exam.CoreOptions.junitBundles;
+import static org.ops4j.pax.exam.CoreOptions.mavenBundle;
+import static org.ops4j.pax.exam.CoreOptions.systemProperties;
+import static org.ops4j.pax.exam.CoreOptions.wrappedBundle;
+
+import static org.apache.jackrabbit.oak.osgi.OSGiIT.getConfigDir;
@RunWith(PaxExam.class)
@ExamReactorStrategy(PerClass.class)
@@ -74,38 +91,30 @@ public class TikaExtractionOsgiIT {
public Option[] configuration() throws IOException {
return CoreOptions.options(
junitBundles(),
- mavenBundle( "org.ops4j.pax.logging", "pax-logging-api", "2.2.3" ),
- frameworkProperty("repository.home").value("target"),
+ mavenBundle("org.apache.felix", "org.apache.felix.scr", "2.1.28"),
+ // transitive deps of Felix SCR 2.1.x
+ mavenBundle("org.osgi", "org.osgi.util.promise", "1.1.1"),
+ mavenBundle("org.osgi", "org.osgi.util.function", "1.1.0"),
+ mavenBundle("org.apache.felix", "org.apache.felix.jaas", "1.0.2"),
+ mavenBundle("org.osgi", "org.osgi.dto", "1.0.0"),
+ // require at least ConfigAdmin 1.6 supported by felix.configadmin 1.9.0+
+ mavenBundle( "org.apache.felix", "org.apache.felix.configadmin", "1.9.20" ),
+ mavenBundle( "org.apache.felix", "org.apache.felix.fileinstall", "3.2.6" ),
+ mavenBundle( "org.ops4j.pax.logging", "pax-logging-api", "1.7.2" ),
+ mavenBundle("org.apache.logging.log4j", "log4j-api", "2.23.0"),
+ mavenBundle("jakarta.servlet", "jakarta.servlet-api", "5.0.0"),
+ SlingOptions.spyfly(),
setupTikaAndPoi(),
- jpmsOptions()
+ frameworkProperty("repository.home").value("target"),
+ systemProperties(new SystemPropertyOption("felix.fileinstall.dir").value(getConfigDir())),
+ OSGiIT.jpmsOptions()
// to debug a test, un-comment this and "run" the test which would block due to suspend="y"
// then run debugger on a remote app with specified port
// , vmOption( "-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005" )
);
}
- private Option jpmsOptions(){
- DefaultCompositeOption composite = new DefaultCompositeOption();
- if (Version.parseVersion(System.getProperty("java.specification.version")).getMajor() > 1){
- if (java.nio.file.Files.exists(java.nio.file.FileSystems.getFileSystem(URI.create("jrt:/")).getPath("modules", "java.se.ee"))){
- composite.add(vmOption("--add-modules=java.se.ee"));
- }
- composite.add(vmOption("--add-opens=java.base/jdk.internal.loader=ALL-UNNAMED"));
- composite.add(vmOption("--add-opens=java.base/java.lang=ALL-UNNAMED"));
- composite.add(vmOption("--add-opens=java.base/java.lang.invoke=ALL-UNNAMED"));
- composite.add(vmOption("--add-opens=java.base/java.io=ALL-UNNAMED"));
- composite.add(vmOption("--add-opens=java.base/java.net=ALL-UNNAMED"));
- composite.add(vmOption("--add-opens=java.base/java.nio=ALL-UNNAMED"));
- composite.add(vmOption("--add-opens=java.base/java.util=ALL-UNNAMED"));
- composite.add(vmOption("--add-opens=java.base/java.util.jar=ALL-UNNAMED"));
- composite.add(vmOption("--add-opens=java.base/java.util.regex=ALL-UNNAMED"));
- composite.add(vmOption("--add-opens=java.base/java.util.zip=ALL-UNNAMED"));
- composite.add(vmOption("--add-opens=java.base/sun.nio.ch=ALL-UNNAMED"));
- }
- return composite;
- }
-
- private Option setupTikaAndPoi() throws IOException {
+ private static Option setupTikaAndPoi() throws IOException {
Map<String, String> versions = setupVersions();
return composite(
composite(
@@ -127,24 +136,10 @@ public class TikaExtractionOsgiIT {
, mavenBundle("org.apache.commons", "commons-math3", versions.get(MATH3_VERSION))
// poi dependency end
)
- , jarBundles()
+ , OSGiIT.jarBundles()
);
}
- private Option jarBundles() throws MalformedURLException {
- String[] jarNames = new String[]{"commons-io.jar", "commons-codec.jar"};
- File jarDir = new File("target", "test-bundles");
-
- DefaultCompositeOption composite = new DefaultCompositeOption();
-
- List<File> jarFiles = stream(jarNames).map(jarName -> new File(jarDir, jarName)).collect(Collectors.toList());
- for (File jar : jarFiles) {
- composite.add(bundle(jar.toURI().toURL().toString()));
- }
-
- return composite;
- }
-
private static Map<String, String> setupVersions() throws IOException {
Properties props = new Properties();
props.load(TikaExtractionOsgiIT.class.getClassLoader().getResourceAsStream(VERSION_PROP_RESOURCE_NAME));
diff --git a/oak-parent/pom.xml b/oak-parent/pom.xml
index a41885e496..561d070ca6 100644
--- a/oak-parent/pom.xml
+++ b/oak-parent/pom.xml
@@ -59,9 +59,9 @@
<lucene.version>4.7.1</lucene.version>
<solr.version>8.11.1</solr.version>
<mongo.driver.version>3.12.11</mongo.driver.version>
- <slf4j.api.version>1.7.36</slf4j.api.version>
- <slf4j.version>1.7.36</slf4j.version> <!-- sync with logback version -->
- <logback.version>1.2.10</logback.version>
+ <slf4j.api.version>2.0.12</slf4j.api.version>
+ <slf4j.version>2.0.12</slf4j.version> <!-- sync with logback version -->
+ <logback.version>1.5.2</logback.version>
<h2.version>2.1.214</h2.version>
<tika.version>1.28.5</tika.version>
<derby.version>10.15.2.0</derby.version>
@@ -794,13 +794,13 @@
<dependency>
<groupId>org.ops4j.pax.url</groupId>
<artifactId>pax-url-aether</artifactId>
- <version>2.6.9</version>
+ <version>2.6.14</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.ops4j.pax.url</groupId>
<artifactId>pax-url-wrap</artifactId>
- <version>2.6.1</version>
+ <version>2.6.14</version>
<scope>test</scope>
</dependency>
<dependency>
diff --git a/oak-run-elastic/pom.xml b/oak-run-elastic/pom.xml
index 391a02c024..7e8a0d9d91 100644
--- a/oak-run-elastic/pom.xml
+++ b/oak-run-elastic/pom.xml
@@ -40,7 +40,7 @@
85 MB : remove Elasticsearch RHLC
103.5 MB: Azure Identity client library for Java (OAK-10604)
-->
- <max.jar.size>103500000</max.jar.size>
+ <max.jar.size>103700000</max.jar.size>
</properties>
diff --git a/oak-solr-core/pom.xml b/oak-solr-core/pom.xml
index 12d101ce09..064011dafa 100644
--- a/oak-solr-core/pom.xml
+++ b/oak-solr-core/pom.xml
@@ -182,6 +182,7 @@
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
+ <version>1.2.12</version>
<scope>test</scope>
</dependency>
<dependency>
diff --git a/oak-store-composite/src/test/java/org/apache/jackrabbit/oak/composite/it/CompositeTestSupport.java b/oak-store-composite/src/test/java/org/apache/jackrabbit/oak/composite/it/CompositeTestSupport.java
index 969c3f0c9d..a54bffc8b1 100644
--- a/oak-store-composite/src/test/java/org/apache/jackrabbit/oak/composite/it/CompositeTestSupport.java
+++ b/oak-store-composite/src/test/java/org/apache/jackrabbit/oak/composite/it/CompositeTestSupport.java
@@ -102,6 +102,9 @@ public abstract class CompositeTestSupport extends TestSupport {
protected static Option logging(String level) {
return composite(
mavenBundle("org.ops4j.pax.logging", "pax-logging-api", "1.11.13"),
+ SlingOptions.spyfly(),
+ mavenBundle("org.slf4j", "slf4j-api", "2.0.12"),
+ mavenBundle("org.slf4j", "slf4j-simple", "2.0.12"),
systemProperty("org.ops4j.pax.logging.DefaultServiceLog.level").value(level),
SlingOptions.logback()
);