You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by hb...@apache.org on 2018/02/08 22:53:23 UTC

[14/49] maven git commit: [MNG-6196] removed remaining Monkey patching, not really necessary

[MNG-6196] removed remaining Monkey patching, not really necessary

done after Emmanuel Bourg #118 PR idea

Project: http://git-wip-us.apache.org/repos/asf/maven/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/4f530c4f
Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/4f530c4f
Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/4f530c4f

Branch: refs/heads/MNG-6255
Commit: 4f530c4f006b8d22da90d968a1d32797280804b9
Parents: eb2db7b
Author: Hervé Boutemy <hb...@apache.org>
Authored: Sun May 21 19:02:46 2017 +0200
Committer: Hervé Boutemy <hb...@apache.org>
Committed: Tue Sep 26 00:19:57 2017 +0200

----------------------------------------------------------------------
 maven-slf4j-provider/pom.xml                    | 20 +----
 .../java/org/slf4j/impl/StaticLoggerBinder.java | 89 ++++++++++++++++++++
 .../src/main/script/patch-slf4j-simple.groovy   | 36 --------
 3 files changed, 91 insertions(+), 54 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven/blob/4f530c4f/maven-slf4j-provider/pom.xml
----------------------------------------------------------------------
diff --git a/maven-slf4j-provider/pom.xml b/maven-slf4j-provider/pom.xml
index 68912f5..4bb0b2a 100644
--- a/maven-slf4j-provider/pom.xml
+++ b/maven-slf4j-provider/pom.xml
@@ -32,7 +32,7 @@ under the License.
 
   <name>Maven SLF4J Simple Provider</name>
   <description>
-    Maven SLF4J provider based on SLF4J's simple provider, monkey-patched to support Maven styled colors
+    Maven SLF4J provider based on SLF4J's simple provider, extended to support Maven styled colors
     for levels and stacktraces rendering.
   </description>
 
@@ -63,6 +63,7 @@ under the License.
               <overWrite>false</overWrite>
               <outputDirectory>${project.build.directory}/generated-sources/slf4j-simple</outputDirectory>
               <includes>org/slf4j/impl/*.java</includes>
+              <excludes>org/slf4j/impl/StaticLoggerBinder*</excludes>
             </artifactItem>
           </artifactItems>
         </configuration>
@@ -94,23 +95,6 @@ under the License.
           </execution>
         </executions>
       </plugin>
-      <plugin>
-        <groupId>org.codehaus.gmaven</groupId>
-        <artifactId>groovy-maven-plugin</artifactId>
-        <version>2.0</version>
-        <executions>
-          <execution>
-            <id>patch-slf4j-simple</id>
-            <phase>process-sources</phase>
-            <goals>
-              <goal>execute</goal>
-            </goals>
-            <configuration>
-              <source>${project.basedir}/src/main/script/patch-slf4j-simple.groovy</source>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
     </plugins>
   </build>
 </project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/maven/blob/4f530c4f/maven-slf4j-provider/src/main/java/org/slf4j/impl/StaticLoggerBinder.java
----------------------------------------------------------------------
diff --git a/maven-slf4j-provider/src/main/java/org/slf4j/impl/StaticLoggerBinder.java b/maven-slf4j-provider/src/main/java/org/slf4j/impl/StaticLoggerBinder.java
new file mode 100644
index 0000000..ba01d83
--- /dev/null
+++ b/maven-slf4j-provider/src/main/java/org/slf4j/impl/StaticLoggerBinder.java
@@ -0,0 +1,89 @@
+package org.slf4j.impl;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.slf4j.ILoggerFactory;
+import org.slf4j.spi.LoggerFactoryBinder;
+
+/**
+ * SLF4J LoggerFactoryBinder implementation using MavenSimpleLogger.
+ * This class is part of the required classes used to specify an
+ * SLF4J logger provider implementation.
+ *
+ * @since 3.5.1
+ */
+public final class StaticLoggerBinder
+    implements LoggerFactoryBinder
+{
+    /**
+     * Declare the version of the SLF4J API this implementation is compiled
+     * against. The value of this field is usually modified with each 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();
+
+    /**
+     * The unique instance of this class.
+     */
+    private static final StaticLoggerBinder SINGLETON = new StaticLoggerBinder();
+
+    /**
+     * The ILoggerFactory instance returned by the {@link #getLoggerFactory}
+     * method should always be the same object
+     */
+    private final ILoggerFactory loggerFactory;
+
+    /**
+     * Private constructor to prevent instantiation
+     */
+    private StaticLoggerBinder()
+    {
+        loggerFactory = new MavenSimpleLoggerFactory();
+    }
+
+    /**
+     * Returns the singleton of this class.
+     */
+    public static StaticLoggerBinder getSingleton()
+    {
+        return SINGLETON;
+    }
+
+    /**
+     * Returns the factory.
+     */
+    @Override
+    public ILoggerFactory getLoggerFactory()
+    {
+        return loggerFactory;
+    }
+
+    /**
+     * Returns the class name.
+     */
+    @Override
+    public String getLoggerFactoryClassStr()
+    {
+        return LOGGER_FACTORY_CLASS_STR;
+    }
+}

http://git-wip-us.apache.org/repos/asf/maven/blob/4f530c4f/maven-slf4j-provider/src/main/script/patch-slf4j-simple.groovy
----------------------------------------------------------------------
diff --git a/maven-slf4j-provider/src/main/script/patch-slf4j-simple.groovy b/maven-slf4j-provider/src/main/script/patch-slf4j-simple.groovy
deleted file mode 100644
index 9865625..0000000
--- a/maven-slf4j-provider/src/main/script/patch-slf4j-simple.groovy
+++ /dev/null
@@ -1,36 +0,0 @@
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-dir = new File( basedir, 'target/generated-sources/slf4j-simple/org/slf4j/impl' );
-
-file = new File( dir, 'StaticLoggerBinder.java' );
-content = file.text;
-
-// check if already patched
-if ( content.contains( 'MavenSimpleLoggerFactory' ) )
-{
-  println '    slf4j-simple already patched';
-  return;
-}
-
-
-println '    patching StaticLoggerBinder.java';
-content = content.replaceAll( 'SimpleLoggerFactory', 'MavenSimpleLoggerFactory' );
-file.write( content );