You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@arrow.apache.org by "Krisztian Szucs (JIRA)" <ji...@apache.org> on 2019/04/08 11:04:00 UTC

[jira] [Created] (ARROW-5135) [Rust] Generate flatbuffers code automatically

Krisztian Szucs created ARROW-5135:
--------------------------------------

             Summary: [Rust] Generate flatbuffers code automatically
                 Key: ARROW-5135
                 URL: https://issues.apache.org/jira/browse/ARROW-5135
             Project: Apache Arrow
          Issue Type: Improvement
          Components: Rust
            Reporter: Krisztian Szucs


This depends on the following upstream flatbuffers issues:
- https://github.com/google/flatbuffers/issues/5052
- https://github.com/google/flatbuffers/issues/5053
- https://github.com/google/flatbuffers/issues/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}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)