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]

Reply via email to