From 9ce4d21156aa511d6e6707671de4075293dfc2ab Mon Sep 17 00:00:00 2001 From: Jared Duke Date: Wed, 13 Nov 2024 00:49:00 +0000 Subject: Use new java_system_features_srcs rule in framework Adopt the new soong rule for system feature codegen. This is an effective no-op in terms of generated code or framework impact, but should improve maintainability. Test: m Bug: 203143243 Change-Id: Ic9e399c609d98b3c4129e013b1cd50d97af632b7 --- core/java/Android.bp | 41 +++-------------------------------------- 1 file changed, 3 insertions(+), 38 deletions(-) diff --git a/core/java/Android.bp b/core/java/Android.bp index 3f6e65b95c93..22566b75c987 100644 --- a/core/java/Android.bp +++ b/core/java/Android.bp @@ -639,43 +639,8 @@ java_library { // protolog end -// Whether to enable read-only system feature codegen. -gen_readonly_feature_apis = select(release_flag("RELEASE_USE_SYSTEM_FEATURE_BUILD_FLAGS"), { - true: "true", - false: "false", - default: "false", -}) - -// Generates com.android.internal.pm.RoSystemFeatures, optionally compiling in -// details about fixed system features defined by build flags. When disabled, -// the APIs are simply passthrough stubs with no meaningful side effects. -// TODO(b/203143243): Implement the `--feature=` aggregation directly with a native soong module. -genrule { +java_system_features_srcs { name: "systemfeatures-gen-srcs", - cmd: "$(location systemfeatures-gen-tool) com.android.internal.pm.RoSystemFeatures " + - // --readonly=false (default) makes the codegen an effective no-op passthrough API. - " --readonly=" + gen_readonly_feature_apis + - " --feature=AUTOMOTIVE:" + select(release_flag("RELEASE_SYSTEM_FEATURE_AUTOMOTIVE"), { - any @ value: value, - default: "", - }) + " --feature=EMBEDDED:" + select(release_flag("RELEASE_SYSTEM_FEATURE_EMBEDDED"), { - any @ value: value, - default: "", - }) + " --feature=LEANBACK:" + select(release_flag("RELEASE_SYSTEM_FEATURE_LEANBACK"), { - any @ value: value, - default: "", - }) + " --feature=PC:" + select(release_flag("RELEASE_SYSTEM_FEATURE_PC"), { - any @ value: value, - default: "", - }) + " --feature=TELEVISION:" + select(release_flag("RELEASE_SYSTEM_FEATURE_TELEVISION"), { - any @ value: value, - default: "", - }) + " --feature=WATCH:" + select(release_flag("RELEASE_SYSTEM_FEATURE_WATCH"), { - any @ value: value, - default: "", - }) + " > $(out)", - out: [ - "RoSystemFeatures.java", - ], - tools: ["systemfeatures-gen-tool"], + full_class_name: "com.android.internal.pm.RoSystemFeatures", + visibility: ["//visibility:private"], } -- cgit v1.2.3-59-g8ed1b