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

Commit 9f34a481 authored by Dennis Shen's avatar Dennis Shen Committed by Gerrit Code Review
Browse files

Merge "Restructure aconfig repo to be a cargo workspace with many crates" into main

parents 34a9a0e8 277e5dc3
Loading
Loading
Loading
Loading
+6 −21
Original line number Diff line number Diff line
[package]
name = "aconfig"
version = "0.1.0"
edition = "2021"
build = "build.rs"
[workspace]

[features]
default = ["cargo"]
cargo = []

[dependencies]
anyhow = "1.0.69"
clap = { version = "4.1.8", features = ["derive"] }
itertools = "0.10.5"
paste = "1.0.11"
protobuf = "3.2.0"
serde = { version = "1.0.152", features = ["derive"] }
serde_json = "1.0.93"
tinytemplate = "1.2.1"

[build-dependencies]
protobuf-codegen = "3.2.0"
members = [
    "aconfig",
    "aconfig_protos",
    "printflags"
]
+0 −48
Original line number Diff line number Diff line
@@ -2,51 +2,6 @@ package {
    default_applicable_licenses: ["Android-Apache-2.0"],
}

// proto libraries for consumers of `aconfig dump --format=protobuf` output

java_library {
    name: "libaconfig_java_proto_lite",
    host_supported: true,
    srcs: ["protos/aconfig.proto"],
    static_libs: ["libprotobuf-java-lite"],
    proto: {
        type: "lite",
    },
    sdk_version: "current",
    min_sdk_version: "UpsideDownCake",
    apex_available: [
        "com.android.configinfrastructure",
        "//apex_available:platform",
    ]
}

java_library_host {
    name: "libaconfig_java_proto_full",
    srcs: ["protos/aconfig.proto"],
    static_libs: ["libprotobuf-java-full"],
    proto: {
        type: "full",
    },
}

python_library_host {
    name: "libaconfig_python_proto",
    srcs: ["protos/aconfig.proto"],
    proto: {
        canonical_path_from_root: false,
    },
}

// host binary: aconfig

rust_protobuf {
    name: "libaconfig_protos",
    protos: ["protos/aconfig.proto"],
    crate_name: "aconfig_protos",
    source_stem: "aconfig_protos",
    host_supported: true,
}

rust_defaults {
    name: "aconfig.defaults",
    edition: "2021",
@@ -63,9 +18,6 @@ rust_defaults {
        "libserde_json",
        "libtinytemplate",
    ],
    proc_macros: [
        "libpaste",
    ]
}

rust_binary_host {
+18 −0
Original line number Diff line number Diff line
[package]
name = "aconfig"
version = "0.1.0"
edition = "2021"

[features]
default = ["cargo"]
cargo = []

[dependencies]
anyhow = "1.0.69"
clap = { version = "4.1.8", features = ["derive"] }
itertools = "0.10.5"
protobuf = "3.2.0"
serde = { version = "1.0.152", features = ["derive"] }
serde_json = "1.0.93"
tinytemplate = "1.2.1"
aconfig_protos = { path = "../aconfig_protos" }
+3 −2
Original line number Diff line number Diff line
@@ -19,10 +19,11 @@ use serde::Serialize;
use std::path::PathBuf;
use tinytemplate::TinyTemplate;

use aconfig_protos::{ProtoFlagPermission, ProtoFlagState, ProtoParsedFlag};

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

pub fn generate_cpp_code<I>(
    package: &str,
@@ -136,7 +137,7 @@ fn create_class_element(package: &str, pf: &ProtoParsedFlag, rw_count: &mut i32)
#[cfg(test)]
mod tests {
    use super::*;
    use crate::protos::ProtoParsedFlags;
    use aconfig_protos::ProtoParsedFlags;
    use std::collections::HashMap;

    const EXPORTED_PROD_HEADER_EXPECTED: &str = r#"
+2 −1
Original line number Diff line number Diff line
@@ -20,10 +20,11 @@ use std::collections::{BTreeMap, BTreeSet};
use std::path::PathBuf;
use tinytemplate::TinyTemplate;

use aconfig_protos::{ProtoFlagPermission, ProtoFlagState, ProtoParsedFlag};

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

pub fn generate_java_code<I>(
    package: &str,
Loading