DBZ-2159 Move Revapi configuration into the support/ structure.

This commit is contained in:
Lukas Krejci 2020-06-08 17:05:33 +02:00 committed by Gunnar Morling
parent a4689611f5
commit 64355674ee
4 changed files with 78 additions and 28 deletions

47
pom.xml
View File

@ -167,6 +167,7 @@
<modules> <modules>
<module>support/checkstyle</module> <module>support/checkstyle</module>
<module>support/ide-configs</module> <module>support/ide-configs</module>
<module>support/revapi</module>
<module>debezium-api</module> <module>debezium-api</module>
<module>debezium-ddl-parser</module> <module>debezium-ddl-parser</module>
<module>debezium-assembly-descriptors</module> <module>debezium-assembly-descriptors</module>
@ -658,6 +659,18 @@
<groupId>org.revapi</groupId> <groupId>org.revapi</groupId>
<artifactId>revapi-maven-plugin</artifactId> <artifactId>revapi-maven-plugin</artifactId>
<version>${version.revapi.plugin}</version> <version>${version.revapi.plugin}</version>
<dependencies>
<dependency>
<groupId>io.debezium</groupId>
<artifactId>debezium-revapi</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.revapi</groupId>
<artifactId>revapi-java</artifactId>
<version>${version.revapi-java.plugin}</version>
</dependency>
</dependencies>
</plugin> </plugin>
<plugin> <plugin>
<groupId>org.codehaus.mojo</groupId> <groupId>org.codehaus.mojo</groupId>
@ -866,44 +879,26 @@
<plugin> <plugin>
<groupId>org.revapi</groupId> <groupId>org.revapi</groupId>
<artifactId>revapi-maven-plugin</artifactId> <artifactId>revapi-maven-plugin</artifactId>
<dependencies>
<dependency>
<groupId>org.revapi</groupId>
<artifactId>revapi-java</artifactId>
<version>${version.revapi-java.plugin}</version>
</dependency>
</dependencies>
<configuration> <configuration>
<failOnMissingConfigurationFiles>false</failOnMissingConfigurationFiles> <failOnMissingConfigurationFiles>false</failOnMissingConfigurationFiles>
<!-- Consider changes from the latest .Final version, not from the latest non-snapshot. --> <!-- Consider changes from the latest .Final version, not from the latest non-snapshot. -->
<versionFormat>\d+\.\d+\.\d+\.Final</versionFormat> <versionFormat>\d+\.\d+\.\d+\.Final</versionFormat>
<ignoreSuggestionsFormat>xml</ignoreSuggestionsFormat> <ignoreSuggestionsFormat>xml</ignoreSuggestionsFormat>
<analysisConfiguration>
<revapi.semver.ignore>
<!-- Automatically ignore changes that are OK according to the semver rules. -->
<enabled>true</enabled>
</revapi.semver.ignore>
<revapi.java.filter.annotated>
<exclude>
<!-- Don't break on changes in the incubating API. -->
<item>@io.debezium.common.annotation.Incubating</item>
</exclude>
</revapi.java.filter.annotated>
</analysisConfiguration>
<analysisConfigurationFiles> <analysisConfigurationFiles>
<configurationFile> <configurationFile>
<!-- <!-- common API checking configuration -->
Each API checked module can have a file detailing the intentional API changes <resource>revapi/revapi-configuration.xml</resource>
in the form of a configuration for Revapi. </configurationFile>
--> <configurationFile>
<path>${basedir}/src/chore/intentional-api-changes.xml</path> <!-- API changes recorded in the support/revapi module -->
<resource>revapi/debezium-api-changes.xml</resource>
<roots> <roots>
<!-- <!--
The XML file has "<revapi-configuration>" root node, underneath which The XML file has "<analysisConfiguration>" root node, underneath which
there are nodes named after each version. there are nodes named after each version.
This way we only need a single file for all releases of Debezium. This way we only need a single file for all releases of Debezium.
--> -->
<root>revapi-configuration/version-${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.incrementalVersion}</root> <root>analysisConfiguration/version-${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.incrementalVersion}</root>
</roots> </roots>
</configurationFile> </configurationFile>
</analysisConfigurationFiles> </analysisConfigurationFiles>

40
support/revapi/pom.xml Normal file
View File

@ -0,0 +1,40 @@
<?xml version='1.0' encoding='UTF-8'?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<groupId>org.jboss</groupId>
<artifactId>jboss-parent</artifactId>
<version>35</version>
<!-- same as parent POM -->
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>io.debezium</groupId>
<artifactId>debezium-revapi</artifactId>
<version>1.2.0-SNAPSHOT</version>
<name>Debezium Revapi Rules</name>
<description>Contains the configuration of the Revapi API checker and the list of the API changes in the Debezium APIs.</description>
<properties>
<!-- Instruct the build to use only UTF-8 encoding for source code -->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<version.jar.plugin>3.0.2</version.jar.plugin>
<version.compiler.plugin>3.8.1</version.compiler.plugin>
</properties>
<build>
<plugins>
<!--
This is not deployed into a Maven repository. It is merely installed into the local Maven repository
during a local build.
-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
</plugins>
</build>
</project>

View File

@ -1,4 +1,5 @@
<revapi-configuration> <?xml version='1.0' encoding='UTF-8'?>
<analysisConfiguration>
<!-- No changes as of yet. This is just an example of how to tell Revapi to ignore intentional changes. <!-- No changes as of yet. This is just an example of how to tell Revapi to ignore intentional changes.
<version-1.2.0> <version-1.2.0>
<revapi.ignore> <revapi.ignore>
@ -7,4 +8,4 @@
</revapi.ignore> </revapi.ignore>
</version-1.2.0> </version-1.2.0>
--> -->
</revapi-configuration> </analysisConfiguration>

View File

@ -0,0 +1,14 @@
<?xml version='1.0' encoding='UTF-8'?>
<!-- The basic configuration for Revapi API checks in all modules that have API checks enabled. -->
<analysisConfiguration>
<revapi.semver.ignore>
<!-- Automatically ignore changes that are OK according to the semver rules. -->
<enabled>true</enabled>
</revapi.semver.ignore>
<revapi.java.filter.annotated>
<exclude>
<!-- Don't break on changes in the incubating API. -->
<item>@io.debezium.common.annotation.Incubating</item>
</exclude>
</revapi.java.filter.annotated>
</analysisConfiguration>