create java library accepts new_exported parameter
This change add a new parameter new_exported to create-java-lib. If the
parameter is true, then generates the exported code using new storage.
Bug: 329250927
Test: atest .
Change-Id: Ie09e2c7c3a3c5f1b9ddadfc5c5eb598f825415db
diff --git a/tools/aconfig/aconfig/src/codegen/java.rs b/tools/aconfig/aconfig/src/codegen/java.rs
index 7aff4e9..6674d02 100644
--- a/tools/aconfig/aconfig/src/codegen/java.rs
+++ b/tools/aconfig/aconfig/src/codegen/java.rs
@@ -33,6 +33,7 @@
flag_ids: HashMap<String, u16>,
allow_instrumentation: bool,
package_fingerprint: u64,
+ new_exported: bool,
) -> Result<Vec<OutputFile>>
where
I: Iterator<Item = ProtoParsedFlag>,
@@ -60,6 +61,7 @@
container,
is_platform_container,
package_fingerprint: format!("0x{:X}L", package_fingerprint),
+ new_exported,
};
let mut template = TinyTemplate::new();
template.add_template("Flags.java", include_str!("../../templates/Flags.java.template"))?;
@@ -129,6 +131,7 @@
pub container: String,
pub is_platform_container: bool,
pub package_fingerprint: String,
+ pub new_exported: bool,
}
#[derive(Serialize, Debug)]
@@ -530,6 +533,7 @@
flag_ids,
true,
5801144784618221668,
+ false,
)
.unwrap();
let expect_flags_content = EXPECTED_FLAG_COMMON_CONTENT.to_string()
@@ -685,6 +689,7 @@
flag_ids,
true,
5801144784618221668,
+ false,
)
.unwrap();
@@ -884,6 +889,7 @@
flag_ids,
true,
5801144784618221668,
+ false,
)
.unwrap();
@@ -1006,6 +1012,7 @@
flag_ids,
true,
5801144784618221668,
+ false,
)
.unwrap();
let expect_featureflags_content = r#"
diff --git a/tools/aconfig/aconfig/src/commands.rs b/tools/aconfig/aconfig/src/commands.rs
index 3f869de..4c06462 100644
--- a/tools/aconfig/aconfig/src/commands.rs
+++ b/tools/aconfig/aconfig/src/commands.rs
@@ -218,6 +218,7 @@
mut input: Input,
codegen_mode: CodegenMode,
allow_instrumentation: bool,
+ new_exported: bool,
) -> Result<Vec<OutputFile>> {
let parsed_flags = input.try_parse_flags()?;
let modified_parsed_flags = modify_parsed_flags_based_on_mode(parsed_flags, codegen_mode)?;
@@ -236,6 +237,7 @@
flag_ids,
allow_instrumentation,
package_fingerprint,
+ new_exported,
)
}
diff --git a/tools/aconfig/aconfig/src/main.rs b/tools/aconfig/aconfig/src/main.rs
index c390288..288786b 100644
--- a/tools/aconfig/aconfig/src/main.rs
+++ b/tools/aconfig/aconfig/src/main.rs
@@ -85,6 +85,12 @@
.long("allow-instrumentation")
.value_parser(clap::value_parser!(bool))
.default_value("false"),
+ )
+ .arg(
+ Arg::new("new-exported")
+ .long("new-exported")
+ .value_parser(clap::value_parser!(bool))
+ .default_value("false"),
),
)
.subcommand(
@@ -267,8 +273,10 @@
let mode = get_required_arg::<CodegenMode>(sub_matches, "mode")?;
let allow_instrumentation =
get_required_arg::<bool>(sub_matches, "allow-instrumentation")?;
- let generated_files = commands::create_java_lib(cache, *mode, *allow_instrumentation)
- .context("failed to create java lib")?;
+ let new_exported = get_required_arg::<bool>(sub_matches, "new-exported")?;
+ let generated_files =
+ commands::create_java_lib(cache, *mode, *allow_instrumentation, *new_exported)
+ .context("failed to create java lib")?;
let dir = PathBuf::from(get_required_arg::<String>(sub_matches, "out")?);
generated_files
.iter()