On Sun, 19 Apr 2026 at 11:42, Gilles Sadowski <[email protected]> wrote:

> Hello.
>
> Le dim. 19 avr. 2026 à 11:32, Alex Herbert <[email protected]> a
> écrit :
> >
> > On Sun, 19 Apr 2026 at 02:22, Gary Gregory <[email protected]>
> wrote:
> >
> > > On Sat, Apr 18, 2026, 21:03 Alex Herbert <[email protected]>
> wrote:
> > >
> > > > On Sat, 18 Apr 2026 at 22:52, Gary Gregory <[email protected]>
> > > wrote:
> > > >
> > > > > I see the following revapi errors:
> > > > >
> https://gist.github.com/garydgregory/1c47721f4745b1f3ffdf373dd068ad80
> > > > >
> > > > > Gary
> > > > >
> > > >
> > > > That is a large list of errors that seem to indicate that revapi has
> not
> > > > linked up to the separation of the core module and the client-api.
> For
> > > > example the error:
> > > >
> > > > [ERROR] java.class.noLongerImplementsInterface: class
> > > > org.apache.commons.rng.core.BaseProvider: Class no longer implements
> > > > interface 'org.apache.commons.rng.RestorableUniformRandomProvider'.
> > > >
> > > >
> > >
> https://revapi.org/revapi-java/differences.html#java.class.noLongerImplementsInterface
> > > >
> > > > But look in the file in the downloaded source archive:
> > > >
> > > >
> > > >
> > >
> commons-rng-core/src/main/java/org/apache/commons/rng/core/BaseProvider.java
> > > >
> > > > --- cut ---
> > > > public abstract class BaseProvider
> > > >     implements RestorableUniformRandomProvider
> > > > --- cut ---
> > > >
> > > > So revapi is not finding the client-api code.
> > > >
> > > > Can you let me know the command you used to generate this?
> > > >
> > >
> > >
> > > IIRC, I ran a default build and then:
> > >
> > > mvn revapi:check
> > >
> > > Gary
> > >
> >
> > Thanks. Does the same machine/platform work on git master?
>
> On the latest "master", I've run
> $ mvn
> $ mvn clean package site site:stage -Pexamples
> $ mvn revapi:check
>
> The first two completed successfully.
> The last one resulted in the same errors as reported by Gary.
>
> Gilles
>
>
On the fresh build environment I created on a linux platform I get the same
stack of errors when running 'mvn revapi:check' after the successful build.
The errors are due to lack of access to the client-api jar as it cannot
find any of those interfaces. Without a goal that attaches the client-api
jar to the build (e.g. package) then revapi:check fails in a module that
depends on it.

On the same platform I tried to pre-install the packages and it works OK,
e.g.:

$ mvn install
$ mvn revapi:check

Note that we document the usage of the japicmp plugin as requiring the
package goal (or equivalent). The release validation guide notes state:
mvn verify -DskipTests -P japicmp japicmp:cmp

So equivalently we require the package goal or the package to be
pre-installed for the revapi plugin to work in a multi-module build. This
makes sense since revapi needs to have all the binaries available.

On my MacOS platforms it works because at some point I used the install
goal. When the package is purged I get the same error:

$ mvn dependency:purge-local-repository
-DmanualInclude="org.apache.commons:commons-rng-client-api"
$ mvn revapi:check   # fails in commons-rng-core component

Alex

Reply via email to