in tensorflow-proto-codegen/src/main.rs [8:167]
fn main() -> Result<(), Box<dyn Error>> {
let args: Vec<String> = env::args().collect();
let tensorflow_folder = &args[1];
let output_folder = Path::new(&args[2]);
protoc_rust::run(protoc_rust::Args {
out_dir: output_folder
.join("src/protos")
.to_str()
.ok_or("Unable to format output path for main crate")?,
input: &[
&format!(
"{}/tensorflow/core/framework/allocation_description.proto",
tensorflow_folder
),
&format!(
"{}/tensorflow/core/framework/attr_value.proto",
tensorflow_folder
),
&format!(
"{}/tensorflow/core/framework/cost_graph.proto",
tensorflow_folder
),
&format!(
"{}/tensorflow/core/framework/full_type.proto",
tensorflow_folder
),
&format!(
"{}/tensorflow/core/framework/function.proto",
tensorflow_folder
),
&format!(
"{}/tensorflow/core/framework/graph.proto",
tensorflow_folder
),
&format!(
"{}/tensorflow/core/framework/node_def.proto",
tensorflow_folder
),
&format!(
"{}/tensorflow/core/framework/op_def.proto",
tensorflow_folder
),
&format!(
"{}/tensorflow/core/framework/resource_handle.proto",
tensorflow_folder
),
&format!(
"{}/tensorflow/core/protobuf/saved_model.proto",
tensorflow_folder
),
&format!(
"{}/tensorflow/core/protobuf/saved_object_graph.proto",
tensorflow_folder
),
&format!(
"{}/tensorflow/core/framework/step_stats.proto",
tensorflow_folder
),
&format!(
"{}/tensorflow/core/framework/tensor_description.proto",
tensorflow_folder
),
&format!(
"{}/tensorflow/core/protobuf/struct.proto",
tensorflow_folder
),
&format!(
"{}/tensorflow/core/framework/tensor.proto",
tensorflow_folder
),
&format!(
"{}/tensorflow/core/framework/tensor_shape.proto",
tensorflow_folder
),
&format!(
"{}/tensorflow/core/protobuf/trackable_object_graph.proto",
tensorflow_folder
),
&format!(
"{}/tensorflow/core/framework/types.proto",
tensorflow_folder
),
&format!(
"{}/tensorflow/core/framework/variable.proto",
tensorflow_folder
),
&format!(
"{}/tensorflow/core/framework/versions.proto",
tensorflow_folder
),
&format!(
"{}/tensorflow/core/protobuf/meta_graph.proto",
tensorflow_folder
),
&format!("{}/tensorflow/core/protobuf/saver.proto", tensorflow_folder),
&format!(
"{}/tensorflow/core/protobuf/cluster.proto",
tensorflow_folder
),
&format!(
"{}/tensorflow/core/protobuf/config.proto",
tensorflow_folder
),
&format!("{}/tensorflow/core/protobuf/debug.proto", tensorflow_folder),
&format!(
"{}/tensorflow/core/protobuf/rewriter_config.proto",
tensorflow_folder
),
&format!(
"{}/tensorflow/core/protobuf/verifier_config.proto",
tensorflow_folder
),
],
includes: &[tensorflow_folder],
customize: protoc_rust::Customize {
..Default::default()
},
})?;
protoc_rust::run(protoc_rust::Args {
out_dir: output_folder
.join("tensorflow-op-codegen/src/protos")
.to_str()
.ok_or("Unable to format output path for ops crate")?,
input: &[
&format!(
"{}/tensorflow/core/framework/attr_value.proto",
tensorflow_folder
),
&format!(
"{}/tensorflow/core/framework/full_type.proto",
tensorflow_folder
),
&format!(
"{}/tensorflow/core/framework/op_def.proto",
tensorflow_folder
),
&format!(
"{}/tensorflow/core/framework/resource_handle.proto",
tensorflow_folder
),
&format!(
"{}/tensorflow/core/framework/tensor.proto",
tensorflow_folder
),
&format!(
"{}/tensorflow/core/framework/tensor_shape.proto",
tensorflow_folder
),
&format!(
"{}/tensorflow/core/framework/types.proto",
tensorflow_folder
),
],
includes: &[tensorflow_folder],
customize: protoc_rust::Customize {
..Default::default()
},
})?;
Ok(())
}