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
diff --git a/tools/aconfig/src/codegen_cpp.rs b/tools/aconfig/src/codegen/cpp.rs
similarity index 98%
rename from tools/aconfig/src/codegen_cpp.rs
rename to tools/aconfig/src/codegen/cpp.rs
index c536260..6e3ac7b 100644
--- a/tools/aconfig/src/codegen_cpp.rs
+++ b/tools/aconfig/src/codegen/cpp.rs
@@ -56,12 +56,12 @@
     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: "",
         },
     ];
diff --git a/tools/aconfig/src/codegen_java.rs b/tools/aconfig/src/codegen/java.rs
similarity index 98%
rename from tools/aconfig/src/codegen_java.rs
rename to tools/aconfig/src/codegen/java.rs
index b3e5e6c..47ab1ec 100644
--- a/tools/aconfig/src/codegen_java.rs
+++ b/tools/aconfig/src/codegen/java.rs
@@ -50,18 +50,18 @@
         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();
diff --git a/tools/aconfig/src/codegen.rs b/tools/aconfig/src/codegen/mod.rs
similarity index 98%
rename from tools/aconfig/src/codegen.rs
rename to tools/aconfig/src/codegen/mod.rs
index fef7a3f..abc27c6 100644
--- a/tools/aconfig/src/codegen.rs
+++ b/tools/aconfig/src/codegen/mod.rs
@@ -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 {
diff --git a/tools/aconfig/src/codegen_rust.rs b/tools/aconfig/src/codegen/rust.rs
similarity index 98%
rename from tools/aconfig/src/codegen_rust.rs
rename to tools/aconfig/src/codegen/rust.rs
index 502cec8..a573793 100644
--- a/tools/aconfig/src/codegen_rust.rs
+++ b/tools/aconfig/src/codegen/rust.rs
@@ -43,8 +43,8 @@
     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.")
             }
diff --git a/tools/aconfig/src/commands.rs b/tools/aconfig/src/commands.rs
index 39e0154..45d67f0 100644
--- a/tools/aconfig/src/commands.rs
+++ b/tools/aconfig/src/commands.rs
@@ -20,9 +20,9 @@
 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,
diff --git a/tools/aconfig/src/main.rs b/tools/aconfig/src/main.rs
index 90464c5..6872809 100644
--- a/tools/aconfig/src/main.rs
+++ b/tools/aconfig/src/main.rs
@@ -25,9 +25,6 @@
 use std::path::{Path, PathBuf};
 
 mod codegen;
-mod codegen_cpp;
-mod codegen_java;
-mod codegen_rust;
 mod commands;
 mod protos;