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

Support for backward/forward binary checking #87

Closed
wants to merge 2 commits into from

Conversation

cunei
Copy link

@cunei cunei commented Oct 16, 2015

This pull request adds native support for backward/forward/bidirectional binary compatibility checking to MiMa. A single report is generated, with a clear explanation of which side is affected, improving the error reporting of the current Scala build, for example.
The following are included:

  • Reworked the Problem set of case classes, so that mutable state is removed, and the generation of error messages is parametric with respect to the name of the affected side of the comparison. General clean up of messages, and some logic.
  • Adding three new keys to the sbt plugin: mima-backward-issue-filters, mima-forward-issue-filters, and mima-check-direction. The first two can be used to specify problem filters that only apply to the backward or the forward pass, respectively. The existing mima-issue-filters applies to both passes, and is prepended to the other two. The mima-check-direction setting can be set to "backward" (default), "forward", or "both".
  • Similarly, three new command line options are added to the MiMa CLI: --backward-filters, --forward-filters, and --direction. The meaning is similar to the three keys above.
  • Updates for all of the functional test messages, reflecting the modified codebase. The new messages have been manually verified against the old ones, in order to make sure the meaning of the new messages was consistent with the old ones.

This pull request needs to be tested and reviewed before merging.

Antonio Cunei added 2 commits October 16, 2015 14:50
This commit cleans up the Problem case classes, removing
mutable state and making the error messages parametric on
the affected version. The commit also includes new keys for
the sbt plugin, allowing the user to specify the comparison
direction, and separate filters for backward and forward
checks.
@SethTisue SethTisue added this to the 0.1.9 milestone Nov 12, 2015
@SethTisue
Copy link
Collaborator

this would be useful to have for Scala's own sbt build. (the bc.check task in the ant build uses the usual workaround of running MiMa twice with curr and prev swapped)

@2m 2m mentioned this pull request Feb 25, 2016
@2m
Copy link
Contributor

2m commented Feb 25, 2016

LGTM. Rebasing this on top of current master in #104

@2m 2m closed this Feb 25, 2016
2m added a commit that referenced this pull request Feb 25, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants