Nick Shanin created SOLR-18617:
----------------------------------
Summary: Add a build-time check for public SolrJ API stability
between minor releases
Key: SOLR-18617
URL: https://issues.apache.org/jira/browse/SOLR-18617
Project: Solr
Issue Type: Improvement
Reporter: Nick Shanin
On SOLR-18600, [~ab] suggested that checks for the stability of public APIs
between minor versions should catch breaks at their inception, as part of the
build, rather than as a release-wizard step, and that the check is a larger
task that deserves its own ticket. This is that ticket.
Scope: a check in the SolrJ build that compares the public API of the current
tree against the previous minor release and reports incompatible changes:
removed or changed public classes, methods, and fields. Known and accepted
differences are recorded in an exclusions list so the check stays green on the
development branch; a new entry in that list is then a deliberate, reviewable
decision.
A starting implementation exists: on the SOLR-18600 branch, a japicmp
comparison wired into {{:solr:solrj:check}}, with a
{{solrj.binaryCompat.baselineVersion}} property and an exclusions file. It can
be taken over as is, or replaced by a different mechanism if the project
prefers one.
Out of scope here: restoring the two classes removed in SOLR-18600 itself, and
any question of what compatibility guarantee the project offers. Those stay on
SOLR-18600.
🤖 _AI text above_ 🤖 _(reviewed by Nick Shanin)_
--
This message was sent by Atlassian Jira
(v10.3.26#10030026)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]