-
Notifications
You must be signed in to change notification settings - Fork 849
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
strategy for vendoring in service libs #936
Comments
👋 @joshgav - I might be mis-understanding this - but are you referring to each service implementation living in it's own repository; that's then vendored into the main repository? |
@tombuildsstuff yes, @marstr has been considering this. thoughts? |
@joshgav I'm not opposed to that - but as a consumer I can't help but feel that would make things more complicated to find things for new-comers (for instance, the AWS Repository has roughly the same number of services in the SDK and is all housed within a single repository). Digging through the archives I've got a more detailed response available in the original issue on Versioning) Out of interest what's the benefit of taking approach? :) |
"more control" what more do you want? Just kidding, you know I wouldn't do that to you @tombuildsstuff! So, as mentioned back in the issue you linked to (#517), we reorganized the repository to support all API Versions simultaneously. The big motivation being to reduce the frequency that we had to choose between offering the latest and greatest thing from the Azure services and staying stable. However, even with the updated pattern, we don't have a reliable mechanism for protecting ourselves from changes that were made to the Swagger definitions inside of an API Version. Sometimes these changes don't even represent something that look like a breaking change in the other languages' SDKs, but is a breaking change for us. To solve this problem we have a couple of options:
I'd love to hear your thoughts, given that context. |
One piece of context that I should add, is that we're definitely going to be vendoring in some packages (i.e. strategy 2) for the storage team. The big example of this is the new blobs repository, which will eventually get vendored in here in a folder named |
After much internal discussion we've decided that we're not going to be taking this approach. |
we proposed factoring service implementations out of this repo and vendoring them in for more control
The text was updated successfully, but these errors were encountered: