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

Commit 8351b782 authored by Zhi Dou's avatar Zhi Dou Committed by Gerrit Code Review
Browse files

Merge "aconfig: move CodegenMode to codegen crate" into main

parents 4575b273 dcfa0400
Loading
Loading
Loading
Loading
+2 −1
Original line number Original line Diff line number Diff line
@@ -20,7 +20,8 @@ use std::path::PathBuf;
use tinytemplate::TinyTemplate;
use tinytemplate::TinyTemplate;


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


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


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


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


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


pub fn is_valid_name_ident(s: &str) -> bool {
pub fn is_valid_name_ident(s: &str) -> bool {
    // Identifiers must match [a-z][a-z0-9_]*, except consecutive underscores are not allowed
    // 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))
    Ok(format!("{}.{}", package, flag_name))
}
}


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

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


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


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


use anyhow::{bail, ensure, Context, Result};
use anyhow::{bail, ensure, Context, Result};
use clap::ValueEnum;
use protobuf::Message;
use protobuf::Message;
use std::io::Read;
use std::io::Read;
use std::path::PathBuf;
use std::path::PathBuf;
@@ -23,6 +22,7 @@ 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::codegen::CodegenMode;
use crate::dump::{DumpFormat, DumpPredicate};
use crate::dump::{DumpFormat, DumpPredicate};
use crate::protos::{
use crate::protos::{
    ParsedFlagExt, ProtoFlagMetadata, ProtoFlagPermission, ProtoFlagState, ProtoParsedFlag,
    ParsedFlagExt, ProtoFlagMetadata, ProtoFlagPermission, ProtoFlagState, ProtoParsedFlag,
@@ -188,13 +188,6 @@ pub fn parse_flags(
    Ok(output)
    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>> {
pub fn create_java_lib(mut input: Input, codegen_mode: CodegenMode) -> Result<Vec<OutputFile>> {
    let parsed_flags = input.try_parse_flags()?;
    let parsed_flags = input.try_parse_flags()?;
    let filtered_parsed_flags = filter_parsed_flags(parsed_flags, codegen_mode);
    let filtered_parsed_flags = filter_parsed_flags(parsed_flags, codegen_mode);
Loading