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

Separate this repo into two: a go module and the oasdiff executable #618

Open
reuvenharrison opened this issue Oct 7, 2024 · 0 comments

Comments

@reuvenharrison
Copy link
Collaborator

Oasdiff is currently a mono-repo containing a go module and the main oasdiff executable.

This structure implies two conflicting requirements:

  1. General semver best-practices for the oasdiff executable
  2. Golang's module versioning guidelines
    These requirements are in conflict because a breaking change to the oasdiff executable doesn't necessarily imply a breaking change to the module and vice versa.

A possible solution would be to separate this repo into two:

  1. The oasdiff executable which would be practically equivalent to the current internal package.
  2. A go module containing the packages like diff, flatten, checker etc.

Pros:

  • Adherence to golang's module versioning guidelines and semver best-practices for the oasdiff executable
  • Users of the oasdiff tool can see accurate and relevant release notes while ignoring internal implementation details of the module
  • Module users can see accurate and relevant release notes excluding irrelevant changes to the oasdiff executable
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant