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:
@@ -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: "",
|
||||||
},
|
},
|
||||||
];
|
];
|
@@ -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();
|
@@ -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 {
|
@@ -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.")
|
||||||
}
|
}
|
@@ -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,
|
||||||
|
@@ -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;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user