1#[cfg(not(doctest))]
11pub mod build {
12 pub mod bazel {
13 pub mod remote {
14 pub mod execution {
15 pub mod v2 {
16 include!("generated/build.bazel.remote.execution.v2.rs");
17 #[cfg(feature = "serde")]
18 include!("generated/build.bazel.remote.execution.v2.serde.rs");
19 }
20 }
21 pub mod asset {
22 pub mod v1 {
23 include!("generated/build.bazel.remote.asset.v1.rs");
24 #[cfg(feature = "serde")]
25 include!("generated/build.bazel.remote.asset.v1.serde.rs");
26 }
27 }
28 pub mod logstream {
29 pub mod v1 {
30 include!("generated/build.bazel.remote.logstream.v1.rs");
31 #[cfg(feature = "serde")]
32 include!("generated/build.bazel.remote.logstream.v1.serde.rs");
33 }
34 }
35 }
36 pub mod semver {
37 include!("generated/build.bazel.semver.rs");
38 #[cfg(feature = "serde")]
39 include!("generated/build.bazel.semver.serde.rs");
40 }
41 }
42}
43
44#[cfg(not(doctest))]
45pub mod google {
46 pub mod api {
47 include!("generated/google.api.rs");
48 #[cfg(feature = "serde")]
49 include!("generated/google.api.serde.rs");
50 }
51 pub mod bytestream {
52 include!("generated/google.bytestream.rs");
53 #[cfg(feature = "serde")]
54 include!("generated/google.bytestream.serde.rs");
55 }
56 pub mod longrunning {
57 include!("generated/google.longrunning.rs");
58 #[cfg(feature = "serde")]
59 include!("generated/google.longrunning.serde.rs");
60 }
61 pub mod rpc {
62 include!("generated/google.rpc.rs");
63 #[cfg(feature = "serde")]
64 include!("generated/google.rpc.serde.rs");
65 }
66
67 pub mod protobuf {
68 #[cfg(not(feature = "serde"))]
69 include!("generated/google.protobuf.rs");
70 #[cfg(feature = "serde")]
71 pub use pbjson_types::*;
72 }
73}
74
75#[cfg(test)]
76#[cfg(feature = "serde")]
77mod json_tests {
78 use build::bazel::remote::execution::v2::NodeProperties;
79
80 use super::*;
81
82 #[test]
83 fn simple() {
84 let ar = build::bazel::remote::execution::v2::ActionResult {
85 output_files: vec![build::bazel::remote::execution::v2::OutputFile {
86 path: "packages/types/cjs/tasks-config.d.ts.map".to_string(),
87 node_properties: Some(NodeProperties {
88 mtime: Some(google::protobuf::Timestamp {
89 ..Default::default()
90 }),
91 ..Default::default()
92 }),
93 ..Default::default()
94 }],
95 ..Default::default()
96 };
97 println!("simple test");
98 println!("{}", serde_json::to_string_pretty(&ar).unwrap());
99
100 let ar_json = r#"
101 {
102 "output_files": [
103 {
104 "path": "packages/types/cjs/tasks-config.d.ts.map",
105 "digest": {
106 "hash": "0ba57c041317f5b5cfd3dcaca8dd6ac7f27b67f94ad1ff18ce34912fc2a534c5",
107 "size_bytes": 7272
108 },
109 "is_executable": false
110 }
111 ]
112 }
113 "#;
114
115 let ar2 =
116 serde_json::from_str::<build::bazel::remote::execution::v2::ActionResult>(ar_json)
117 .unwrap();
118 println!("ar2: {}", serde_json::to_string_pretty(&ar2).unwrap());
119 }
120}