Add API/SPI automatic checking to the build

Description

In particular check that we don't expose implementation types or SPIs through our APIs. I know we currently do, so this will have to be a soft check for now, mainly for information.

We already have something in Hibernate Validator using jqassistant, and apparently it works pretty well. Maybe start from there?

https://github.com/hibernate/hibernate-validator/blob/master/jqassistant/rules.xml

Environment

None

Activity

Show:
Yoann Rodière
April 23, 2018, 2:28 PM

Lost half a day on this, I'm going to postpone it.

The plugin works great, see this branch: https://github.com/yrodiere/hibernate-search/tree/HSEARCH-3031

... except there is a bug related to parsing XML files with comments which essentially prevents us from running the plugin on any Maven module containing a persistence.xml test resource: https://github.com/buschmais/jqa-xml-plugin/issues/4

So let's wait for jqassistant 1.4, which should solve the issue.

Yoann Rodière
July 30, 2018, 1:27 PM

Making progress, but we're not there yet. jqassistant 1.4.0 works better, but there is still a bug: https://github.com/buschmais/jqa-maven-plugin/issues/18

jqassistant 1.5.0 seemingly solves the problem, but hasn't been released yet.

Let's wait... again...

Yoann Rodière
October 1, 2018, 1:29 PM

Waiting for https://github.com/buschmais/jqa-maven-plugin/pull/21 to be merged before we can actually use the plugin...

Yoann Rodière
December 18, 2018, 12:14 PM

Duplicates HSEARCH-3302, which was fixed a long time ago in version 6.0.

Assignee

Yoann Rodière

Reporter

Yoann Rodière

Labels

None

Suitable for new contributors

None

Pull Request

None

Feedback Requested

None

Components

Fix versions

Priority

Major
Configure