Author: mbenson Date: Wed Oct 12 00:04:31 2016 New Revision: 1764368 URL: http://svn.apache.org/viewvc?rev=1764368&view=rev Log: use japicmp instead of clirr
Added: commons/proper/weaver/trunk/ant/src/site/resources/ commons/proper/weaver/trunk/ant/src/site/resources/profile.japicmp (with props) commons/proper/weaver/trunk/maven-plugin/src/site/ commons/proper/weaver/trunk/maven-plugin/src/site/resources/ commons/proper/weaver/trunk/maven-plugin/src/site/resources/japicmp-post-analysis.groovy (with props) commons/proper/weaver/trunk/maven-plugin/src/site/resources/profile.japicmp (with props) commons/proper/weaver/trunk/modules/privilizer/api/src/site/ commons/proper/weaver/trunk/modules/privilizer/api/src/site/resources/ commons/proper/weaver/trunk/modules/privilizer/api/src/site/resources/profile.japicmp (with props) commons/proper/weaver/trunk/processor/src/site/resources/ commons/proper/weaver/trunk/processor/src/site/resources/profile.japicmp (with props) Removed: commons/proper/weaver/trunk/modules/normalizer/clirr-differences.xml commons/proper/weaver/trunk/modules/privilizer/weaver/clirr-differences.xml commons/proper/weaver/trunk/processor/clirr-differences.xml Modified: commons/proper/weaver/trunk/ant/pom.xml commons/proper/weaver/trunk/maven-plugin/pom.xml commons/proper/weaver/trunk/modules/normalizer/pom.xml commons/proper/weaver/trunk/modules/privilizer/weaver/pom.xml commons/proper/weaver/trunk/parent/pom.xml commons/proper/weaver/trunk/pom.xml commons/proper/weaver/trunk/processor/pom.xml commons/proper/weaver/trunk/src/site/markdown/building.md Modified: commons/proper/weaver/trunk/ant/pom.xml URL: http://svn.apache.org/viewvc/commons/proper/weaver/trunk/ant/pom.xml?rev=1764368&r1=1764367&r2=1764368&view=diff ============================================================================== --- commons/proper/weaver/trunk/ant/pom.xml (original) +++ commons/proper/weaver/trunk/ant/pom.xml Wed Oct 12 00:04:31 2016 @@ -57,6 +57,22 @@ under the License. </dependency> </dependencies> <build> + <pluginManagement> + <plugins> + <plugin> + <groupId>com.github.siom79.japicmp</groupId> + <artifactId>japicmp-maven-plugin</artifactId> + <configuration> + <parameter> + <excludes> + <!-- shaded in; not part of public API --> + <exclude>org.apache.commons.weaver.ant._collections4</exclude> + </excludes> + </parameter> + </configuration> + </plugin> + </plugins> + </pluginManagement> <plugins> <!-- shade plugin creates but does not clean ${basedir}/dependency-reduced-pom.xml --> <plugin> Added: commons/proper/weaver/trunk/ant/src/site/resources/profile.japicmp URL: http://svn.apache.org/viewvc/commons/proper/weaver/trunk/ant/src/site/resources/profile.japicmp?rev=1764368&view=auto ============================================================================== (empty) Propchange: commons/proper/weaver/trunk/ant/src/site/resources/profile.japicmp ------------------------------------------------------------------------------ svn:executable = * Modified: commons/proper/weaver/trunk/maven-plugin/pom.xml URL: http://svn.apache.org/viewvc/commons/proper/weaver/trunk/maven-plugin/pom.xml?rev=1764368&r1=1764367&r2=1764368&view=diff ============================================================================== --- commons/proper/weaver/trunk/maven-plugin/pom.xml (original) +++ commons/proper/weaver/trunk/maven-plugin/pom.xml Wed Oct 12 00:04:31 2016 @@ -85,6 +85,43 @@ under the License. </dependency> </dependencies> <build> + <pluginManagement> + <plugins> + <plugin> + <groupId>com.github.siom79.japicmp</groupId> + <artifactId>japicmp-maven-plugin</artifactId> + <configuration> + <parameter> + <!-- Maven plugin not intended for programmatic use --> + <accessModifier>public</accessModifier> + <excludes> + <!-- moved up to new superclass --> + <exclude>org.apache.commons.weaver.maven.AbstractPrepareMojo#execute()</exclude> + <!-- moved up to new superclass --> + <exclude>org.apache.commons.weaver.maven.AbstractWeaveMojo#execute()</exclude> + </excludes> + <postAnalysisScript>${project.basedir}/src/site/resources/japicmp-post-analysis.groovy</postAnalysisScript> + </parameter> + </configuration> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-checkstyle-plugin</artifactId> + <configuration> + <excludes>HelpMojo.java</excludes> + </configuration> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-pmd-plugin</artifactId> + <configuration> + <excludes> + <exclude>HelpMojo.java</exclude> + </excludes> + </configuration> + </plugin> + </plugins> + </pluginManagement> <plugins> <plugin> <groupId>org.apache.felix</groupId> Added: commons/proper/weaver/trunk/maven-plugin/src/site/resources/japicmp-post-analysis.groovy URL: http://svn.apache.org/viewvc/commons/proper/weaver/trunk/maven-plugin/src/site/resources/japicmp-post-analysis.groovy?rev=1764368&view=auto ============================================================================== --- commons/proper/weaver/trunk/maven-plugin/src/site/resources/japicmp-post-analysis.groovy (added) +++ commons/proper/weaver/trunk/maven-plugin/src/site/resources/japicmp-post-analysis.groovy Wed Oct 12 00:04:31 2016 @@ -0,0 +1,11 @@ +def it = jApiClasses.iterator() +while (it.hasNext()) { + def jApiClass = it.next() + // look for false positive on introduced superclass level + def jApiSuperclass = jApiClass.getSuperclass() + def newSuper = jApiSuperclass.getNewSuperclassName() + if (newSuper.isPresent() && newSuper.get().endsWith(".AbstractCWMojo")) { + jApiSuperclass.getCompatibilityChanges().clear(); + } +} +return jApiClasses Propchange: commons/proper/weaver/trunk/maven-plugin/src/site/resources/japicmp-post-analysis.groovy ------------------------------------------------------------------------------ svn:executable = * Added: commons/proper/weaver/trunk/maven-plugin/src/site/resources/profile.japicmp URL: http://svn.apache.org/viewvc/commons/proper/weaver/trunk/maven-plugin/src/site/resources/profile.japicmp?rev=1764368&view=auto ============================================================================== (empty) Propchange: commons/proper/weaver/trunk/maven-plugin/src/site/resources/profile.japicmp ------------------------------------------------------------------------------ svn:executable = * Modified: commons/proper/weaver/trunk/modules/normalizer/pom.xml URL: http://svn.apache.org/viewvc/commons/proper/weaver/trunk/modules/normalizer/pom.xml?rev=1764368&r1=1764367&r2=1764368&view=diff ============================================================================== --- commons/proper/weaver/trunk/modules/normalizer/pom.xml (original) +++ commons/proper/weaver/trunk/modules/normalizer/pom.xml Wed Oct 12 00:04:31 2016 @@ -249,13 +249,6 @@ under the License. </execution> </executions> </plugin> - <plugin> - <groupId>org.codehaus.mojo</groupId> - <artifactId>clirr-maven-plugin</artifactId> - <configuration> - <ignoredDifferencesFile>clirr-differences.xml</ignoredDifferencesFile> - </configuration> - </plugin> </plugins> </build> <reporting> @@ -278,13 +271,6 @@ under the License. <configLocation>org/apache/commons/weaver/checkstyle.xml</configLocation> </configuration> </plugin> - <plugin> - <groupId>org.codehaus.mojo</groupId> - <artifactId>clirr-maven-plugin</artifactId> - <configuration> - <ignoredDifferencesFile>clirr-differences.xml</ignoredDifferencesFile> - </configuration> - </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>findbugs-maven-plugin</artifactId> Added: commons/proper/weaver/trunk/modules/privilizer/api/src/site/resources/profile.japicmp URL: http://svn.apache.org/viewvc/commons/proper/weaver/trunk/modules/privilizer/api/src/site/resources/profile.japicmp?rev=1764368&view=auto ============================================================================== (empty) Propchange: commons/proper/weaver/trunk/modules/privilizer/api/src/site/resources/profile.japicmp ------------------------------------------------------------------------------ svn:executable = * Modified: commons/proper/weaver/trunk/modules/privilizer/weaver/pom.xml URL: http://svn.apache.org/viewvc/commons/proper/weaver/trunk/modules/privilizer/weaver/pom.xml?rev=1764368&r1=1764367&r2=1764368&view=diff ============================================================================== --- commons/proper/weaver/trunk/modules/privilizer/weaver/pom.xml (original) +++ commons/proper/weaver/trunk/modules/privilizer/weaver/pom.xml Wed Oct 12 00:04:31 2016 @@ -216,13 +216,6 @@ under the License. </filesets> </configuration> </plugin> - <plugin> - <groupId>org.codehaus.mojo</groupId> - <artifactId>clirr-maven-plugin</artifactId> - <configuration> - <ignoredDifferencesFile>clirr-differences.xml</ignoredDifferencesFile> - </configuration> - </plugin> </plugins> </build> <reporting> @@ -246,13 +239,6 @@ under the License. </configuration> </plugin> <plugin> - <groupId>org.codehaus.mojo</groupId> - <artifactId>clirr-maven-plugin</artifactId> - <configuration> - <ignoredDifferencesFile>clirr-differences.xml</ignoredDifferencesFile> - </configuration> - </plugin> - <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>findbugs-maven-plugin</artifactId> <configuration> Modified: commons/proper/weaver/trunk/parent/pom.xml URL: http://svn.apache.org/viewvc/commons/proper/weaver/trunk/parent/pom.xml?rev=1764368&r1=1764367&r2=1764368&view=diff ============================================================================== --- commons/proper/weaver/trunk/parent/pom.xml (original) +++ commons/proper/weaver/trunk/parent/pom.xml Wed Oct 12 00:04:31 2016 @@ -238,6 +238,15 @@ under the License. <artifactId>findbugs-maven-plugin</artifactId> <version>3.0.3</version> </plugin> + <plugin> + <groupId>com.github.siom79.japicmp</groupId> + <artifactId>japicmp-maven-plugin</artifactId> + <configuration> + <parameter> + <ignoreMissingNewVersion /> + </parameter> + </configuration> + </plugin> </plugins> </pluginManagement> <plugins> Modified: commons/proper/weaver/trunk/pom.xml URL: http://svn.apache.org/viewvc/commons/proper/weaver/trunk/pom.xml?rev=1764368&r1=1764367&r2=1764368&view=diff ============================================================================== --- commons/proper/weaver/trunk/pom.xml (original) +++ commons/proper/weaver/trunk/pom.xml Wed Oct 12 00:04:31 2016 @@ -56,6 +56,8 @@ under the License. <commons.site.path>commons-weaver</commons.site.path> <commons.scmPubUrl>https://svn.apache.org/repos/infra/websites/production/commons/content/proper/${commons.site.path}</commons.scmPubUrl> + <commons.japicmp.version>0.9.1</commons.japicmp.version> + <!-- most Java-related items are defined in parent/pom.xml; define these here for the animal-sniffer config of commons-parent: --> <maven.compiler.source>1.6</maven.compiler.source> Modified: commons/proper/weaver/trunk/processor/pom.xml URL: http://svn.apache.org/viewvc/commons/proper/weaver/trunk/processor/pom.xml?rev=1764368&r1=1764367&r2=1764368&view=diff ============================================================================== --- commons/proper/weaver/trunk/processor/pom.xml (original) +++ commons/proper/weaver/trunk/processor/pom.xml Wed Oct 12 00:04:31 2016 @@ -68,17 +68,6 @@ under the License. <scope>test</scope> </dependency> </dependencies> - <build> - <plugins> - <plugin> - <groupId>org.codehaus.mojo</groupId> - <artifactId>clirr-maven-plugin</artifactId> - <configuration> - <ignoredDifferencesFile>clirr-differences.xml</ignoredDifferencesFile> - </configuration> - </plugin> - </plugins> - </build> <reporting> <plugins> <plugin> @@ -99,13 +88,6 @@ under the License. <configLocation>org/apache/commons/weaver/checkstyle.xml</configLocation> </configuration> </plugin> - <plugin> - <groupId>org.codehaus.mojo</groupId> - <artifactId>clirr-maven-plugin</artifactId> - <configuration> - <ignoredDifferencesFile>clirr-differences.xml</ignoredDifferencesFile> - </configuration> - </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>findbugs-maven-plugin</artifactId> Added: commons/proper/weaver/trunk/processor/src/site/resources/profile.japicmp URL: http://svn.apache.org/viewvc/commons/proper/weaver/trunk/processor/src/site/resources/profile.japicmp?rev=1764368&view=auto ============================================================================== (empty) Propchange: commons/proper/weaver/trunk/processor/src/site/resources/profile.japicmp ------------------------------------------------------------------------------ svn:executable = * Modified: commons/proper/weaver/trunk/src/site/markdown/building.md URL: http://svn.apache.org/viewvc/commons/proper/weaver/trunk/src/site/markdown/building.md?rev=1764368&r1=1764367&r2=1764368&view=diff ============================================================================== --- commons/proper/weaver/trunk/src/site/markdown/building.md (original) +++ commons/proper/weaver/trunk/src/site/markdown/building.md Wed Oct 12 00:04:31 2016 @@ -20,10 +20,10 @@ under the License. Apache Maven 3 is required to build Apache Commons Weaver. Things to know: ### Site building issues -The Commons Weaver site includes the report generated by the -[clirr-maven-plugin](http://www.mojohaus.org/clirr-maven-plugin/) which is -currently unable to run on Java 8. Also, the Commons Weaver site generation -process runs out of permgen space when built with default JVM settings (on -applicable Java versions); the `MAVEN_OPTS` environment variable can be used to -set `MaxPermSize`. `-XX:MaxPermSize=128m` seems to be adequate on Java 7. +Apache Commons Weaver uses the japicmp report for API compatibility reporting. +This requires that the `package` goal be invoked in the same Maven run as the +`site` goal. Further, the site generation process runs out of permgen space when +built with default JVM settings (on applicable Java versions); the `MAVEN_OPTS +environment variable can be used to set `MaxPermSize`. `-XX:MaxPermSize=128m` +seems to be adequate on Java 7.