Yeah - you only get that problem if you build on Java 8. Java 7 still uses clirr. I’ve fixed the build and committed the fix already, so I will create another release candidate in a few hours.
Ralph > On Feb 5, 2019, at 2:35 PM, Gary Gregory <[email protected]> wrote: > > -1: The build fails with: Failed to execute goal > org.revapi:revapi-maven-plugin:0.10.5:check (default) on project > log4j-core: The following API problems caused the build to fail > > My steps: > > Testing from 'git checkout tags/log4j-2.11.2-rc2' > > Apache RAT check OK > Apache CLIRR check OK on modules log4j-api and log4j-core > > Building with 'mvn -V clean install' and: > > Apache Maven 3.6.0 (97c98ec64a1fdfee7767ce5ffb20918da4f719f3; > 2018-10-24T14:41:47-04:00) > Maven home: C:\Java\apache-maven-3.6.0\bin\.. > Java version: 1.8.0_202, vendor: Oracle Corporation, runtime: C:\Program > Files\Java\jdk1.8.0_202\jre > Default locale: en_US, platform encoding: Cp1252 > OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows" > > My toolchains.xml file includes Oracle versions 7, 8, 9, 11, 12-EA, 13-EA. > > I get the ERROR: > > [INFO] --- revapi-maven-plugin:0.10.5:check (default) @ log4j-core --- > Downloading from central: > https://repo.maven.apache.org/maven2/org/apache/logging/log4j/log4j-core/maven-metadata.xml > Downloaded from central: > https://repo.maven.apache.org/maven2/org/apache/logging/log4j/log4j-core/maven-metadata.xml > (1.4 kB at 63 B/s) > [INFO] Comparing [org.apache.logging.log4j:log4j-core:jar:2.11.1] against > [org.apache.logging.log4j:log4j-core:jar:2.11.2]. > [INFO] The following API problems caused the build to fail: > [INFO] java.method.returnTypeTypeParametersChanged: method <B extends > org.apache.logging.log4j.core.appender.WriterAppender.Builder<B extends > org.apache.logging.log4j.core.appender.WriterAppender.Builder<B>>> B > org.apache.logging.log4j.core.appender.WriterAppender::newBuilder(): The > return type changed from > 'org.apache.logging.log4j.core.appender.WriterAppender.Builder' to 'B > extends org.apache.logging.log4j.core.appender.WriterAppender.Builder<B>'. > [INFO] java.generics.elementNowParameterized: method <B extends > org.apache.logging.log4j.core.appender.WriterAppender.Builder<B extends > org.apache.logging.log4j.core.appender.WriterAppender.Builder<B>>> B > org.apache.logging.log4j.core.appender.WriterAppender::newBuilder(): > Element now defines formal type parameters. > [INFO] java.generics.formalTypeParameterAdded: method <B extends > org.apache.logging.log4j.core.appender.WriterAppender.Builder<B extends > org.apache.logging.log4j.core.appender.WriterAppender.Builder<B>>> B > org.apache.logging.log4j.core.appender.WriterAppender::newBuilder(): A new > formal type parameter added to element: 'B extends > org.apache.logging.log4j.core.appender.WriterAppender.Builder<B extends > org.apache.logging.log4j.core.appender.WriterAppender.Builder<B>>'. > [INFO] > [INFO] If you're using the semver-ignore extension, update your module's > version to one compatible with the current changes (e.g. mvn package > revapi:update-versions). If you want to explicitly ignore this change and > provide a justification for it, add the following JSON snippet to your > Revapi configuration under "revapi.ignore" path: > > { > "code": "java.method.returnTypeTypeParametersChanged", > "old": "method > org.apache.logging.log4j.core.appender.WriterAppender.Builder > org.apache.logging.log4j.core.appender.WriterAppender::newBuilder()", > "new": "method <B extends > org.apache.logging.log4j.core.appender.WriterAppender.Builder<B extends > org.apache.logging.log4j.core.appender.WriterAppender.Builder<B>>> B > org.apache.logging.log4j.core.appender.WriterAppender::newBuilder()", > "justification": <<<<< ADD YOUR EXPLANATION FOR THE NECESSITY OF THIS > CHANGE >>>>> > /* > Additionally, the following attachments can be used to further identify > the difference: > > "oldType": > "org.apache.logging.log4j.core.appender.WriterAppender.Builder", > "newType": "B extends > org.apache.logging.log4j.core.appender.WriterAppender.Builder<B>", > "package": "org.apache.logging.log4j.core.appender", > "classQualifiedName": > "org.apache.logging.log4j.core.appender.WriterAppender", > "classSimpleName": "WriterAppender", > "methodName": "newBuilder", > "oldArchive": "org.apache.logging.log4j:log4j-core:jar:2.11.1", > "newArchive": "org.apache.logging.log4j:log4j-core:jar:2.11.2", > "elementKind": "method", > */ > }, > { > "code": "java.generics.elementNowParameterized", > "old": "method > org.apache.logging.log4j.core.appender.WriterAppender.Builder > org.apache.logging.log4j.core.appender.WriterAppender::newBuilder()", > "new": "method <B extends > org.apache.logging.log4j.core.appender.WriterAppender.Builder<B extends > org.apache.logging.log4j.core.appender.WriterAppender.Builder<B>>> B > org.apache.logging.log4j.core.appender.WriterAppender::newBuilder()", > "justification": <<<<< ADD YOUR EXPLANATION FOR THE NECESSITY OF THIS > CHANGE >>>>> > /* > Additionally, the following attachments can be used to further identify > the difference: > > "package": "org.apache.logging.log4j.core.appender", > "classQualifiedName": > "org.apache.logging.log4j.core.appender.WriterAppender", > "classSimpleName": "WriterAppender", > "methodName": "newBuilder", > "oldArchive": "org.apache.logging.log4j:log4j-core:jar:2.11.1", > "newArchive": "org.apache.logging.log4j:log4j-core:jar:2.11.2", > "elementKind": "method", > */ > }, > { > "code": "java.generics.formalTypeParameterAdded", > "old": "method > org.apache.logging.log4j.core.appender.WriterAppender.Builder > org.apache.logging.log4j.core.appender.WriterAppender::newBuilder()", > "new": "method <B extends > org.apache.logging.log4j.core.appender.WriterAppender.Builder<B extends > org.apache.logging.log4j.core.appender.WriterAppender.Builder<B>>> B > org.apache.logging.log4j.core.appender.WriterAppender::newBuilder()", > "typeParameter": "B extends > org.apache.logging.log4j.core.appender.WriterAppender.Builder<B extends > org.apache.logging.log4j.core.appender.WriterAppender.Builder<B>>", > "justification": <<<<< ADD YOUR EXPLANATION FOR THE NECESSITY OF THIS > CHANGE >>>>> > /* > Additionally, the following attachments can be used to further identify > the difference: > > "package": "org.apache.logging.log4j.core.appender", > "classQualifiedName": > "org.apache.logging.log4j.core.appender.WriterAppender", > "classSimpleName": "WriterAppender", > "methodName": "newBuilder", > "oldArchive": "org.apache.logging.log4j:log4j-core:jar:2.11.1", > "newArchive": "org.apache.logging.log4j:log4j-core:jar:2.11.2", > "elementKind": "method", > */ > }, > > [INFO] > ------------------------------------------------------------------------ > [INFO] Reactor Summary for Apache Log4j 2 2.11.2: > [INFO] > [INFO] Apache Log4j 2 ..................................... SUCCESS [ > 2.908 s] > [INFO] Apache Log4j API Java 9 support .................... SUCCESS [ > 5.884 s] > [INFO] Apache Log4j API ................................... SUCCESS [01:08 > min] > [INFO] Apache Log4j Implementation Java 9 support ......... SUCCESS [ > 2.220 s] > [INFO] Apache Log4j Core .................................. FAILURE [13:53 > min] > [INFO] Apache Log4j Core Integration Tests ................ SKIPPED > [INFO] Apache Log4j 1.x Compatibility API ................. SKIPPED > [INFO] Apache Log4j SLF4J Binding ......................... SKIPPED > [INFO] Apache Log4j SLF4J 1.8+ Binding .................... SKIPPED > [INFO] Apache Log4j to SLF4J Adapter ...................... SKIPPED > [INFO] Apache Log4j Commons Logging Bridge ................ SKIPPED > [INFO] Apache Log4j Flume Bridge .......................... SKIPPED > [INFO] Apache Log4j Web ................................... SKIPPED > [INFO] Apache Log4j Tag Library ........................... SKIPPED > [INFO] Apache Log4j JMX GUI ............................... SKIPPED > [INFO] Apache Log4j Samples ............................... SKIPPED > [INFO] Apache Log4j Samples: Flume - Common ............... SKIPPED > [INFO] Apache Log4j Samples: Flume - Remote ............... SKIPPED > [INFO] Apache Log4j Samples: Flume - Embedded ............. SKIPPED > [INFO] Apache Log4j Samples: Configuration ................ SKIPPED > [INFO] Apache Log4j Samples: LoggerProperties ............. SKIPPED > [INFO] Apache Log4j BOM ................................... SKIPPED > [INFO] Apache Log4j JDBC DBCP 2 ........................... SKIPPED > [INFO] Apache Log4j JPA ................................... SKIPPED > [INFO] Apache Log4j CouchDB ............................... SKIPPED > [INFO] Apache Log4j MongoDB 2 ............................. SKIPPED > [INFO] Apache Log4j MongoDB 3 ............................. SKIPPED > [INFO] Apache Log4j Cassandra ............................. SKIPPED > [INFO] Apache Log4J Performance Tests ..................... SKIPPED > [INFO] Apache Log4j Streaming Interface ................... SKIPPED > [INFO] Apache Log4j JUL Adapter ........................... SKIPPED > [INFO] Apache Log4j Liquibase Binding ..................... SKIPPED > [INFO] Apache Log4j App Server Support .................... SKIPPED > [INFO] Apache Log4j OSGi .................................. SKIPPED > [INFO] > ------------------------------------------------------------------------ > [INFO] BUILD FAILURE > [INFO] > ------------------------------------------------------------------------ > [INFO] Total time: 15:15 min > [INFO] Finished at: 2019-02-05T16:33:44-05:00 > [INFO] > ------------------------------------------------------------------------ > [ERROR] Failed to execute goal org.revapi:revapi-maven-plugin:0.10.5:check > (default) on project log4j-core: The following API problems caused the > build to fail: > [ERROR] java.method.returnTypeTypeParametersChanged: method <B extends > org.apache.logging.log4j.core.appender.WriterAppender.Builder<B extends > org.apache.logging.log4j.core.appender.WriterAppender.Builder<B>>> B > org.apache.logging.log4j.core.appender.WriterAppender::newBuilder(): The > return type changed from > 'org.apache.logging.log4j.core.appender.WriterAppender.Builder' to 'B > extends org.apache.logging.log4j.core.appender.WriterAppender.Builder<B>'. > [ERROR] java.generics.elementNowParameterized: method <B extends > org.apache.logging.log4j.core.appender.WriterAppender.Builder<B extends > org.apache.logging.log4j.core.appender.WriterAppender.Builder<B>>> B > org.apache.logging.log4j.core.appender.WriterAppender::newBuilder(): > Element now defines formal type parameters. > [ERROR] java.generics.formalTypeParameterAdded: method <B extends > org.apache.logging.log4j.core.appender.WriterAppender.Builder<B extends > org.apache.logging.log4j.core.appender.WriterAppender.Builder<B>>> B > org.apache.logging.log4j.core.appender.WriterAppender::newBuilder(): A new > formal type parameter added to element: 'B extends > org.apache.logging.log4j.core.appender.WriterAppender.Builder<B extends > org.apache.logging.log4j.core.appender.WriterAppender.Builder<B>>'. > [ERROR] > [ERROR] Consult the plugin output above for suggestions on how to ignore > the found problems. > [ERROR] -> [Help 1] > [ERROR] > > Gary > > > On Mon, Feb 4, 2019 at 11:17 PM Ralph Goers <[email protected]> > wrote: > >> This is a vote to release Log4j 2.11.2, the next version of the Log4j 2 >> project. >> >> Please download, test, and cast your votes on the log4j developers list. >> [] +1, release the artifacts >> [] -1, don't release because... >> >> The vote will remain open for 72 hours (or more if required). All votes >> are welcome and we encourage everyone to test the release, but only Logging >> PMC votes are “officially” counted. As always, at least 3 +1 votes and more >> positive than negative votes are required. >> >> Changes in this release include: >> >> >> New Features >> >> • LOG4J2-2496: JDBC Appender should reconnect to the database when >> a connection goes stale. >> • LOG4J2-2505: Let JDBC PoolingDriverConnectionSource with Apache >> Commons DBCP configure a PoolableConnectionFactory. >> • LOG4J2-2509: Allow a JDBC Appender to truncate strings to match >> a table's metadata column length limit. >> • LOG4J2-1246: PatternLayout %date conversion pattern should >> render time zone designator for ISO-ISO8601. >> Fixed Bugs >> >> • LOG4J2-2500: Document that Properties element must be the first >> configuration element. >> • LOG4J2-2543: Add Log4j-to-SLF4J to BOM pom.xml. Thanks to Dermot >> Hardy. >> • LOG4J2-2061: Use the file pattern as the FileManager "name" when >> no filename is present. >> • LOG4J2-2009: Expose LoggerContext.setConfiguration as a public >> method. >> • LOG4J2-2542: CronTriggeringPolicy was not rolling properly, >> especially when used with the SizeBasedTriggeringPolicy. >> • LOG4J2-2266: Load PropertySources from any accessible >> ClassLoader. Hide any exceptions that may occur accessing a PropertySource. >> • LOG4J2-1570: Logging with a lambda expression with a method call >> that also logs would cause logs within method call to reference line num >> and method name of the parent method. >> • LOG4J2-2485: SizeBasedTriggeringPolicy was not honored when >> using the DirectWriteRolloverStrategy if the machine restarts. Thanks to >> Giovanni Matteo Fumarola. >> • LOG4J2-1906: Direct write was creating files with the wrong >> date/time. >> • LOG4J2-2453: Add Log4j-slf4j18-impl dependency to bom pom. >> Thanks to theit. >> • LOG4J2-2515: Configuration documentation referenced incorrect >> method name. Thanks to MakarovS. >> • LOG4J2-2514: Make Strings.toRootUpperCase a static method so it >> can be accessed. Thanks to smilebrian0515. >> • LOG4J2-1571: Fixed Appenders section in Extending Log4j. Thanks >> to torbenmoeller. >> • LOG4J2-2397: Predeployment of PersistenceUnit that using Log4j >> as session logger failed (#198). Thanks to EckelDong. >> • LOG4J2-2365: NameAbbreviator correctly abbreviates first >> fragments (#188). Thanks to Eugene Zimichev. >> • LOG4J2-2201: Fix memory leak in ReusableParameterizedMessage. >> • LOG4J2-2363: ReusableObjectMessage parameter is properly passed >> to appenders (#203). Thanks to Brian Laub. >> • LOG4J2-2418: NullPointerException when closing never used >> RollingRandomAccessFileAppender. Thanks to Jonas Rutishauser. >> • LOG4J2-2422: Handle some unchecked exceptions while loading >> plugins. Thanks to rswart, Gary Gregory. >> • LOG4J2-2441: Setting a null ErrorHandler on AbstractAppender is >> not allowed and will no-op as expected. >> • LOG4J2-2444: ErrorHandler is invoked with a LogEvent and >> Throwable when possible, where previously only a string was used. >> • LOG4J2-2413: Exceptions are added to all columns when a JDBC >> Appender's ColumnMapping uses a Pattern. Thanks to Andres Luuk, Gary >> Gregory. >> • LOG4J2-2466: ColumnMapping literal not working. Thanks to Paolo >> Bonanomi, Gary Gregory. >> • LOG4J2-2478: AbstractStringLayoutStringEncodingBenchmark returns >> the computed variables on each benchmark to avoid DCE. Thanks to Diego >> Elias Costa. >> • LOG4J2-2134: StackOverflowError at >> AwaitCompletionReliabilityStrategy. Thanks to David del Amo Mateos, Gary >> Gregory. >> • LOG4J2-2481: Avoid NullPointerExceptions in >> org.apache.logging.log4j.core.config.AbstractConfiguration for null >> arguments. >> • LOG4J2-2457: RollingRandomAccessFileManager ignores new file >> patterns from programmatic reconfiguration. Thanks to Heiko Schwanke, Gary >> Gregory. >> • LOG4J2-2482: BasicContextSelector cannot be used in a OSGI >> application. Thanks to Rob Gansevles. >> • LOG4J2-2476: org.apache.log4j.SimpleLayout and ConsoleAppender >> missing in log4j-1.2-api. Thanks to Al Bundy. >> • LOG4J2-2497: JmsAppender reconnectIntervalMillis cannot be set >> from a configuration file. >> • LOG4J2-2499: JMS Appender may throw a NullPointerException when >> JMS is not up while the Appender is starting. >> • LOG4J2-2508: JDBC Appender fails when using both parameter, >> source, and literal ColumnMapping elements. >> • LOG4J2-2527: Prevent ConcurrentModificationException while >> iterating over ListAppender events. >> • LOG4J2-2522: Fix regression using MapMessageLookup.lookup with >> MapMessages that do not implement StringMapMessage. Thanks to Adam Lesiak. >> • LOG4J2-2530: Generalize checks using MapMessage implementations >> with do not extend StringMapMessage. Introduce new JAVA_UNQUOTED MapMessage >> format type based on the JAVA formatting, but without quoted values. Thanks >> to Travis Spencer. >> • LOG4J2-2533: Fix a regression introduced by LOG4J2-2301 in >> 2.11.1 allowing allocation to occur in AsyncLoggerConfig. Thanks to Michail >> Prusakov. >> Changes >> >> • LOG4J2-1576: Switch from CLIRR to RevAPI for detecting API >> changes. >> • LOG4J2-2391: Improve exception logging performance. >> ThrowableProxy construction uses a faster method to discover the current >> stack trace. ThrowablePatternConverter and >> ExtendedThrowablePatternConverter default configurations no longer allocate >> an additional buffer for stack trace contents. >> • LOG4J2-2447: Let the NullAppender default its name to "null". >> • LOG4J2-2468: Update Jackson from 2.9.6 to 2.9.7. >> • LOG4J2-2469: Update Apache Commons Compress from 1.17 to 1.18. >> • LOG4J2-2470: Update Apache Commons CSV from 1.5 to 1.6. >> • LOG4J2-2471: Update javax.mail from 1.6.1 to 1.6.2. >> • LOG4J2-2472: Update mongo-java-driver 3 from 3.8.0 to 3.8.2. >> • LOG4J2-2489: JDBC Appender should release parameter resources >> ASAP. >> • LOG4J2-2491: Allow all Appenders to optionally carry a Property >> array. >> • LOG4J2-2405: Better handling of %highlight pattern when using >> jul-bridge. Thanks to Marco Herrn. >> • LOG4J2-2503: Update MongoDB driver from 3.8.2 to 3.9.0 for >> log4j-mongodb3 module. >> >> Tag: >> a) for a new copy do "git clone >> https://github.com/apache/logging-log4j2.git" and then "git checkout >> tags/log4j-2.11.2-rc2” >> b) for an existing working copy to “git pull” and then “git checkout >> tags/log4j-2.11.2-rc2” >> >> Web Site: http://rgoers.github.io/log4j2-site/index.html. >> >> Maven Artifacts: >> https://repository.apache.org/content/repositories/orgapachelogging-1043/ >> >> Distribution archives: >> https://dist.apache.org/repos/dist/dev/logging/log4j/ >> >> You may download all the Maven artifacts by executing: >> wget -e robots=off --cut-dirs=7 -nH -r -p -np --no-check-certificate >> https://repository.apache.org/content/repositories/orgapachelogging-1043/org/apache/logging/log4j/ >> >> Ralph >>
