-
Notifications
You must be signed in to change notification settings - Fork 3k
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
feat(ingest): add entity registry in codegen #6984
Conversation
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.
Pretty exciting PR. Can you please add explanation in the PR description for context?
@jjoyce0510 updated the PR description on why this is useful |
"mxe/PlatformEvent.avsc", | ||
"platform/event/v1/EntityChangeEvent.avsc", | ||
"metadata/query/filter/Filter.avsc", # temporarily added to test reserved keywords support | ||
def generate(entity_registry: str, schemas_path: str, outdir: str) -> None: |
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.
When folks have custom extensions to base entity registry, is the idea that they would have merged these in advanced?
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.
Yup
If they have custom extensions to the entity registry, they're almost certainly building this from source anyways, so it's an ok assumption to make
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.
Looks solid to me.
Co-authored-by: Pedro Silva <[email protected]>
Co-authored-by: Pedro Silva <[email protected]>
This PR adds information from the entity registry to the codegen system. Specifically, it adds a get_aspect_info() method to aspects that contains the entity name, docs and category annotations if available, and list of supported aspects.
Why is this useful? It sets up some interesting use cases in the future:
Checklist