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

want xtask for updating internal APIs when shared data structures change #5648

Open
rcgoodfellow opened this issue Apr 27, 2024 · 1 comment

Comments

@rcgoodfellow
Copy link
Contributor

Currently when a data structure is changed that is shared among internal APIs, it requires the developer to manually iterate through compiling individual omicron components, generating their API specifications, recompiling dependent internal crates, if the types are re-exported from those dependent crates compiling them, regenerating their API specifications, finding any dependencies for those crates and continuing to iterate, sometimes circularly with a need for stubbing things out with todo!() directives to break loops.

It seems like there should be something like an xtask for automating this. The xtask would likely not be able to deal with loops, but perhaps that would force us into avoiding loops in the first place.

@sunshowers
Copy link
Contributor

Definitely a huge pain point today. I'm wondering if the approach shown in #5653 -- splitting up the API into a trait that sits in its own crate (from which the OpenAPI document can be generated), and the impl in a separate crate -- would improve matters here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants