elasticsearch/qa/stable-api
William Brafford c9e8101d82
Validate that stable plugins do not break compatibility (#92776)
We need to verify, for each release, that our stable plugin APIs
are not breaking.

This commit adds some Gradle support for basic backwards compatibility
testing. On the Gradle side, we add a new qa project to test the
current commit against downloads of released versions, and against
fresh builds of snapshot versions.

As for the actual comparison, we break up the output of javap (the
decompiler) by line and create maps of classes to public class,
field, and method declarations within those class files. We then
check that the signature map from the new jar is not missing any
elements present in the old jar. This method has known limitations,
which are documented in the JarApiComparisonTask class.

Co-authored-by: Mark Vieira <portugee@gmail.com>
2023-01-18 06:48:48 -05:00
..
logging Validate that stable plugins do not break compatibility (#92776) 2023-01-18 06:48:48 -05:00
plugin-analysis-api Validate that stable plugins do not break compatibility (#92776) 2023-01-18 06:48:48 -05:00
plugin-api Validate that stable plugins do not break compatibility (#92776) 2023-01-18 06:48:48 -05:00
build.gradle Validate that stable plugins do not break compatibility (#92776) 2023-01-18 06:48:48 -05:00