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

Shared source consumed by both Azure.Core and autorest.csharp creates a circular dependency #27337

Closed
christothes opened this issue Mar 3, 2022 · 4 comments
Assignees
Labels
Azure.Core Client This issue points to a problem in the data-plane of the library.

Comments

@christothes
Copy link
Member

christothes commented Mar 3, 2022

Library name

Azure.Core

Please describe the feature.

Currently autorest.csharp and Azure.Core participate in a circular dependency for certain shared source files. If a breaking change is required to these internal types, the process to propagate them through Azure.Core and autorest.csharp is fairly complicated. We should find a way to refactor these shared types to avoid this problem.

Below is a sample sequence of events when changes must be coordinated across Azure.Core and autorest:

  1. I need to make the changes to Azure.Core and push those to a private branch
  2. Update mgmt plane to consume project ref of Azure.Core
  3. Create an alpha build of Azure.Core from that branch of version X
  4. Create an alpha build of Azure.ResourceManager with the exact same version X
  5. Update autorest to use these two new packages
  6. Update autorest to consume Azure.Core as a source of reference types
  7. Add / modify test cases to validate functionality
  8. Create a local private build of autorest
  9. Manually configure my branch from step 1 to use this local build
  10. Regen everything
    1. Verify that the type is replaced where expected
    2. Verify no other unexpected changes exist and all test cases pass
  11. Push these regen changes to the azure-sdk-for-net branch
  12. This will be the version of the code that needs to be reviewed / signed off on for azure-sdk-for-net
  13. Create a PR for the autorest changes and get that merged into feature/v3
  14. Once the CI for autorest changes finishes update the autorest version in my azure-sdk-for-net branch
  15. push this for final approval / merge
  16. Ship 1.24.1
  17. update autorest to point at 1.24.1
@pallavit
Copy link
Contributor

@christothes , @annelo-msft is this still valid?

@christothes
Copy link
Member Author

I know there has been progress here, but @AlexanderSher can comment in more detail.

Copy link

github-actions bot commented Mar 4, 2024

Hi @christothes, we deeply appreciate your input into this project. Regrettably, this issue has remained inactive for over 2 years, leading us to the decision to close it. We've implemented this policy to maintain the relevance of our issue queue and facilitate easier navigation for new contributors. If you still believe this topic requires attention, please feel free to create a new issue, referencing this one. Thank you for your understanding and ongoing support.

@annelo-msft
Copy link
Member

Closing as duplicate of #28369 -- in terms of what the actionable outcomes of this workstream will be.

@github-actions github-actions bot locked and limited conversation to collaborators Jun 10, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Azure.Core Client This issue points to a problem in the data-plane of the library.
Projects
None yet
Development

No branches or pull requests

6 participants