You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by sl...@apache.org on 2019/04/04 21:55:52 UTC

[maven] 01/01: Upgrade slf4j to 1.8.0-beta4 - JPMS

This is an automated email from the ASF dual-hosted git repository.

slachiewicz pushed a commit to branch slf4j-1.8-modules
in repository https://gitbox.apache.org/repos/asf/maven.git

commit 4c295e864e66f343b26446a3a2876fe4ea24f9ab
Author: Sylwester Lachiewicz <sl...@apache.org>
AuthorDate: Tue Jan 8 01:19:02 2019 +0100

    Upgrade slf4j to 1.8.0-beta4 - JPMS
---
 .../cli/logging/Slf4jConfigurationFactory.java     |  6 +-
 .../cli/logging/impl/Slf4jSimpleConfiguration.java |  2 +-
 .../{impl => simple}/MavenSlf4jSimpleFriend.java   |  2 +-
 .../META-INF/maven/slf4j-configuration.properties  |  4 +-
 maven-slf4j-provider/pom.xml                       | 17 ++++-
 .../slf4j/{impl => simple}/MavenSimpleLogger.java  | 12 ++--
 .../{impl => simple}/MavenSimpleLoggerFactory.java |  2 +-
 .../MavenSimpleServiceProvider.java}               | 72 ++++++++++------------
 .../services/org.slf4j.spi.SLF4JServiceProvider    |  1 +
 pom.xml                                            |  2 +-
 10 files changed, 62 insertions(+), 58 deletions(-)

diff --git a/maven-embedder/src/main/java/org/apache/maven/cli/logging/Slf4jConfigurationFactory.java b/maven-embedder/src/main/java/org/apache/maven/cli/logging/Slf4jConfigurationFactory.java
index 1a68d76..110e9cd 100644
--- a/maven-embedder/src/main/java/org/apache/maven/cli/logging/Slf4jConfigurationFactory.java
+++ b/maven-embedder/src/main/java/org/apache/maven/cli/logging/Slf4jConfigurationFactory.java
@@ -47,7 +47,7 @@ public class Slf4jConfigurationFactory
     {
         Map<URL, Set<Object>> supported = new LinkedHashMap<>();
 
-        String slf4jBinding = loggerFactory.getClass().getCanonicalName();
+        String slf4jProvider = loggerFactory.getClass().getCanonicalName();
 
         try
         {
@@ -59,7 +59,7 @@ public class Slf4jConfigurationFactory
 
                 Properties conf = PropertyUtils.loadProperties( resource.openStream() );
 
-                String impl = conf.getProperty( slf4jBinding );
+                String impl = conf.getProperty( slf4jProvider );
 
                 if ( impl != null )
                 {
@@ -74,6 +74,6 @@ public class Slf4jConfigurationFactory
             e.printStackTrace();
         }
 
-        return new UnsupportedSlf4jBindingConfiguration( slf4jBinding, supported );
+        return new UnsupportedSlf4jBindingConfiguration( slf4jProvider, supported );
     }
 }
diff --git a/maven-embedder/src/main/java/org/apache/maven/cli/logging/impl/Slf4jSimpleConfiguration.java b/maven-embedder/src/main/java/org/apache/maven/cli/logging/impl/Slf4jSimpleConfiguration.java
index 3961059..b0eff7b 100644
--- a/maven-embedder/src/main/java/org/apache/maven/cli/logging/impl/Slf4jSimpleConfiguration.java
+++ b/maven-embedder/src/main/java/org/apache/maven/cli/logging/impl/Slf4jSimpleConfiguration.java
@@ -21,7 +21,7 @@ package org.apache.maven.cli.logging.impl;
 
 import org.apache.maven.cli.logging.BaseSlf4jConfiguration;
 import org.slf4j.MavenSlf4jFriend;
