-
Notifications
You must be signed in to change notification settings - Fork 653
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
GitVersion.Core library should allow bypassing shellout interop #2138
Comments
Example ugliness that I've seen, the Cake build fails with:
Re-run with diagnostic verbosity to find the real cause (across the interop boundary):
In this case "remote authentication required but no callback set". |
Yes, such a refactor would bring us in the direction of a complete Core without any reliance on LibGit2Sharp and an in-memory object model that will serve GitVersion's needs much better (and faster) than Git's. |
@asbjornu thanks for the info! I think this is conflating the two interop boundaries though. My thoughts with this issue are related to the "external" interop boundary; i.e. from Cake script / C# client to the The "internal" interop boundary from |
In a Multitier Architecture, I would agree, but since we're talking about a "Core" here, Hexagonal Architecture or Onion Architecture is imho a better way to view the application. In that case, all concerns that aren't a part of the Core (which should be 100% dependency free and contain nothing but idiomatic C# code) are a part of the "infrastructure" or "UI" layer of the application, external to the Core. The only difference is whether we are doing an inbound (requests, input, deserialization) or outbound mapping (response, output, serialization) of the Core domain. While I agree that inbound and outband mapping are different concerns, I don't think it's possible to implement one without the other once we delete all external dependencies from the Core. |
This issue has been automatically marked as stale because it has not had recent activity. After 30 days from now, it will be closed if no further activity occurs. Thank you for your contributions. |
This issue has been automatically marked as stale because it has not had recent activity. After 30 days from now, it will be closed if no further activity occurs. Thank you for your contributions. |
This issue has been automatically marked as stale because it has not had recent activity. After 30 days from now, it will be closed if no further activity occurs. |
This issue has been automatically marked as stale because it has not had recent activity. After 30 days from now, it will be closed if no further activity occurs. |
This issue was closed because it has been stalled for 30 days with no activity. Thank you for your contributions |
With the advent of the common
GitVersion.Core
library, it would be prudent to refactor it further so that it has a nice interface for C# developers; i.e. classes and methods that can be called directly, as with any other library, thereby bypassing shellout interop - command-line input / output parsing - and all the ugliness that entails.The text was updated successfully, but these errors were encountered: