-
Notifications
You must be signed in to change notification settings - Fork 652
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
Added GitVersion.Abstractions module #3451
Conversation
8103077
to
d91c3ac
Compare
d91c3ac
to
ea49bfa
Compare
Thank you @arturcic for your contribution! |
Sorry, but I don’t agree with this change. We don’t need to move interfaces out of Core, that makes it not be the core anymore. |
Core will change to Calculation, it will contain only the version calculation logic, eventually |
The |
@asbjornu please have a look here #3407 (comment) |
Don't you consider version calculation to be "core" to what GitVersion does?
Sounds like the separation we already had with |
Yes, and only version calculation should be in core, all the other modules - like output, agents, maybe configuration, should not belong to core in my opinion. The version calculation code should know about the Options and the EffectiveConfiguration as inputs, and those should be provided/computed by the 'external modules', same for the output - GitVersionVariables, that is used by 'external modules' Basically the Now if we keep those interfaces and implementations in the |
I can revert this PR if you want to have a broader discussion on this refactoring. |
Hm, I think I agree with almost everything you just wrote, so I have to take a more thorough look at this to understand exactly what it is you're writing compared to what this PR is actually doing. |
The PR is moving to that direction, not yet there |
Moving most of the interfaces from Core to Abstractions, made modules depend on Abstractions instead of Core