aconfig: Add codegen for java
Add codegen for java skeleton
Bug: 279485059
Test: atest aconfig.test
Change-Id: Ia0481cec9c2e137e88e9a77d1b82412529b64adc
diff --git a/tools/aconfig/src/main.rs b/tools/aconfig/src/main.rs
index f253735..f29186a 100644
--- a/tools/aconfig/src/main.rs
+++ b/tools/aconfig/src/main.rs
@@ -24,6 +24,7 @@
mod aconfig;
mod cache;
+mod codegen_java;
mod commands;
mod protos;
@@ -47,6 +48,11 @@
.arg(Arg::new("cache").long("cache").required(true)),
)
.subcommand(
+ Command::new("create-java-lib")
+ .arg(Arg::new("cache").long("cache").required(true))
+ .arg(Arg::new("out").long("out").required(true)),
+ )
+ .subcommand(
Command::new("dump")
.arg(Arg::new("cache").long("cache").required(true))
.arg(
@@ -81,6 +87,17 @@
let file = fs::File::create(path)?;
cache.write_to_writer(file)?;
}
+ Some(("create-java-lib", sub_matches)) => {
+ let path = sub_matches.get_one::<String>("cache").unwrap();
+ let file = fs::File::open(path)?;
+ let cache = Cache::read_from_reader(file)?;
+ let out = sub_matches.get_one::<String>("out").unwrap();
+ let generated_file = commands::generate_code(&cache).unwrap();
+ fs::write(
+ format!("{}/{}", out, generated_file.file_name),
+ generated_file.file_content,
+ )?;
+ }
Some(("dump", sub_matches)) => {
let path = sub_matches.get_one::<String>("cache").unwrap();
let file = fs::File::open(path)?;