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

Commit 4cb159b9 authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Pipe system feature build flags into codegen" into main am: fe039e1f

parents c39420e0 fe039e1f
Loading
Loading
Loading
Loading
+20 −5
Original line number Diff line number Diff line
@@ -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",
    ],
+1 −1
Original line number Diff line number Diff line
@@ -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)
            }
        }
    }