Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit dcfa0400 authored by Zhi Dou's avatar Zhi Dou
Browse files

aconfig: move CodegenMode to codegen crate

This change moves CodegenMode to codegen crate.

Bug: 311152507
Test: ateset aconfig.test
Change-Id: I4f64cdbdc3d1b419412012560bfe03344b2b8faf
parent 0f1b9da4
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -20,7 +20,8 @@ use std::path::PathBuf;
use tinytemplate::TinyTemplate;

use crate::codegen;
use crate::commands::{CodegenMode, OutputFile};
use crate::codegen::CodegenMode;
use crate::commands::OutputFile;
use crate::protos::{ProtoFlagPermission, ProtoFlagState, ProtoParsedFlag};

pub fn generate_cpp_code<I>(
+2 −1
Original line number Diff line number Diff line
@@ -21,7 +21,8 @@ use std::path::PathBuf;
use tinytemplate::TinyTemplate;

use crate::codegen;
use crate::commands::{CodegenMode, OutputFile};
use crate::codegen::CodegenMode;
use crate::commands::OutputFile;
use crate::protos::{ProtoFlagPermission, ProtoFlagState, ProtoParsedFlag};

pub fn generate_java_code<I>(
+8 −0
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ pub mod java;
pub mod rust;

use anyhow::{ensure, Result};
use clap::ValueEnum;

pub fn is_valid_name_ident(s: &str) -> bool {
    // Identifiers must match [a-z][a-z0-9_]*, except consecutive underscores are not allowed
@@ -52,6 +53,13 @@ pub fn create_device_config_ident(package: &str, flag_name: &str) -> Result<Stri
    Ok(format!("{}.{}", package, flag_name))
}

#[derive(Copy, Clone, Debug, PartialEq, Eq, ValueEnum)]
pub enum CodegenMode {
    Production,
    Test,
    Exported,
}

#[cfg(test)]
mod tests {
    use super::*;
+2 −1
Original line number Diff line number Diff line
@@ -19,7 +19,8 @@ use serde::Serialize;
use tinytemplate::TinyTemplate;

use crate::codegen;
use crate::commands::{CodegenMode, OutputFile};
use crate::codegen::CodegenMode;
use crate::commands::OutputFile;
use crate::protos::{ProtoFlagPermission, ProtoFlagState, ProtoParsedFlag};

pub fn generate_rust_code<I>(
+1 −8
Original line number Diff line number Diff line
@@ -15,7 +15,6 @@
 */

use anyhow::{bail, ensure, Context, Result};
use clap::ValueEnum;
use protobuf::Message;
use std::io::Read;
use std::path::PathBuf;
@@ -23,6 +22,7 @@ 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::CodegenMode;
use crate::dump::{DumpFormat, DumpPredicate};
use crate::protos::{
    ParsedFlagExt, ProtoFlagMetadata, ProtoFlagPermission, ProtoFlagState, ProtoParsedFlag,
@@ -188,13 +188,6 @@ pub fn parse_flags(
    Ok(output)
}

#[derive(Copy, Clone, Debug, PartialEq, Eq, ValueEnum)]
pub enum CodegenMode {
    Production,
    Test,
    Exported,
}

pub fn create_java_lib(mut input: Input, codegen_mode: CodegenMode) -> Result<Vec<OutputFile>> {
    let parsed_flags = input.try_parse_flags()?;
    let filtered_parsed_flags = filter_parsed_flags(parsed_flags, codegen_mode);
Loading