aconfig: move codegen into separate module

Consolidate the code generation sources into its own module. This is
done in preparation for when support for the new flag storage will be
added, which should also be placed in a separate module.

Bug: N/A
Test: atest aconfig.test aconfig.test.java
Change-Id: I8246729218ec60f2af4568c460e98329665a89fa
This commit is contained in:
Mårten Kongstad
2023-12-08 11:24:54 +01:00
parent 14a82dab15
commit 12e593cd02
6 changed files with 15 additions and 14 deletions

View File

@@ -56,12 +56,12 @@ where
let files = [
FileSpec {
name: &format!("{}.h", header),
template: include_str!("../templates/cpp_exported_header.template"),
template: include_str!("../../templates/cpp_exported_header.template"),
dir: "include",
},
FileSpec {
name: &format!("{}.cc", header),
template: include_str!("../templates/cpp_source_file.template"),
template: include_str!("../../templates/cpp_source_file.template"),
dir: "",
},
];

View File

@@ -50,18 +50,18 @@ where
library_exported,
};
let mut template = TinyTemplate::new();
template.add_template("Flags.java", include_str!("../templates/Flags.java.template"))?;
template.add_template("Flags.java", include_str!("../../templates/Flags.java.template"))?;
template.add_template(
"FeatureFlagsImpl.java",
include_str!("../templates/FeatureFlagsImpl.java.template"),
include_str!("../../templates/FeatureFlagsImpl.java.template"),
)?;
template.add_template(
"FeatureFlags.java",
include_str!("../templates/FeatureFlags.java.template"),
include_str!("../../templates/FeatureFlags.java.template"),
)?;
template.add_template(
"FakeFeatureFlagsImpl.java",
include_str!("../templates/FakeFeatureFlagsImpl.java.template"),
include_str!("../../templates/FakeFeatureFlagsImpl.java.template"),
)?;
let path: PathBuf = package.split('.').collect();

View File

@@ -14,6 +14,10 @@
* limitations under the License.
*/
pub mod cpp;
pub mod java;
pub mod rust;
use anyhow::{ensure, Result};
pub fn is_valid_name_ident(s: &str) -> bool {

View File

@@ -43,8 +43,8 @@ where
template.add_template(
"rust_code_gen",
match codegen_mode {
CodegenMode::Production => include_str!("../templates/rust_prod.template"),
CodegenMode::Test => include_str!("../templates/rust_test.template"),
CodegenMode::Production => include_str!("../../templates/rust_prod.template"),
CodegenMode::Test => include_str!("../../templates/rust_test.template"),
CodegenMode::Exported => {
todo!("exported mode not yet supported for rust, see b/313894653.")
}

View File

@@ -20,9 +20,9 @@ use protobuf::Message;
use std::io::Read;
use std::path::PathBuf;
use crate::codegen_cpp::generate_cpp_code;
use crate::codegen_java::generate_java_code;
use crate::codegen_rust::generate_rust_code;
use crate::codegen::cpp::generate_cpp_code;
use crate::codegen::java::generate_java_code;
use crate::codegen::rust::generate_rust_code;
use crate::protos::{
ProtoFlagMetadata, ProtoFlagPermission, ProtoFlagState, ProtoParsedFlag, ProtoParsedFlags,
ProtoTracepoint,

View File

@@ -25,9 +25,6 @@ use std::io::Write;
use std::path::{Path, PathBuf};
mod codegen;
mod codegen_cpp;
mod codegen_java;
mod codegen_rust;
mod commands;
mod protos;