Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Maven plugin doesn't run analysis if no old version is present #109

Closed
mkavanagh opened this issue Dec 5, 2017 · 1 comment
Closed

Maven plugin doesn't run analysis if no old version is present #109

mkavanagh opened this issue Dec 5, 2017 · 1 comment

Comments

@mkavanagh
Copy link
Contributor

When invoking revapi analysis for a Maven project (e.g. via revapi:check or revapi:update-versions), the analysis will be skipped if no prior versions of the artifact are available.

Generally this makes sense (because most checks relate to the difference between two versions), but it is possible to have checks that detect defects rather than differences (e.g. java.class.nonPublicPartOfAPI) - these will flag up later when a first version has been published, but it would be better to flag them up when they are introduced by running analysis for these checks even if no prior artifact exists.

metlos added a commit that referenced this issue Dec 19, 2017
into API subtrees that have no match in the other API. This is then
used by the Java extension to check non-public uses and missing classes
even when the counter-part in the other API is missing.

This means that we can properly check for the non-public uses even
during the initial release of an archive.
@metlos
Copy link
Member

metlos commented Jan 22, 2018

Fixed in revapi-maven-plugin-0.10.0

@metlos metlos closed this as completed Jan 22, 2018
metlos added a commit that referenced this issue Jan 25, 2018
not the source type.

#109 changed the decision logic on when to descend into a filtered out
and/or element exclusive to just one of the APIs. As a consquence of
that a bug was uncovered in revapi-java which assigned the archive of
the original method definition to elements representing the methods in
classes that inherit from the defining class.

If such methods were defined in archives that were not excluded but
the inheriting class was filtered out by an archive filter, the methods
would still be API checked because the archive filter would think they
come from a included archive.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants