aconfig: update aconfig_storage_file crate
Add android.bp target for the binary. Change the binary name to
aconfig-storage. And a number of small updates.
Bug: b/321077378
Test: m aconfig-stoarge; atest aconfig_storage_file.test
Change-Id: I9f560a031433407800ded1c2f4f2bdab459f5df7
diff --git a/tools/aconfig/aconfig_storage_file/Android.bp b/tools/aconfig/aconfig_storage_file/Android.bp
index c089d54..2a606bf 100644
--- a/tools/aconfig/aconfig_storage_file/Android.bp
+++ b/tools/aconfig/aconfig_storage_file/Android.bp
@@ -6,7 +6,6 @@
name: "aconfig_storage_file.defaults",
edition: "2021",
lints: "none",
- srcs: ["src/lib.rs"],
rustlibs: [
"libanyhow",
"libthiserror",
@@ -22,12 +21,21 @@
crate_name: "aconfig_storage_file",
host_supported: true,
defaults: ["aconfig_storage_file.defaults"],
+ srcs: ["src/lib.rs"],
+}
+
+rust_binary_host {
+ name: "aconfig-storage",
+ defaults: ["aconfig_storage_file.defaults"],
+ srcs: ["src/main.rs"],
+ rustlibs: ["libaconfig_storage_file"],
}
rust_test_host {
name: "aconfig_storage_file.test",
test_suites: ["general-tests"],
defaults: ["aconfig_storage_file.defaults"],
+ srcs: ["src/lib.rs"],
}
rust_protobuf {
diff --git a/tools/aconfig/aconfig_storage_file/Cargo.toml b/tools/aconfig/aconfig_storage_file/Cargo.toml
index 9b9a615..641f481 100644
--- a/tools/aconfig/aconfig_storage_file/Cargo.toml
+++ b/tools/aconfig/aconfig_storage_file/Cargo.toml
@@ -14,6 +14,10 @@
thiserror = "1.0.56"
clap = { version = "4.1.8", features = ["derive"] }
+[[bin]]
+name = "aconfig-storage"
+path = "src/main.rs"
+
[build-dependencies]
protobuf-codegen = "3.2.0"
cxx-build = "1.0"
diff --git a/tools/aconfig/aconfig_storage_file/src/lib.rs b/tools/aconfig/aconfig_storage_file/src/lib.rs
index ec41a4e..202f6a4 100644
--- a/tools/aconfig/aconfig_storage_file/src/lib.rs
+++ b/tools/aconfig/aconfig_storage_file/src/lib.rs
@@ -78,7 +78,9 @@
"package_map" => Ok(Self::PackageMap),
"flag_map" => Ok(Self::FlagMap),
"flag_val" => Ok(Self::FlagVal),
- _ => Err(anyhow!("Invalid storage file to create")),
+ _ => Err(anyhow!(
+ "Invalid storage file type, valid types are package_map|flag_map|flag_val]"
+ )),
}
}
}
diff --git a/tools/aconfig/aconfig_storage_file/src/main.rs b/tools/aconfig/aconfig_storage_file/src/main.rs
index 2c7b87c..b5e6158 100644
--- a/tools/aconfig/aconfig_storage_file/src/main.rs
+++ b/tools/aconfig/aconfig_storage_file/src/main.rs
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-//! `aconfig_storage` is a debugging tool to parse storage files
+//! `aconfig-storage` is a debugging tool to parse storage files
use aconfig_storage_file::{
list_flags, read_file_to_bytes, AconfigStorageError, FlagTable, FlagValueList, PackageTable,
@@ -24,7 +24,7 @@
use clap::{builder::ArgAction, Arg, Command};
fn cli() -> Command {
- Command::new("aconfig_storage_file")
+ Command::new("aconfig-storage")
.subcommand_required(true)
.subcommand(
Command::new("print")
@@ -39,13 +39,13 @@
.subcommand(
Command::new("list")
.arg(
- Arg::new("package_map")
- .long("package_map")
+ Arg::new("package-map")
+ .long("package-map")
.required(true)
.action(ArgAction::Set),
)
- .arg(Arg::new("flag_map").long("flag_map").required(true).action(ArgAction::Set))
- .arg(Arg::new("flag_val").long("flag_val").required(true).action(ArgAction::Set)),
+ .arg(Arg::new("flag-map").long("flag-map").required(true).action(ArgAction::Set))
+ .arg(Arg::new("flag-val").long("flag-val").required(true).action(ArgAction::Set)),
)
}
@@ -80,9 +80,9 @@
print_storage_file(file_path, file_type)?
}
Some(("list", sub_matches)) => {
- let package_map = sub_matches.get_one::<String>("package_map").unwrap();
- let flag_map = sub_matches.get_one::<String>("flag_map").unwrap();
- let flag_val = sub_matches.get_one::<String>("flag_val").unwrap();
+ let package_map = sub_matches.get_one::<String>("package-map").unwrap();
+ let flag_map = sub_matches.get_one::<String>("flag-map").unwrap();
+ let flag_val = sub_matches.get_one::<String>("flag-val").unwrap();
let flags = list_flags(package_map, flag_map, flag_val)?;
for flag in flags.iter() {
println!("{}: {}", flag.0, flag.1);