-
Notifications
You must be signed in to change notification settings - Fork 210
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
Fix Cyclic Dependencies in Go #5467
Conversation
2c930e1
to
a7c858c
Compare
Just checking first, |
@andrueastman so this will not break the existing code releases as it only flattens the models when it detects a circular reference. The issue was suggesting flattening the entire package but in this case the solution only flattens packages that have a circular reference https://github.com/microsoft/kiota/blob/fix/go-cyclic-dependencies/src/Kiota.Builder/Refiners/GoRefiner.cs#L289 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great initial work!
92b94e5
to
6d02976
Compare
…ta into fix/go-cyclic-dependencies
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for making the changes!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just a couple of comments. Otherwise, this looks good to me.
Quality Gate passedIssues Measures |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍🏼
Resolves #2834
Fixes cyclic dependencies by flattening models affected by cyclic depndecies i.e when a cyclic depedency is detected the affected packages will be flattened and migrated to the rot models package.
For example
models -> submodule1 -> submodule2 -> submodule3 -> submodule2
will be flattened by migrating everything under submodule2 to the root models package
Testing: