logo Clirr Maven Plugin

Clirr is a tool that checks Java libraries for binary and source compatibility with older releases. Basically you give it two sets of jar files and Clirr dumps out a list of changes in the public API. The clirr-maven-plugin can be configured to break the build, if it detects incompatible api changes. In a continuous integration process, the clirr-maven-plugin can automatically prevent accidental introduction of binary or source compatibility problems. Additionally, the plugin can generate a report as part of the generated site.

homepage: www.mojohaus.org/mojo-parent
fresh index:
last release: 5 years ago, first release: 2 decades ago
packaging: maven-plugin
get this artifact from: central
see this artifact on: search.maven.org


Display vulnerabilities (snyk): Vulnerability check

This chart shows how much is this artifact used as a dependency in other Maven artifacts in Central repository and GitHub:


select version:

Add this snippet into pom.xml inside tag <project><build><plugins>:




Switch to artifact.
goals:
clirr:check (phase: verify)

Check for compatibility with previous version.

clirr:check-arbitrary (phase: verify)

Check for compatibility between two arbitrary artifact sets.

clirr:check-no-fork (phase: verify)

Check for compatibility with previous version without forking the project

clirr:clirr

Generate a report from the Clirr output.

clirr:help

Display help information on clirr-maven-plugin. Call mvn clirr:help -Ddetail=true -Dgoal=<goal-name> to display parameter details.

Often used code snippets:

<plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>clirr-maven-plugin</artifactId>
  <configuration>
    <ignored/>
    <excludes>
      <exclude>**/internal/**</exclude>
      <exclude>**/test/**</exclude>
    </excludes>
  </configuration>
</plugin>
<plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>clirr-maven-plugin</artifactId>
  <version>2.6.1</version>
  <configuration>
    <comparisonVersion>2.7</comparisonVersion>
    <minSeverity>info</minSeverity>
    <logResults>true</logResults>
  </configuration>
</plugin>
<plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>clirr-maven-plugin</artifactId>
  <configuration>
    <comparisonVersion>1.19.0</comparisonVersion>
    <ignoredDifferencesFile>${basedir}/../clirr-ignored-differences.xml</ignoredDifferencesFile>
    <logResults>true</logResults>
  </configuration>
  <executions>
    <execution>
      <goals>
        <goal>check</goal>
      </goals>
    </execution>
  </executions>
</plugin>
<plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>clirr-maven-plugin</artifactId>
  <configuration>
    <includes>
      <include>**/api/**</include>
    </includes>
  </configuration>
</plugin>
<plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>clirr-maven-plugin</artifactId>
  <version>${clirr-plugin.version}</version>
  <executions>
    <execution>
      <id>check compatibility</id>
      <goals>
        <goal>check</goal>
      </goals>
    </execution>
  </executions>
</plugin>

© Jiri Pinkas 2015 - 2022. All rights reserved! Admin login To submit bugs / feature requests please use this github page
related: JavaVids | Top Java Blogs | Java školení
Apache and Apache Maven are trademarks of the Apache Software Foundation. The Central Repository is a service mark of Sonatype, Inc.