diff options
author | 2024-11-08 03:10:02 +0000 | |
---|---|---|
committer | 2024-11-08 03:10:02 +0000 | |
commit | 4cb159b94e0183398a2adf1354ede864e5beabe8 (patch) | |
tree | 3ca1b8295cc973a3313162662c6254edc78a3380 | |
parent | c39420e02fcdc072e69ae664bd3e95e065b1a0b3 (diff) | |
parent | fe039e1f76d86a42374882fa96a40e117d472d08 (diff) |
Merge "Pipe system feature build flags into codegen" into main am: fe039e1f76
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/3319580
Change-Id: I6b1a5e9395c9b410afdcc37b72f8fa58d93a5e57
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r-- | core/java/Android.bp | 25 | ||||
-rw-r--r-- | tools/systemfeatures/src/com/android/systemfeatures/SystemFeaturesGenerator.kt | 2 |
2 files changed, 21 insertions, 6 deletions
diff --git a/core/java/Android.bp b/core/java/Android.bp index 7e8a3091ff2a..3f6e65b95c93 100644 --- a/core/java/Android.bp +++ b/core/java/Android.bp @@ -649,16 +649,31 @@ gen_readonly_feature_apis = select(release_flag("RELEASE_USE_SYSTEM_FEATURE_BUIL // 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 { 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 + - // For now, only export "android.hardware.type.*" system features APIs. - // TODO(b/203143243): Use an intermediate soong var that aggregates all declared - // RELEASE_SYSTEM_FEATURE_* declarations into a single arg. - " --feature-apis=AUTOMOTIVE,WATCH,TELEVISION,EMBEDDED,PC" + - " > $(out)", + " --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", ], diff --git a/tools/systemfeatures/src/com/android/systemfeatures/SystemFeaturesGenerator.kt b/tools/systemfeatures/src/com/android/systemfeatures/SystemFeaturesGenerator.kt index 1abe77fd3ceb..f260e2733843 100644 --- a/tools/systemfeatures/src/com/android/systemfeatures/SystemFeaturesGenerator.kt +++ b/tools/systemfeatures/src/com/android/systemfeatures/SystemFeaturesGenerator.kt @@ -188,7 +188,7 @@ object SystemFeaturesGenerator { ?: throw IllegalArgumentException( "Invalid feature version input for $name: ${featureArgs[1]}" ) - FeatureInfo(name, featureArgs[1].toInt(), readonly = true) + FeatureInfo(name, featureVersion, readonly = true) } } } |