Here is how I set up Clirr:
diff --git a/log4j-api/pom.xml b/log4j-api/pom.xml
index a81117d..a9effe2 100644
--- a/log4j-api/pom.xml
+++ b/log4j-api/pom.xml
@@ -120,6 +120,11 @@
<reporting>
<plugins>
<plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>clirr-maven-plugin</artifactId>
+ <version>${clirr.plugin.version}</version>
+ </plugin>
+ <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-changes-plugin</artifactId>
<version>${changes.plugin.version}</version>
diff --git a/pom.xml b/pom.xml
index 0bf7539..aabbbf3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -178,6 +178,7 @@
<release.plugin.version>2.5.1</release.plugin.version>
<scm.plugin.version>1.9.1</scm.plugin.version>
<jxr.plugin.version>2.4</jxr.plugin.version>
+ <clirr.plugin.version>2.6.1</clirr.plugin.version>
<manifestfile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestfile>
<maven.compile.source>1.6</maven.compile.source>
<maven.compile.target>1.6</maven.compile.target>
@@ -186,6 +187,8 @@
<commons.logging.version>1.2</commons.logging.version>
<osgi.api.version>4.3.1</osgi.api.version>
<activemq.version>5.10.0</activemq.version>
+ <!-- Allow Clirr severity to be overriden by the command-line option
-DminSeverity=level -->
+ <minSeverity>info</minSeverity>
</properties>
<pluginRepositories>
<pluginRepository>
@@ -763,6 +766,14 @@
<artifactId>maven-jxr-plugin</artifactId>
<version>${jxr.plugin.version}</version>
</plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>clirr-maven-plugin</artifactId>
+ <version>${clirr.plugin.version}</version>
+ <configuration>
+ <minSeverity>${minSeverity}</minSeverity>
+ </configuration>
+ </plugin>
</plugins>
</pluginManagement>
<plugins>
On Sat, Oct 4, 2014 at 5:42 PM, Gary Gregory <[email protected]> wrote:
> In master, Clirr says:
>
> [ERROR] 7002: org.apache.logging.log4j.util.ProviderUtil: Method
> 'protected void loadProviders(java.util.Enumeration,
> java.lang.ClassLoader)' has been removed
>
> So we need to decide if the util package is off limits to BC or not. If
> so, we might need to rename it to internal once and for all.
>
> Thoughts?
>
> Gary
>
> On Sat, Oct 4, 2014 at 5:33 PM, Gary Gregory <[email protected]>
> wrote:
>
>> I see you're using Java 8 to build which gives us the more modern looking
>> Javadocs, nice! :-)
>>
>> Gary
>>
>> On Sat, Oct 4, 2014 at 5:30 PM, Matt Sicker <[email protected]> wrote:
>>
>>> Not sure how to enable Clirr or anything. I'm uploading the site right
>>> now, so you can give it another look in a few minutes.
>>>
>>> On 4 October 2014 16:23, Gary Gregory <[email protected]> wrote:
>>>
>>>> The site: That's usually the first thing I look at to find obvious
>>>> blockers like a dirty RAT or Clirr report.
>>>>
>>>> Speaking of Clirr reports... where are they?
>>>>
>>>> We MUST have Clirr reports at least for the API module to make sure we
>>>> are not breaking binary compatibility.
>>>>
>>>> For non-API modules, we are breaking it left and right, but it would be
>>>> good to know how much (just for fun).
>>>>
>>>> Gary
>>>>
>>>> On Sat, Oct 4, 2014 at 5:18 PM, Matt Sicker <[email protected]> wrote:
>>>>
>>>>> Oh no, I haven't regenerated the site yet. I'll update that in a bit.
>>>>>
>>>>> On 4 October 2014 16:13, Gary Gregory <[email protected]> wrote:
>>>>>
>>>>>> Did you update the site on your people page? The RAT report is still
>>>>>> dirty.
>>>>>>
>>>>>> Gary
>>>>>>
>>>>>> On Sat, Oct 4, 2014 at 4:48 PM, Matt Sicker <[email protected]> wrote:
>>>>>>
>>>>>>> This is a vote to release Log4j 2.1, the next major version of the
>>>>>>> Log4j 2 project.
>>>>>>>
>>>>>>> Please download, test, and cast your votes.
>>>>>>> [] +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, but only Logging PMC votes are counted toward the
>>>>>>> minimum +3 votes (with no -1 votes) to pass the release.
>>>>>>>
>>>>>>> As from 2.0.2, my GPG key ID is FA1C814D and can be found both in
>>>>>>> the KEYS file on the site as well as through any of the usual key
>>>>>>> servers.
>>>>>>>
>>>>>>> (Candidate 3? Where's 2? Well, that one kind of really messed up,
>>>>>>> and you can't really delete git tags)
>>>>>>>
>>>>>>> Changes in this version include:
>>>>>>>
>>>>>>>
>>>>>>> New features:
>>>>>>>
>>>>>>> o LOG4J2-589: Supported filtering on custom log levels in
>>>>>>> configuration.
>>>>>>>
>>>>>>> o LOG4J2-856: Documentation: add sections on the JUL Adapter, IO
>>>>>>> Streams and NoSQL Appenders to the Maven and Ivy page.
>>>>>>>
>>>>>>> o LOG4J2-848: Add a Java lookup to provide nicely formatted runtime
>>>>>>> version information.
>>>>>>>
>>>>>>> o LOG4J2-809: Move reflection utility class to API's private
>>>>>>> utility classes.
>>>>>>>
>>>>>>> o LOG4J2-833: Documentation: added Runtime Dependencies link to
>>>>>>> left nav-bar on site.
>>>>>>>
>>>>>>> o LOG4J2-816: Documentation: added section on XInclude to user
>>>>>>> manual Configuration page.
>>>>>>>
>>>>>>> o LOG4J2-547: Add the Log4j IOStreams component.
>>>>>>>
>>>>>>> o LOG4J2-431: Added Memory-Mapped File Appender. Thanks to Claude
>>>>>>> Mamo.
>>>>>>>
>>>>>>> o LOG4J2-827: Support use of TypeConverter classes through the
>>>>>>> standard Plugin system.
>>>>>>>
>>>>>>> o LOG4J2-825: Add simple validation constraint annotations for the
>>>>>>> Plugin system.
>>>>>>>
>>>>>>> o LOG4J2-428: Implement a GELF layout. Thanks to Mark Paluch.
>>>>>>>
>>>>>>> o LOG4J2-608: Add java.util.logging implementation based on
>>>>>>> log4j-api. See log4j-jul documentation for more details.
>>>>>>>
>>>>>>> o LOG4J2-793: Add support for custom SLF4J Markers in
>>>>>>> log4j-slf4j-impl module.
>>>>>>>
>>>>>>> o LOG4J2-771: Add lookup for application main arguments.
>>>>>>>
>>>>>>> o LOG4J2-787: Add lookup for JVM arguments.
>>>>>>>
>>>>>>>
>>>>>>> Fixed Bugs:
>>>>>>>
>>>>>>> o LOG4J2-866: Documentation: fixed missing closing parenthesis in
>>>>>>> code example. Thanks to Gerard Weatherby.
>>>>>>>
>>>>>>> o LOG4J2-862: Fixed classloader issue that prevented Log4j from
>>>>>>> finding the implementation when used in a custom Ant task. Thanks to
>>>>>>> Michael Sutherland.
>>>>>>>
>>>>>>> o LOG4J2-861: Documentation: fix broken links on left navigation
>>>>>>> Extending Log4j Configuration sub-menu.
>>>>>>>
>>>>>>> o LOG4J2-797: Documentation: clarified why log4j-core is a compile
>>>>>>> time dependency in Maven and Ivy page. Thanks to Andreas Rytina.
>>>>>>>
>>>>>>> o LOG4J2-855: Documentation: fix broken links on Appenders manual
>>>>>>> page.
>>>>>>>
>>>>>>> o LOG4J2-807: Prevent NPE when configuration with
>>>>>>> AsyncLogger/AsyncRoot is reloaded.
>>>>>>>
>>>>>>> o LOG4J2-678: Documentation: fixed minor issues with Log4j2 web
>>>>>>> site/documentation. Thanks to Matt Sicker.
>>>>>>>
>>>>>>> o LOG4J2-843: Migrate JpaHyperSqlAppenderTest JUnit performance
>>>>>>> test to log4j-perf.
>>>>>>>
>>>>>>> o LOG4J2-842: Migrate JpaH2AppenderTest JUnit performance test to
>>>>>>> log4j-perf.
>>>>>>>
>>>>>>> o LOG4J2-841: Migrate JdbcHyperSqlAppenderTest JUnit performance
>>>>>>> test to log4j-perf.
>>>>>>>
>>>>>>> o LOG4J2-840: Migrate JdbcH2AppenderTest JUnit performance test to
>>>>>>> log4j-perf.
>>>>>>>
>>>>>>> o LOG4J2-830: Respect external interrupt signal to allow
>>>>>>> application shutdown after joining AsyncAppender thread.
>>>>>>>
>>>>>>> o LOG4J2-813: MarkerManager Log4jMarker.hasParents() returns
>>>>>>> opposite of correct result. Thanks to David Erichsen, Brandon Barry.
>>>>>>>
>>>>>>> o LOG4J2-785: Documentation: fixed capitalization inconsistency in
>>>>>>> user manual example config.
>>>>>>>
>>>>>>> o LOG4J2-829: Fixed issue in RollingFile filePattern: backslashes
>>>>>>> are path separators, not escape characters.
>>>>>>>
>>>>>>> o LOG4J2-832: ThrowableProxy fails if a class in logged stack trace
>>>>>>> throws java.lang.Error from initializer Thanks to Seth Leger.
>>>>>>>
>>>>>>> o LOG4J2-745: Avoid ConverterKey plugin clashes by using a more
>>>>>>> predictable plugin loading infrastructure.
>>>>>>>
>>>>>>> Plugins have been segmented into three parts: class path,
>>>>>>> user-specified packages, and OSGi bundles. Thanks to Scott Harrington.
>>>>>>>
>>>>>>> o LOG4J2-798: Fixed plugin scanning redundancy causing massive
>>>>>>> slowdowns in certain environments. Thanks to Scott Harrington.
>>>>>>>
>>>>>>> o LOG4J2-753: Reduced CachedClock thread contention.
>>>>>>>
>>>>>>> o LOG4J2-819: Fixed memory leak in Tomcat 6 caused by clock
>>>>>>> background threads unintentionally
>>>>>>>
>>>>>>> started by Tomcat after web application stop. Thanks to Gary
>>>>>>> Gregory.
>>>>>>>
>>>>>>> o LOG4J2-391: FlumePersistentManager now handles
>>>>>>> LockConflictExceptions in Berkeley Db when sending a batch. Thanks to
>>>>>>> Kamal
>>>>>>> Bahadur.
>>>>>>>
>>>>>>> o LOG4J2-782: Remove invalid Oracle Maven repository.
>>>>>>>
>>>>>>> o LOG4J2-796: Fixed issue where log4j-to-slf4j did not work
>>>>>>> correctly with SLF4J Simple Logger.
>>>>>>>
>>>>>>> o LOG4J2-811: SimpleLogger throws ArrayIndexOutOfBoundsException
>>>>>>> for an empty array. Thanks to Yogesh Rao.
>>>>>>>
>>>>>>> o LOG4J2-663: Fix OSGi Import-Package problem with the JMS API.
>>>>>>> Thanks to Florian Brunner.
>>>>>>>
>>>>>>> o LOG4J2-783: PatternLayout should use platform character encoding
>>>>>>> by default, not UTF-8. Thanks to Minglei Lee.
>>>>>>>
>>>>>>>
>>>>>>> Changes:
>>>>>>>
>>>>>>> o LOG4J2-845: Add 2.1.0 to compatible versions in Log4j API
>>>>>>> ProviderUtil and update Log4jAPIVersion to 2.1.0 in
>>>>>>>
>>>>>>> core META-INF/log4j-provider.properties.
>>>>>>>
>>>>>>> o LOG4J2-844: Update JMH to 1.1 from 0.7.2.
>>>>>>>
>>>>>>> o LOG4J2-831: Documentation: updated FAQ "which jars" diagrams for
>>>>>>> JUL bridge and 2.1 version.
>>>>>>>
>>>>>>> o LOG4J2-780: Update Spring Framework to 3.2.11.RELEASE from
>>>>>>> 3.2.8.RELEASE.
>>>>>>>
>>>>>>> o LOG4J2-815: Unify the two JMS appenders into a single appender.
>>>>>>> Configurations written for 2.0 will still work in 2.1+.
>>>>>>>
>>>>>>> o LOG4J2-790: Update Jackson to 2.4.2 from 2.4.1 (for XML and JSON
>>>>>>> processing).
>>>>>>>
>>>>>>> o LOG4J2-766: Incomplete documentation for JSONLayout. Thanks to
>>>>>>> Bruno P. Kinoshita.
>>>>>>>
>>>>>>> o LOG4J2-800: All life cycle implementations should be serializable.
>>>>>>>
>>>>>>> This is still work in progress.
>>>>>>>
>>>>>>> o LOG4J2-801: org.apache.logging.log4j.core.Logger should be
>>>>>>> serializable.
>>>>>>>
>>>>>>> This is still work in progress.
>>>>>>>
>>>>>>> o LOG4J2-810: Update javax.mail to 1.5.2 from 1.5.0.
>>>>>>>
>>>>>>> o LOG4J2-822: Update org.eclipse.persistence.jpa to 2.5.2 from
>>>>>>> 2.5.1.
>>>>>>>
>>>>>>> o LOG4J2-867: FlumeAppender: maxDelay not in seconds, but
>>>>>>> milliseconds.
>>>>>>>
>>>>>>> Add time scale to some settings, for example maxDelayMillis
>>>>>>> instead of maxDelay.
>>>>>>>
>>>>>>> The old names are aliased for compatibility.
>>>>>>>
>>>>>>> Tag:
>>>>>>> https://git-wip-us.apache.org/repos/asf?p=logging-log4j2.git;a=commit;h=b3fcd037bc11e470ad339dab3ed35a948b8776f9
>>>>>>>
>>>>>>> Web Site: http://people.apache.org/~mattsicker/log4j/2.1/
>>>>>>>
>>>>>>> Artifacts:
>>>>>>> https://repository.apache.org/content/repositories/orgapachelogging-1009/
>>>>>>>
>>>>>>> You may download all the artifacts by executing:
>>>>>>>
>>>>>>> wget -e robots=off --cut-dirs=7 -nH -r -p -np --no-check-certificate
>>>>>>> https://repository.apache.org/content/repositories/orgapachelogging-1009/org/apache/logging/log4j/
>>>>>>> --
>>>>>>> Matt Sicker <[email protected]>
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> E-Mail: [email protected] | [email protected]
>>>>>> Java Persistence with Hibernate, Second Edition
>>>>>> <http://www.manning.com/bauer3/>
>>>>>> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
>>>>>> Spring Batch in Action <http://www.manning.com/templier/>
>>>>>> Blog: http://garygregory.wordpress.com
>>>>>> Home: http://garygregory.com/
>>>>>> Tweet! http://twitter.com/GaryGregory
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Matt Sicker <[email protected]>
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> E-Mail: [email protected] | [email protected]
>>>> Java Persistence with Hibernate, Second Edition
>>>> <http://www.manning.com/bauer3/>
>>>> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
>>>> Spring Batch in Action <http://www.manning.com/templier/>
>>>> Blog: http://garygregory.wordpress.com
>>>> Home: http://garygregory.com/
>>>> Tweet! http://twitter.com/GaryGregory
>>>>
>>>
>>>
>>>
>>> --
>>> Matt Sicker <[email protected]>
>>>
>>
>>
>>
>> --
>> E-Mail: [email protected] | [email protected]
>> Java Persistence with Hibernate, Second Edition
>> <http://www.manning.com/bauer3/>
>> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
>> Spring Batch in Action <http://www.manning.com/templier/>
>> Blog: http://garygregory.wordpress.com
>> Home: http://garygregory.com/
>> Tweet! http://twitter.com/GaryGregory
>>
>
>
>
> --
> E-Mail: [email protected] | [email protected]
> Java Persistence with Hibernate, Second Edition
> <http://www.manning.com/bauer3/>
> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
> Spring Batch in Action <http://www.manning.com/templier/>
> Blog: http://garygregory.wordpress.com
> Home: http://garygregory.com/
> Tweet! http://twitter.com/GaryGregory
>
--
E-Mail: [email protected] | [email protected]
Java Persistence with Hibernate, Second Edition
<http://www.manning.com/bauer3/>
JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
Spring Batch in Action <http://www.manning.com/templier/>
Blog: http://garygregory.wordpress.com
Home: http://garygregory.com/
Tweet! http://twitter.com/GaryGregory