-import org.slf4j.impl.MavenSlf4jSimpleFriend;
+import org.slf4j.simple.MavenSlf4jSimpleFriend;
 
 /**
  * Configuration for slf4j-simple.
diff --git a/maven-embedder/src/main/java/org/slf4j/impl/MavenSlf4jSimpleFriend.java b/maven-embedder/src/main/java/org/slf4j/simple/MavenSlf4jSimpleFriend.java
similarity index 98%
rename from maven-embedder/src/main/java/org/slf4j/impl/MavenSlf4jSimpleFriend.java
rename to maven-embedder/src/main/java/org/slf4j/simple/MavenSlf4jSimpleFriend.java
index bffd18c..1b6ee89 100644
--- a/maven-embedder/src/main/java/org/slf4j/impl/MavenSlf4jSimpleFriend.java
+++ b/maven-embedder/src/main/java/org/slf4j/simple/MavenSlf4jSimpleFriend.java
@@ -1,4 +1,4 @@
-package org.slf4j.impl;
+package org.slf4j.simple;
 
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
diff --git a/maven-embedder/src/main/resources/META-INF/maven/slf4j-configuration.properties b/maven-embedder/src/main/resources/META-INF/maven/slf4j-configuration.properties
index ff865bc..85c7d02 100644
--- a/maven-embedder/src/main/resources/META-INF/maven/slf4j-configuration.properties
+++ b/maven-embedder/src/main/resources/META-INF/maven/slf4j-configuration.properties
@@ -17,7 +17,7 @@
 
 # key = Slf4j effective logger factory implementation
 # value = corresponding o.a.m.cli.logging.Slf4jConfiguration class
-org.slf4j.impl.SimpleLoggerFactory org.apache.maven.cli.logging.impl.Slf4jSimpleConfiguration
-org.slf4j.impl.MavenSimpleLoggerFactory org.apache.maven.cli.logging.impl.Slf4jSimpleConfiguration
+org.slf4j.simple.SimpleLoggerFactory org.apache.maven.cli.logging.impl.Slf4jSimpleConfiguration
+org.slf4j.simple.MavenSimpleLoggerFactory org.apache.maven.cli.logging.impl.Slf4jSimpleConfiguration
 org.apache.logging.slf4j.Log4jLoggerFactory org.apache.maven.cli.logging.impl.Log4j2Configuration
 ch.qos.logback.classic.LoggerContext org.apache.maven.cli.logging.impl.LogbackConfiguration
diff --git a/maven-slf4j-provider/pom.xml b/maven-slf4j-provider/pom.xml
index b8d2531..2bce169 100644
--- a/maven-slf4j-provider/pom.xml
+++ b/maven-slf4j-provider/pom.xml
@@ -48,6 +48,19 @@ under the License.
   </dependencies>
 
   <build>
+    <pluginManagement>
+      <plugins>
+        <plugin>
+          <groupId>org.apache.rat</groupId>
+          <artifactId>apache-rat-plugin</artifactId>
+          <configuration>
+            <excludes combine.children="append">
+              <exclude>src/main/resources/META-INF/services/org.slf4j.spi.SLF4JServiceProvider</exclude>
+            </excludes>
+          </configuration>
+        </plugin>
+      </plugins>
+    </pluginManagement>
     <plugins>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
@@ -62,8 +75,8 @@ under the License.
               <classifier>sources</classifier>
               <overWrite>false</overWrite>
               <outputDirectory>${project.build.directory}/generated-sources/slf4j-simple</outputDirectory>
-              <includes>org/slf4j/impl/*.java</includes>
-              <excludes>org/slf4j/impl/StaticLoggerBinder*</excludes>
+              <includes>org/slf4j/simple/*.java</includes>
+              <!--<excludes>META-INF/services/org.slf4j.spi.SLF4JServiceProvider</excludes>-->
             </artifactItem>
           </artifactItems>
         </configuration>
diff --git a/maven-slf4j-provider/src/main/java/org/slf4j/impl/MavenSimpleLogger.java b/maven-slf4j-provider/src/main/java/org/slf4j/simple/MavenSimpleLogger.java
similarity index 91%
rename from maven-slf4j-provider/src/main/java/org/slf4j/impl/MavenSimpleLogger.java
rename to maven-slf4j-provider/src/main/java/org/slf4j/simple/MavenSimpleLogger.java
index 9366687..e1f43c7 100644
--- a/maven-slf4j-provider/src/main/java/org/slf4j/impl/MavenSimpleLogger.java
+++ b/maven-slf4j-provider/src/main/java/org/slf4j/simple/MavenSimpleLogger.java
@@ -1,4 +1,4 @@
-package org.slf4j.impl;
+package org.slf4j.simple;
 
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
@@ -43,16 +43,16 @@ public class MavenSimpleLogger
         switch ( level )
         {
             case LOG_LEVEL_TRACE:
-                return level().debug( "TRACE" ).toString();
+                return level().debug( "TRACE" );
             case LOG_LEVEL_DEBUG:
-                return level().debug( "DEBUG" ).toString();
+                return level().debug( "DEBUG" );
             case LOG_LEVEL_INFO:
-                return level().info( "INFO" ).toString();
+                return level().info( "INFO" );
             case LOG_LEVEL_WARN:
-                return level().warning( "WARNING" ).toString();
+                return level().warning( "WARNING" );
             case LOG_LEVEL_ERROR:
             default:
-                return level().error( "ERROR" ).toString();
+                return level().error( "ERROR" );
         }
     }
 
diff --git a/maven-slf4j-provider/src/main/java/org/slf4j/impl/MavenSimpleLoggerFactory.java b/maven-slf4j-provider/src/main/java/org/slf4j/simple/MavenSimpleLoggerFactory.java
similarity index 98%
rename from maven-slf4j-provider/src/main/java/org/slf4j/impl/MavenSimpleLoggerFactory.java
rename to maven-slf4j-provider/src/main/java/org/slf4j/simple/MavenSimpleLoggerFactory.java
index 4adfdbe..68a772f 100644
--- a/maven-slf4j-provider/src/main/java/org/slf4j/impl/MavenSimpleLoggerFactory.java
+++ b/maven-slf4j-provider/src/main/java/org/slf4j/simple/MavenSimpleLoggerFactory.java
@@ -1,4 +1,4 @@
-package org.slf4j.impl;
+package org.slf4j.simple;
 
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
diff --git a/maven-slf4j-provider/src/main/java/org/slf4j/impl/StaticLoggerBinder.java b/maven-slf4j-provider/src/main/java/org/slf4j/simple/MavenSimpleServiceProvider.java
similarity index 53%
rename from maven-slf4j-provider/src/main/java/org/slf4j/impl/StaticLoggerBinder.java
rename to maven-slf4j-provider/src/main/java/org/slf4j/simple/MavenSimpleServiceProvider.java
index ba01d83..4cef47a 100644
--- a/maven-slf4j-provider/src/main/java/org/slf4j/impl/StaticLoggerBinder.java
+++ b/maven-slf4j-provider/src/main/java/org/slf4j/simple/MavenSimpleServiceProvider.java
@@ -1,4 +1,4 @@
-package org.slf4j.impl;
+package org.slf4j.simple;
 
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
@@ -20,70 +20,60 @@ package org.slf4j.impl;
  */
 
 import org.slf4j.ILoggerFactory;
