diff options
author | Mårten Kongstad <amhk@google.com> | 2023-06-14 08:38:46 +0200 |
---|---|---|
committer | Mårten Kongstad <amhk@google.com> | 2023-06-15 09:28:49 +0200 |
commit | f94225266f0b6794dc39672509c4073fe5c948a6 (patch) | |
tree | a3bd50de1243fe1bc11c96c829d5314b6237060e | |
parent | 1cda03b44bb061c79d4c449a75f6d7d667d0b50e (diff) | |
download | build-f94225266f0b6794dc39672509c4073fe5c948a6.tar.gz |
aconfig: reduce number of #[cfg(feature = "cargo")] uses
Group statements with identical #[cfg(feature = "cargo")] attributes in
the same block. This reduces repetition and makes the code easier to
read and less error prone.
Bug: 284779868
Test: atest aconfig.test
Change-Id: Iebdcd20e7cd22cb641424a1af594f5c9ac57b623
-rw-r--r-- | tools/aconfig/src/protos.rs | 81 |
1 files changed, 28 insertions, 53 deletions
diff --git a/tools/aconfig/src/protos.rs b/tools/aconfig/src/protos.rs index cb756928f8..604fd35984 100644 --- a/tools/aconfig/src/protos.rs +++ b/tools/aconfig/src/protos.rs @@ -28,64 +28,39 @@ // ---- When building with the Android tool-chain ---- #[cfg(not(feature = "cargo"))] -pub use aconfig_protos::aconfig::Flag_declaration as ProtoFlagDeclaration; - -#[cfg(not(feature = "cargo"))] -pub use aconfig_protos::aconfig::Flag_declarations as ProtoFlagDeclarations; - -#[cfg(not(feature = "cargo"))] -pub use aconfig_protos::aconfig::Flag_value as ProtoFlagValue; - -#[cfg(not(feature = "cargo"))] -pub use aconfig_protos::aconfig::Flag_values as ProtoFlagValues; - -#[cfg(not(feature = "cargo"))] -pub use aconfig_protos::aconfig::Flag_permission as ProtoFlagPermission; - -#[cfg(not(feature = "cargo"))] -pub use aconfig_protos::aconfig::Flag_state as ProtoFlagState; - -#[cfg(not(feature = "cargo"))] -pub use aconfig_protos::aconfig::Parsed_flags as ProtoParsedFlags; - -#[cfg(not(feature = "cargo"))] -pub use aconfig_protos::aconfig::Parsed_flag as ProtoParsedFlag; - -#[cfg(not(feature = "cargo"))] -pub use aconfig_protos::aconfig::Tracepoint as ProtoTracepoint; +mod auto_generated { + pub use aconfig_protos::aconfig::Flag_declaration as ProtoFlagDeclaration; + pub use aconfig_protos::aconfig::Flag_declarations as ProtoFlagDeclarations; + pub use aconfig_protos::aconfig::Flag_permission as ProtoFlagPermission; + pub use aconfig_protos::aconfig::Flag_state as ProtoFlagState; + pub use aconfig_protos::aconfig::Flag_value as ProtoFlagValue; + pub use aconfig_protos::aconfig::Flag_values as ProtoFlagValues; + pub use aconfig_protos::aconfig::Parsed_flag as ProtoParsedFlag; + pub use aconfig_protos::aconfig::Parsed_flags as ProtoParsedFlags; + pub use aconfig_protos::aconfig::Tracepoint as ProtoTracepoint; +} // ---- When building with cargo ---- #[cfg(feature = "cargo")] -include!(concat!(env!("OUT_DIR"), "/aconfig_proto/mod.rs")); - -#[cfg(feature = "cargo")] -pub use aconfig::Flag_declaration as ProtoFlagDeclaration; - -#[cfg(feature = "cargo")] -pub use aconfig::Flag_declarations as ProtoFlagDeclarations; - -#[cfg(feature = "cargo")] -pub use aconfig::Flag_value as ProtoFlagValue; - -#[cfg(feature = "cargo")] -pub use aconfig::Flag_values as ProtoFlagValues; - -#[cfg(feature = "cargo")] -pub use aconfig::Flag_permission as ProtoFlagPermission; - -#[cfg(feature = "cargo")] -pub use aconfig::Flag_state as ProtoFlagState; - -#[cfg(feature = "cargo")] -pub use aconfig::Parsed_flags as ProtoParsedFlags; - -#[cfg(feature = "cargo")] -pub use aconfig::Parsed_flag as ProtoParsedFlag; - -#[cfg(feature = "cargo")] -pub use aconfig::Tracepoint as ProtoTracepoint; +mod auto_generated { + // include! statements should be avoided (because they import file contents verbatim), but + // because this is only used during local development, and only if using cargo instead of the + // Android tool-chain, we allow it + include!(concat!(env!("OUT_DIR"), "/aconfig_proto/mod.rs")); + pub use aconfig::Flag_declaration as ProtoFlagDeclaration; + pub use aconfig::Flag_declarations as ProtoFlagDeclarations; + pub use aconfig::Flag_permission as ProtoFlagPermission; + pub use aconfig::Flag_state as ProtoFlagState; + pub use aconfig::Flag_value as ProtoFlagValue; + pub use aconfig::Flag_values as ProtoFlagValues; + pub use aconfig::Parsed_flag as ProtoParsedFlag; + pub use aconfig::Parsed_flags as ProtoParsedFlags; + pub use aconfig::Tracepoint as ProtoTracepoint; +} // ---- Common for both the Android tool-chain and cargo ---- +pub use auto_generated::*; + use anyhow::Result; pub fn try_from_text_proto<T>(s: &str) -> Result<T> |