Current aconfig_storage_file crate contains two things: 1, aconfig storage file definition (which is used by aconfig crate for storage file creation) and 2, flag storage file read api. With this change, we are splitting 2 into its own crate aconfig_storage_read_api In the long run, there will be 3 crates for aconfig_storage 1, aconfig_storage_file It contains aconfig storage file definition, as well as a binary to help print/dump aconfig storage binary files into some readable format. 2, aconfig_storage_read_api This crate contains flag read apis. This crate depends on aconfig_storge_file crate. This crate will be used by codegen. 3, aconfig_storage_write_api This crate contains flag write apis. This crate depends on aconfig_storage_file crate. This crate will only be used by aconfig daemon to update flag values. Bug: b/321077378 Test: atest aconfig_storage_read_api.test; atest aconfig_storage_file.test; atest aconfig_storage_read_api.test.rust; atest aconfig_storage_read_api.test.cpp Change-Id: Ia6afdc40a45c7c59652fbfd123c2b77bf6666dd9
21 lines
560 B
Rust
21 lines
560 B
Rust
use protobuf_codegen::Codegen;
|
|
|
|
fn main() {
|
|
let proto_files = vec!["protos/aconfig_storage_metadata.proto"];
|
|
|
|
// tell cargo to only re-run the build script if any of the proto files has changed
|
|
for path in &proto_files {
|
|
println!("cargo:rerun-if-changed={}", path);
|
|
}
|
|
|
|
Codegen::new()
|
|
.pure()
|
|
.include("protos")
|
|
.inputs(proto_files)
|
|
.cargo_out_dir("aconfig_storage_protos")
|
|
.run_from_script();
|
|
|
|
let _ = cxx_build::bridge("src/lib.rs");
|
|
println!("cargo:rerun-if-changed=src/lib.rs");
|
|
}
|