-import org.slf4j.spi.LoggerFactoryBinder;
+import org.slf4j.IMarkerFactory;
+import org.slf4j.helpers.BasicMarkerFactory;
+import org.slf4j.helpers.NOPMDCAdapter;
+import org.slf4j.spi.MDCAdapter;
+import org.slf4j.spi.SLF4JServiceProvider;
 
 /**
- * SLF4J LoggerFactoryBinder implementation using MavenSimpleLogger.
+ * SLF4J SLF4JServiceProvider implementation using MavenSimpleLogger.
  * This class is part of the required classes used to specify an
  * SLF4J logger provider implementation.
  *
- * @since 3.5.1
+ * @since 3.6.1
  */
-public final class StaticLoggerBinder
-    implements LoggerFactoryBinder
+public class MavenSimpleServiceProvider implements SLF4JServiceProvider
 {
+
     /**
-     * Declare the version of the SLF4J API this implementation is compiled
-     * against. The value of this field is usually modified with each release.
+     * Declare the version of the SLF4J API this implementation is compiled against.
+     * The value of this field is modified with each major release.
      */
     // to avoid constant folding by the compiler, this field must *not* be final
     @SuppressWarnings( { "checkstyle:staticvariablename", "checkstyle:visibilitymodifier" } )
-    public static String REQUESTED_API_VERSION = "1.7.25"; // !final
-
-    private static final String LOGGER_FACTORY_CLASS_STR = MavenSimpleLoggerFactory.class.getName();
+    public static String REQUESTED_API_VERSION = "1.8.99"; // !final
 
-    /**
-     * The unique instance of this class.
-     */
-    private static final StaticLoggerBinder SINGLETON = new StaticLoggerBinder();
+    private ILoggerFactory loggerFactory;
+    private IMarkerFactory markerFactory;
+    private MDCAdapter mdcAdapter;
 
-    /**
-     * The ILoggerFactory instance returned by the {@link #getLoggerFactory}
-     * method should always be the same object
-     */
-    private final ILoggerFactory loggerFactory;
+    public ILoggerFactory getLoggerFactory()
+    {
+        return loggerFactory;
+    }
 
-    /**
-     * Private constructor to prevent instantiation
-     */
-    private StaticLoggerBinder()
+    public IMarkerFactory getMarkerFactory()
     {
-        loggerFactory = new MavenSimpleLoggerFactory();
+        return markerFactory;
     }
 
-    /**
-     * Returns the singleton of this class.
-     */
-    public static StaticLoggerBinder getSingleton()
+    public MDCAdapter getMDCAdapter()
     {
-        return SINGLETON;
+        return mdcAdapter;
     }
 
-    /**
-     * Returns the factory.
-     */
-    @Override
-    public ILoggerFactory getLoggerFactory()
+    public String getRequesteApiVersion()
     {
-        return loggerFactory;
+        return REQUESTED_API_VERSION;
     }
 
-    /**
-     * Returns the class name.
-     */
+
     @Override
-    public String getLoggerFactoryClassStr()
+    public void initialize()
     {
-        return LOGGER_FACTORY_CLASS_STR;
+        loggerFactory = new MavenSimpleLoggerFactory();
+        markerFactory = new BasicMarkerFactory();
+        mdcAdapter = new NOPMDCAdapter();
     }
 }
diff --git a/maven-slf4j-provider/src/main/resources/META-INF/services/org.slf4j.spi.SLF4JServiceProvider b/maven-slf4j-provider/src/main/resources/META-INF/services/org.slf4j.spi.SLF4JServiceProvider
new file mode 100644
index 0000000..d52528d
--- /dev/null
+++ b/maven-slf4j-provider/src/main/resources/META-INF/services/org.slf4j.spi.SLF4JServiceProvider
@@ -0,0 +1 @@
+org.slf4j.simple.MavenSimpleServiceProvider
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index cf60ff4..7300797 100644
--- a/pom.xml
+++ b/pom.xml
@@ -65,7 +65,7 @@ under the License.
     <modelloVersion>1.10.0</modelloVersion>
     <jxpathVersion>1.3</jxpathVersion>
     <resolverVersion>1.3.3</resolverVersion>
-    <slf4jVersion>1.7.25</slf4jVersion>
+    <slf4jVersion>1.8.0-beta4</slf4jVersion>
     <xmlunitVersion>2.2.1</xmlunitVersion>
     <maven.test.redirectTestOutputToFile>true</maven.test.redirectTestOutputToFile>
     <!-- Control the name of the distribution and information output by mvn -->