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 = [ let files = [
FileSpec { FileSpec {
name: &format!("{}.h", header), name: &format!("{}.h", header),
template: include_str!("../templates/cpp_exported_header.template"), template: include_str!("../../templates/cpp_exported_header.template"),
dir: "include", dir: "include",
}, },
FileSpec { FileSpec {
name: &format!("{}.cc", header), name: &format!("{}.cc", header),
template: include_str!("../templates/cpp_source_file.template"), template: include_str!("../../templates/cpp_source_file.template"),
dir: "", dir: "",
}, },
]; ];

View File

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

View File

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

View File

@@ -43,8 +43,8 @@ where
template.add_template( template.add_template(
"rust_code_gen", "rust_code_gen",
match codegen_mode { match codegen_mode {
CodegenMode::Production => include_str!("../templates/rust_prod.template"), CodegenMode::Production => include_str!("../../templates/rust_prod.template"),
CodegenMode::Test => include_str!("../templates/rust_test.template"), CodegenMode::Test => include_str!("../../templates/rust_test.template"),
CodegenMode::Exported => { CodegenMode::Exported => {
todo!("exported mode not yet supported for rust, see b/313894653.") 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::io::Read;
use std::path::PathBuf; use std::path::PathBuf;
use crate::codegen_cpp::generate_cpp_code; use crate::codegen::cpp::generate_cpp_code;
use crate::codegen_java::generate_java_code; use crate::codegen::java::generate_java_code;
use crate::codegen_rust::generate_rust_code; use crate::codegen::rust::generate_rust_code;
use crate::protos::{ use crate::protos::{
ProtoFlagMetadata, ProtoFlagPermission, ProtoFlagState, ProtoParsedFlag, ProtoParsedFlags, ProtoFlagMetadata, ProtoFlagPermission, ProtoFlagState, ProtoParsedFlag, ProtoParsedFlags,
ProtoTracepoint, ProtoTracepoint,

View File

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