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

Commit cf9a7520 authored by Dennis Shen's avatar Dennis Shen
Browse files

aconfig: create aconfig_storage_file crate

Move aconfig storage file definition into its own crate, as flag read
lib will need it as well. The new crate is placed under
aconfig_storage_file dir.

Bug: b/321077378
Test: atest aconfig.test, Cargo test at repo root level
Change-Id: I91e8ada2c9bab479ed81cf03824042f3fa460be5
parent a718299b
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -3,5 +3,6 @@
members = [
    "aconfig",
    "aconfig_protos",
    "aconfig_storage_file",
    "printflags"
]
+1 −0
Original line number Diff line number Diff line
@@ -10,6 +10,7 @@ rust_defaults {
    srcs: ["src/main.rs"],
    rustlibs: [
        "libaconfig_protos",
        "libaconfig_storage_file",
        "libanyhow",
        "libclap",
        "libitertools",
+1 −0
Original line number Diff line number Diff line
@@ -16,3 +16,4 @@ serde = { version = "1.0.152", features = ["derive"] }
serde_json = "1.0.93"
tinytemplate = "1.2.1"
aconfig_protos = { path = "../aconfig_protos" }
aconfig_storage_file = { path = "../aconfig_storage_file" }
+1 −1
Original line number Diff line number Diff line
@@ -18,9 +18,9 @@ pub mod cpp;
pub mod java;
pub mod rust;

use aconfig_protos::{is_valid_name_ident, is_valid_package_ident};
use anyhow::{ensure, Result};
use clap::ValueEnum;
use aconfig_protos::{is_valid_name_ident, is_valid_package_ident};

pub fn create_device_config_ident(package: &str, flag_name: &str) -> Result<String> {
    ensure!(is_valid_package_ident(package), "bad package");
+7 −3
Original line number Diff line number Diff line
@@ -26,12 +26,12 @@ 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::storage::generate_storage_file;
use aconfig_protos::{
    ParsedFlagExt, ProtoFlagMetadata, ProtoFlagPermission, ProtoFlagState, ProtoParsedFlag,
    ProtoParsedFlags, ProtoTracepoint,
};
use crate::storage::generate_storage_file;
use crate::storage::StorageFileSelection;
use aconfig_storage_file::StorageFileSelection;

pub struct Input {
    pub source: String,
@@ -224,7 +224,11 @@ pub fn create_rust_lib(mut input: Input, codegen_mode: CodegenMode) -> Result<Ou
    generate_rust_code(&package, modified_parsed_flags.into_iter(), codegen_mode)
}

pub fn create_storage(caches: Vec<Input>, container: &str, file: &StorageFileSelection) -> Result<Vec<u8>> {
pub fn create_storage(
    caches: Vec<Input>,
    container: &str,
    file: &StorageFileSelection,
) -> Result<Vec<u8>> {
    let parsed_flags_vec: Vec<ProtoParsedFlags> = caches
        .into_iter()
        .map(|mut input| input.try_parse_flags())
Loading