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

Generate types to deserialize simple extensions #27

Merged
merged 11 commits into from
Dec 16, 2022

Conversation

mbrobbel
Copy link
Member

@mbrobbel mbrobbel commented Nov 25, 2022

Adds Rust type generation based on the YAML schema for simple extensions using typify in a new text module. This allows typed (de)serialization of extensions files.

In addition this applies the following refactoring:

  • Renamed the protobuf module to proto to better reflect the structure in the substrait main repo
  • Add jobs to test the different features (also added them to the bors config)
  • Updated the REAMDE with some additonal links and instructions (replaces Add doc links to README #34)
  • Remove Cargo.lock file (libraries should not check in their lock file https://doc.rust-lang.org/cargo/faq.html#why-do-binaries-have-cargolock-in-version-control-but-not-libraries)
  • Some updates to the Cargo.toml file (added features, include license and core extensions in package, set msrv and set homepage to substrait.io)
  • Split different codegen steps in build.rs to different functions
  • Add crate documentation about serde features
  • Add protoc feature to build protoc from source in build step

This is blocked on substrait-io/substrait#387 and substrait-io/substrait#404 (to allow the generated code to deserialize the extension_types.yaml file). Deserialization of the extension files from the substrait submodule are tested in https://github.com/substrait-io/substrait-rs/pull/27/files#diff-f0c7b6d48022c11a573ef12664de310c63ab020e21ee0c442cb7340975663466R14.

Note that this is a breaking change.

Copy link
Contributor

@andygrove andygrove left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@andygrove andygrove merged commit 2747477 into substrait-io:main Dec 16, 2022
@mbrobbel mbrobbel deleted the simple-extensions branch December 16, 2022 18:45
@mbrobbel mbrobbel mentioned this pull request Dec 16, 2022
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

Successfully merging this pull request may close these issues.

2 participants