-
Notifications
You must be signed in to change notification settings - Fork 107
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
Incorrect source compatibility breakage reported when interface moved into another abstract class #123
Comments
maven-plugin has new option to ignore missing old version, #123 interface moved to abstract class is no longer reported to be source incompatible
Fixed this on the If you like, you can try it:
|
Thanks a lot for all the quick fixes Martin! Tomorrow I'll be in meeting most of the day. I'll try to test the changes in the evening though. |
Ok I've been able to test it and I'm still getting errors that shouldn't be there:
I got:
The are no backward compat issues with those classes normally (CLIRR doesn't fail for example). |
The output indicates that the superclass On which module do you get this output and how do I activate the japicmp plugin? Btw: The HTML report as well as the XML report do output more information than the simple diff format. |
If you wish to reproduce, you can checkout:
Thanks |
Thank you for providing the detailed information. Running The class The point was that the interface
With this version (0.7.2-SNAPSHOT) japicmp runs through on |
Thanks Martin. Glad that I could help by flushing out all those builds. Thanks to your efforts japicmp should be a lot stronger now! :) I'm a bit surprised nobody found them before. Now I have to be honest with you: on the xwiki side, we're evaluating a replacement for CLIRR and we've tested both japicmp and revapi (it's nice to have 2 capable frameworks for doing this! When I started searching I didn't think I could find a replacement to CLIRR so that a good surprise :). ATM I have revapi fully working on the xwiki code base (they also had to fix a couple of bugs too ;)). I'm keeping a comparisons between the 2 here if you're interested (and in case you wish to improve japicmp against revapi ;)): http://jira.xwiki.org/browse/XCOMMONS-891?focusedCommentId=90493&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-90493 It's hard to choose but at the moment I'm leaning a bit more towards revapi. A big plus is the error reporting and the greater maturity. On both sides, it's great to see that you guys are doing an amazing support. If you ever need help with XWiki I'll be therer to help out! Thanks |
Waiting for the 0.7.2 release to try it out. Thanks |
Ok, I am disappointed to hear that you tend to use revapi instead of japicmp. But thank you for providing feedback and making japicmp a bit more stable than it was before. At this point I have to mention that support for source compatibility checks were introduced with 0.7.0, just mid of February. So it was very fresh anyhow and you were mabe the first that tried this new feature on a mature code base with with lots of changes. Thanks for the reportings anyhow. The error messages in case of detected source incompatibilites can be improved. Btw: I just run |
I know and I feel bad about it, especially after all the great support you gave me. It's not 100% decided yet but close. If you check xwiki's master branch you'll see that ATM I have committed support for both revapi and japicmp and I'm waiting for the 0.7.2 release to commit that change too (right now japicmp is turned off because it fails the build). You guys should consider merging maybe :)
Great job! |
I just tried japicmp 0.7.2-SNAPSHOT on the master branch. The plugin did find the following incompatibtilites and therefore broke the build. My investigations turned out that the reported incompatibilties are correct (please note the improved error reporting):
Beyond that the following two classes have been removed (which also seems to be correct):
On the following modules I had to turn off the plugin because you have configured the packing type to
Therefore the file The packaging modules produce
With the following configuration japicmp did run through on the master branch:
|
Actually, on master, the previous revision compared to is now 8.0 (was 7.4.2 before) so there shouldn't be any violations reported (your build was probably using the commons top level pom you built from the XCOMMONS-891 branch, that's why japicmp was comparing to 7.4.2). Regarding the required override, yes it's a pain, this is what I meant by: "no way to specify def of artifact compared centrally for all cases (issue with packaging type = maven-archetype)" on http://jira.xwiki.org/browse/XCOMMONS-891?focusedCommentId=90493&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-90493 It would be great if japicmp was offering a way to configure the mapping in the top level pom (i.e. centrally) or if it could auto-discover artifact extensions. Thanks! |
Here's a difference of a breakage that we didn't have with CLIRR and that is breaking our build with japicmp.
More precisely here's what we had before: `public class FlavorManagerScriptService implements ScriptService
And here's what we changed it to:
public class FlavorManagerScriptService extends AbstractExtensionScriptService
and we havepublic abstract class AbstractExtensionScriptService implements ScriptService
.Thus I believe it's not correct to say that source compatibility was broken. Is that correct?
Thanks
The text was updated successfully, but these errors were encountered: