-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Description
Note: migrated from original JIRA: https://issues.apache.org/jira/browse/ARROW-5135
This depends on the following upstream flatbuffers issues:
- [Rust] Generated code is inconsistent for fields named
typegoogle/flatbuffers#5052 - [Rust] Generated code produces warnings about snake case / camel case google/flatbuffers#5053
- [Rust] Provide option to override default package / file names google/flatbuffers#5054
Once they are resolved We should generate flatbuffers code automatically,
as suggested by [~nevi_me]:
{code}
// [arrow/rust/arrow/build.rs]
use std::path::Path;
use flatc_rust;
fn main() {
flatc_rust::run(flatc_rust::Args {
lang: "rust",
inputs: &[
Path::new("../../format/FIle.fbs"),
Path::new("../../format/Message.fbs"),
Path::new("../../format/Schema.fbs"),
Path::new("../../format/Tensor.fbs"),
Path::new("../../format/SparseTensor.fbs"),
],
out_dir: Path::new("./src/ipc/gen/"),
// doesn't seem to be honoured
includes: &[Path::new("../../format/")],
..Default::default()
}).expect("Unable to build flatbuffer files");
}
// [arrow/rust/arrow/Cargo.toml]
[package]
...
build = "build.rs"
...
[build-dependencies]
flatc-rust = "0.1"
{code}