Skip to content
Permalink
Browse files
Add revapi plugin for binary compatibility check
  • Loading branch information
aherbert committed May 13, 2022
1 parent 22bba87 commit f98554ff3968838f8e815a4ddf05fafd3ea9c9bf
Showing 3 changed files with 93 additions and 0 deletions.
@@ -96,6 +96,14 @@
<failOnViolation>false</failOnViolation>
</configuration>
</plugin>
<plugin>
<groupId>org.revapi</groupId>
<artifactId>revapi-maven-plugin</artifactId>
<version>${rng.revapi.version}</version>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
</plugins>
</build>

68 pom.xml
@@ -55,6 +55,8 @@
<maven.compiler.target>1.8</maven.compiler.target>
<rng.pmd.version>3.14.0</rng.pmd.version>
<rng.pmd.dep.version>6.37.0</rng.pmd.dep.version>
<rng.revapi.version>0.14.6</rng.revapi.version>
<rng.revapi.java.version>0.26.1</rng.revapi.java.version>
<rng.checkstyle.version>3.1.2</rng.checkstyle.version>
<rng.checkstyle.dep.version>8.45</rng.checkstyle.dep.version>
<rng.mathjax.url>https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js</rng.mathjax.url>
@@ -297,6 +299,43 @@
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.revapi</groupId>
<artifactId>revapi-maven-plugin</artifactId>
<version>${rng.revapi.version}</version>
<dependencies>
<dependency>
<groupId>org.revapi</groupId>
<artifactId>revapi-java</artifactId>
<version>${rng.revapi.java.version}</version>
</dependency>
</dependencies>
<configuration>
<analysisConfiguration>
<revapi.differences id="intentional-api-changes">
<ignore>true</ignore>
</revapi.differences>
</analysisConfiguration>
<analysisConfigurationFiles>
<configurationFile>
<path>${rng.parent.dir}/src/main/resources/revapi/api-changes.json</path>
<roots>
<!-- Path to configuration in the JSON config file -->
<root>1.5</root>
</roots>
</configurationFile>
</analysisConfigurationFiles>
</configuration>
<executions>
<execution>
<configuration>
</configuration>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-plugin</artifactId>
@@ -323,6 +362,7 @@
<exclude>dist-archive/**</exclude>
<exclude>**/*.patch</exclude>
<exclude>**/pdf.*.txt</exclude>
<exclude>src/main/resources/revapi/api-changes.json</exclude>
</excludes>
</configuration>
</plugin>
@@ -433,6 +473,34 @@
</reportSet>
</reportSets>
</plugin>
<plugin>
<groupId>org.revapi</groupId>
<artifactId>revapi-maven-plugin</artifactId>
<version>${rng.revapi.version}</version>
<configuration>
<!-- For reporting do not ignore the "intentional-api-changes" so they are included -->
<analysisConfigurationFiles>
<configurationFile>
<path>${rng.parent.dir}/src/main/resources/revapi/api-changes.json</path>
<roots>
<!-- Path(s) to configuration in the JSON config file -->
<root>1.5</root>
</roots>
</configurationFile>
</analysisConfigurationFiles>
<!-- Note: Property 'reportSeverity' is deprecated but newer 'reportCriticality'
does work as documented. -->
<reportSeverity>equivalent</reportSeverity>
<reportCriticality>allowed</reportCriticality>
</configuration>
<reportSets>
<reportSet>
<reports>
<report>report</report>
</reports>
</reportSet>
</reportSets>
</plugin>
<plugin>
<!-- NOTE: javadoc config must also be set under <build> -->
<groupId>org.apache.maven.plugins</groupId>
@@ -0,0 +1,17 @@
{
"1.5": [
{
"extension": "revapi.differences",
"id": "intentional-api-changes",
"configuration": {
"differences": [
{
"code": "java.method.abstractMethodAdded",
"new": "method java.lang.Object org.apache.commons.rng.simple.internal.NativeSeedType::createSeed(int, int, int)",
"justification": "Abstract method added to enum; all implementations are within this class. This is an internal package with no compatibility enforcement."
}
]
}
}
]
}

0 comments on commit f98554f

Please sign in to comment.