Reshuffle shared source files#38509
Conversation
|
API change check API changes are not detected in this pull request. |
|
I think we should keep |
How would you feel about moving it temporarily and then driving consistency as a holistic effort when we move it back to being a shared resource? One observation here is that we've created two of these types that do the same thing with |
Could you explain the benefit in moving it if we plan to just move it back?
ErrorResponse was created before NullableResponse and therefore doesn't inherit from it, so I don't see them as duplicate. That one seems fine to move, IMO. |
Sure. We have a lot of challenges with our shared source files today, many related to the issues listed in the PR description. I'd like to take an accounting of each of these files to understand what roles they play, what dependencies they actually have (some of them are referenced by libraries that don't actually use them), and how they're connected to each other. All of this is driving toward turning these into public types so they can be shared in the way .NET intends to share types. Moving them temporarily helps tease out the dependencies, and uses the CIs to validate hypotheses to ensure we don't make mistaken assumptions. It'll help us take out some of the snarly tangles in the circular dependency problem across the autorest.csharp repo so we can see that more clearly. Overall, the smaller the set of files in the src/Shared folder is, the easier it will be to see patterns to make it clear what the work remaining is here. I'm hoping to bring a list of projects to our team in a few weeks as options for people to consider driving during MQ. So, if it's not a big problem to move it back in a bit, that would be really helpful for this effort. I'm happy to keep track of things we want to move back however works best for everyone.
I'm not sure I understand this - Thanks! |
Do we have a timeline for when it would move back?
Sure - Response types that intend to have no value should inherit directly from |
Whenever we're ready to make it a public type? Or if there's a reason to share it across libraries before that, if we need to compromise on public/shared. Or, as soon as the accounting is done, which I'm hoping is only a few weeks, but should be before EOY, probably during MQ? What's best for your timeline?
I see, cool, thanks for that. So then I was thinking about it incorrectly - it looks like |
MQ sounds reasonable - thanks for all the additional context. |
* Move GZipUtf8JsonRequestContent to Monitor * Move GuidUtilities to ServiceBus * Make GeoRedundantFallbackPolicy internal * move ErrorResponse<T> into HttpPipelineExtensions * Move NoValueResponse<T> to Tables
* convert without /{policyAssignmentId} path
* tspconfig
* prettier
* fix PolicyDefinition
* fix PolicySetDefinitionVersion
* fix PolicyDefinitionVersion
* fix PolicySetDefinition
* fix back-compatible
* format
* fix model
* fix warning
* regen
* add client.tsp
* remove operationId
* fix listForResourceGroup
* use v6 common-types
* use CommonTypes.ManagementGroupNameParameter
* revert back to common-types v5
* temp solution for /providers/microsoft.Management/managementGroups/{managementGroupName}/providers/microsoft.Authorization
* fix PolicyAssignments_ListForManagementGroup
* remove suppress
* fix PolicyAssignments_List
* fix PolicyAssignments_ListForResource
* add examples
* fix go tspconfig
* fix
* fix example
* use template for listForManagementGroup
* use ListSinglePage
* use PolicyAssignmentGenericOps
* update others
* backward compatible
* api in client
* skip-url-encoding
* fix a ref
* copy existing suppress to openapi.json file
* update package name
* update client name
* for tsp 1.6.0
* Update client.tsp
* Update client.tsp
* Update tspconfig.yaml
* Update client location annotation in policy client
* add code
* use Record type directly on property
---------
Co-authored-by: Jiao Di (MSFT) <v-jiaodi@microsoft.com>
Co-authored-by: Wenjie Yu (Wicresoft North America Ltd) <v-wenjyu@microsoft.com>
Co-authored-by: Jiao Di (MSFT) <80496810+v-jiaodi@users.noreply.github.com>
Co-authored-by: ChenxiJiang333 <119990644+ChenxiJiang333@users.noreply.github.com>
Co-authored-by: Judy Liu <v-liujudy@microsoft.com>
Co-authored-by: Pan Shao <97225342+pshao25@users.noreply.github.com>
As pre-work to address:
I'm working on an accounting of our shared source files and which libraries use them.
To make this easier, I'd like to at least temporarily move files used by only a single library into that library. If any of these files need to stay shared, please let me know because that will be useful information in our prioritization and planning around the issues listed above.
This PR specifically:
It's worth noting that the last two types address the same API need, and if we make these public as part of #28369, we should likely merge them into a single type.