| // Copyright (C) 2024 The Android Open Source Project |
| // |
| // Licensed under the Apache License, Version 2.0 (the "License"); |
| // you may not use this file except in compliance with the License. |
| // You may obtain a copy of the License at |
| // |
| // http://www.apache.org/licenses/LICENSE-2.0 |
| // |
| // Unless required by applicable law or agreed to in writing, software |
| // distributed under the License is distributed on an "AS IS" BASIS, |
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| // See the License for the specific language governing permissions and |
| // limitations under the License. |
| |
| package { |
| default_applicable_licenses: [ |
| "Android-Apache-2.0", |
| "system_sepolicy_license", |
| ], |
| } |
| |
| ////////////////////////////////// |
| // Tests for Treble compatibility of current platform policy and vendor policy of |
| // given release version. |
| ////////////////////////////////// |
| java_genrule { |
| name: "29.0_mapping.combined.cil", |
| srcs: [ |
| ":plat_29.0.cil", |
| ":29.0.ignore.cil", |
| ], |
| out: ["29.0_mapping.combined.cil"], |
| cmd: "cat $(location :plat_29.0.cil) $(location :29.0.ignore.cil) > $(out)", |
| } |
| |
| java_genrule { |
| name: "treble_sepolicy_tests_29.0", |
| srcs: [ |
| ":29.0_plat_policy.cil", |
| ":29.0_mapping.combined.cil", |
| ":29.0_plat_pub_policy.cil", |
| ], |
| tools: ["treble_sepolicy_tests"], |
| out: ["treble_sepolicy_tests_29.0"], |
| cmd: "$(location treble_sepolicy_tests) " + |
| "-b $(location :29.0_plat_pub_policy.cil) " + |
| "-m $(location :29.0_mapping.combined.cil) " + |
| "-o $(location :29.0_plat_policy.cil) && " + |
| "touch $(out)", |
| } |
| |
| java_genrule { |
| name: "30.0_mapping.combined.cil", |
| srcs: [ |
| ":plat_30.0.cil", |
| ":30.0.ignore.cil", |
| ] + select(soong_config_variable("ANDROID", "HAS_BOARD_SYSTEM_EXT_PREBUILT_DIR"), { |
| true: [ |
| ":system_ext_30.0.cil", |
| ":system_ext_30.0.ignore.cil", |
| ], |
| default: [], |
| }) + select(soong_config_variable("ANDROID", "HAS_BOARD_PRODUCT_PREBUILT_DIR"), { |
| true: [ |
| ":product_30.0.cil", |
| ":product_30.0.ignore.cil", |
| ], |
| default: [], |
| }), |
| out: ["30.0_mapping.combined.cil"], |
| cmd: "cat $(location :plat_30.0.cil) " + |
| "$(location :30.0.ignore.cil) " + |
| select(soong_config_variable("ANDROID", "HAS_BOARD_SYSTEM_EXT_PREBUILT_DIR"), { |
| true: "$(location :system_ext_30.0.cil) " + |
| "$(location :system_ext_30.0.ignore.cil) ", |
| default: "", |
| }) + |
| select(soong_config_variable("ANDROID", "HAS_BOARD_PRODUCT_PREBUILT_DIR"), { |
| true: "$(location :product_30.0.cil) " + |
| "$(location :product_30.0.ignore.cil) ", |
| default: "", |
| }) + |
| "> $(out)", |
| } |
| |
| java_genrule { |
| name: "treble_sepolicy_tests_30.0", |
| srcs: [ |
| ":30.0_plat_policy.cil", |
| ":30.0_mapping.combined.cil", |
| ] + select(( |
| soong_config_variable("ANDROID", "HAS_BOARD_SYSTEM_EXT_PREBUILT_DIR"), |
| soong_config_variable("ANDROID", "HAS_BOARD_PRODUCT_PREBUILT_DIR"), |
| ), { |
| (false, false): [":30.0_plat_pub_policy.cil"], |
| (default, default): [":30.0_product_pub_policy.cil"], |
| }), |
| tools: ["treble_sepolicy_tests"], |
| out: ["treble_sepolicy_tests_30.0"], |
| cmd: select(( |
| soong_config_variable("ANDROID", "HAS_BOARD_SYSTEM_EXT_PREBUILT_DIR"), |
| soong_config_variable("ANDROID", "HAS_BOARD_PRODUCT_PREBUILT_DIR"), |
| ), { |
| (false, false): "$(location treble_sepolicy_tests) " + |
| "-b $(location :30.0_plat_pub_policy.cil) " + |
| "-m $(location :30.0_mapping.combined.cil) " + |
| "-o $(location :30.0_plat_policy.cil) && " + |
| "touch $(out)", |
| (default, default): "$(location treble_sepolicy_tests) " + |
| "-b $(location :30.0_product_pub_policy.cil) " + |
| "-m $(location :30.0_mapping.combined.cil) " + |
| "-o $(location :30.0_plat_policy.cil) && " + |
| "touch $(out)", |
| }), |
| } |
| |
| java_genrule { |
| name: "31.0_mapping.combined.cil", |
| srcs: [ |
| ":plat_31.0.cil", |
| ":31.0.ignore.cil", |
| ] + select(soong_config_variable("ANDROID", "HAS_BOARD_SYSTEM_EXT_PREBUILT_DIR"), { |
| true: [ |
| ":system_ext_31.0.cil", |
| ":system_ext_31.0.ignore.cil", |
| ], |
| default: [], |
| }) + select(soong_config_variable("ANDROID", "HAS_BOARD_PRODUCT_PREBUILT_DIR"), { |
| true: [ |
| ":product_31.0.cil", |
| ":product_31.0.ignore.cil", |
| ], |
| default: [], |
| }), |
| out: ["31.0_mapping.combined.cil"], |
| cmd: "cat $(location :plat_31.0.cil) " + |
| "$(location :31.0.ignore.cil) " + |
| select(soong_config_variable("ANDROID", "HAS_BOARD_SYSTEM_EXT_PREBUILT_DIR"), { |
| true: "$(location :system_ext_31.0.cil) " + |
| "$(location :system_ext_31.0.ignore.cil) ", |
| default: "", |
| }) + |
| select(soong_config_variable("ANDROID", "HAS_BOARD_PRODUCT_PREBUILT_DIR"), { |
| true: "$(location :product_31.0.cil) " + |
| "$(location :product_31.0.ignore.cil) ", |
| default: "", |
| }) + |
| "> $(out)", |
| } |
| |
| java_genrule { |
| name: "treble_sepolicy_tests_31.0", |
| srcs: [ |
| ":31.0_plat_policy.cil", |
| ":31.0_mapping.combined.cil", |
| ] + select(( |
| soong_config_variable("ANDROID", "HAS_BOARD_SYSTEM_EXT_PREBUILT_DIR"), |
| soong_config_variable("ANDROID", "HAS_BOARD_PRODUCT_PREBUILT_DIR"), |
| ), { |
| (false, false): [":31.0_plat_pub_policy.cil"], |
| (default, default): [":31.0_product_pub_policy.cil"], |
| }), |
| tools: ["treble_sepolicy_tests"], |
| out: ["treble_sepolicy_tests_31.0"], |
| cmd: select(( |
| soong_config_variable("ANDROID", "HAS_BOARD_SYSTEM_EXT_PREBUILT_DIR"), |
| soong_config_variable("ANDROID", "HAS_BOARD_PRODUCT_PREBUILT_DIR"), |
| ), { |
| (false, false): "$(location treble_sepolicy_tests) " + |
| "-b $(location :31.0_plat_pub_policy.cil) " + |
| "-m $(location :31.0_mapping.combined.cil) " + |
| "-o $(location :31.0_plat_policy.cil) && " + |
| "touch $(out)", |
| (default, default): "$(location treble_sepolicy_tests) " + |
| "-b $(location :31.0_product_pub_policy.cil) " + |
| "-m $(location :31.0_mapping.combined.cil) " + |
| "-o $(location :31.0_plat_policy.cil) && " + |
| "touch $(out)", |
| }), |
| } |
| |
| java_genrule { |
| name: "32.0_mapping.combined.cil", |
| srcs: [ |
| ":plat_32.0.cil", |
| ":32.0.ignore.cil", |
| ] + select(soong_config_variable("ANDROID", "HAS_BOARD_SYSTEM_EXT_PREBUILT_DIR"), { |
| true: [ |
| ":system_ext_32.0.cil", |
| ":system_ext_32.0.ignore.cil", |
| ], |
| default: [], |
| }) + select(soong_config_variable("ANDROID", "HAS_BOARD_PRODUCT_PREBUILT_DIR"), { |
| true: [ |
| ":product_32.0.cil", |
| ":product_32.0.ignore.cil", |
| ], |
| default: [], |
| }), |
| out: ["32.0_mapping.combined.cil"], |
| cmd: "cat $(location :plat_32.0.cil) " + |
| "$(location :32.0.ignore.cil) " + |
| select(soong_config_variable("ANDROID", "HAS_BOARD_SYSTEM_EXT_PREBUILT_DIR"), { |
| true: "$(location :system_ext_32.0.cil) " + |
| "$(location :system_ext_32.0.ignore.cil) ", |
| default: "", |
| }) + |
| select(soong_config_variable("ANDROID", "HAS_BOARD_PRODUCT_PREBUILT_DIR"), { |
| true: "$(location :product_32.0.cil) " + |
| "$(location :product_32.0.ignore.cil) ", |
| default: "", |
| }) + |
| "> $(out)", |
| } |
| |
| java_genrule { |
| name: "treble_sepolicy_tests_32.0", |
| srcs: [ |
| ":32.0_plat_policy.cil", |
| ":32.0_mapping.combined.cil", |
| ] + select(( |
| soong_config_variable("ANDROID", "HAS_BOARD_SYSTEM_EXT_PREBUILT_DIR"), |
| soong_config_variable("ANDROID", "HAS_BOARD_PRODUCT_PREBUILT_DIR"), |
| ), { |
| (false, false): [":32.0_plat_pub_policy.cil"], |
| (default, default): [":32.0_product_pub_policy.cil"], |
| }), |
| tools: ["treble_sepolicy_tests"], |
| out: ["treble_sepolicy_tests_32.0"], |
| cmd: select(( |
| soong_config_variable("ANDROID", "HAS_BOARD_SYSTEM_EXT_PREBUILT_DIR"), |
| soong_config_variable("ANDROID", "HAS_BOARD_PRODUCT_PREBUILT_DIR"), |
| ), { |
| (false, false): "$(location treble_sepolicy_tests) " + |
| "-b $(location :32.0_plat_pub_policy.cil) " + |
| "-m $(location :32.0_mapping.combined.cil) " + |
| "-o $(location :32.0_plat_policy.cil) && " + |
| "touch $(out)", |
| (default, default): "$(location treble_sepolicy_tests) " + |
| "-b $(location :32.0_product_pub_policy.cil) " + |
| "-m $(location :32.0_mapping.combined.cil) " + |
| "-o $(location :32.0_plat_policy.cil) && " + |
| "touch $(out)", |
| }), |
| } |
| |
| java_genrule { |
| name: "33.0_mapping.combined.cil", |
| srcs: [ |
| ":plat_33.0.cil", |
| ":33.0.ignore.cil", |
| ] + select(soong_config_variable("ANDROID", "HAS_BOARD_SYSTEM_EXT_PREBUILT_DIR"), { |
| true: [ |
| ":system_ext_33.0.cil", |
| ":system_ext_33.0.ignore.cil", |
| ], |
| default: [], |
| }) + select(soong_config_variable("ANDROID", "HAS_BOARD_PRODUCT_PREBUILT_DIR"), { |
| true: [ |
| ":product_33.0.cil", |
| ":product_33.0.ignore.cil", |
| ], |
| default: [], |
| }), |
| out: ["33.0_mapping.combined.cil"], |
| cmd: "cat $(location :plat_33.0.cil) " + |
| "$(location :33.0.ignore.cil) " + |
| select(soong_config_variable("ANDROID", "HAS_BOARD_SYSTEM_EXT_PREBUILT_DIR"), { |
| true: "$(location :system_ext_33.0.cil) " + |
| "$(location :system_ext_33.0.ignore.cil) ", |
| default: "", |
| }) + |
| select(soong_config_variable("ANDROID", "HAS_BOARD_PRODUCT_PREBUILT_DIR"), { |
| true: "$(location :product_33.0.cil) " + |
| "$(location :product_33.0.ignore.cil) ", |
| default: "", |
| }) + |
| "> $(out)", |
| } |
| |
| java_genrule { |
| name: "treble_sepolicy_tests_33.0", |
| srcs: [ |
| ":33.0_plat_policy.cil", |
| ":33.0_mapping.combined.cil", |
| ] + select(( |
| soong_config_variable("ANDROID", "HAS_BOARD_SYSTEM_EXT_PREBUILT_DIR"), |
| soong_config_variable("ANDROID", "HAS_BOARD_PRODUCT_PREBUILT_DIR"), |
| ), { |
| (false, false): [":33.0_plat_pub_policy.cil"], |
| (default, default): [":33.0_product_pub_policy.cil"], |
| }), |
| tools: ["treble_sepolicy_tests"], |
| out: ["treble_sepolicy_tests_33.0"], |
| cmd: select(( |
| soong_config_variable("ANDROID", "HAS_BOARD_SYSTEM_EXT_PREBUILT_DIR"), |
| soong_config_variable("ANDROID", "HAS_BOARD_PRODUCT_PREBUILT_DIR"), |
| ), { |
| (false, false): "$(location treble_sepolicy_tests) " + |
| "-b $(location :33.0_plat_pub_policy.cil) " + |
| "-m $(location :33.0_mapping.combined.cil) " + |
| "-o $(location :33.0_plat_policy.cil) && " + |
| "touch $(out)", |
| (default, default): "$(location treble_sepolicy_tests) " + |
| "-b $(location :33.0_product_pub_policy.cil) " + |
| "-m $(location :33.0_mapping.combined.cil) " + |
| "-o $(location :33.0_plat_policy.cil) && " + |
| "touch $(out)", |
| }), |
| } |
| |
| java_genrule { |
| name: "34.0_mapping.combined.cil", |
| srcs: [ |
| ":plat_34.0.cil", |
| ":34.0.ignore.cil", |
| ] + select(soong_config_variable("ANDROID", "HAS_BOARD_SYSTEM_EXT_PREBUILT_DIR"), { |
| true: [ |
| ":system_ext_34.0.cil", |
| ":system_ext_34.0.ignore.cil", |
| ], |
| default: [], |
| }) + select(soong_config_variable("ANDROID", "HAS_BOARD_PRODUCT_PREBUILT_DIR"), { |
| true: [ |
| ":product_34.0.cil", |
| ":product_34.0.ignore.cil", |
| ], |
| default: [], |
| }), |
| out: ["34.0_mapping.combined.cil"], |
| cmd: "cat $(location :plat_34.0.cil) " + |
| "$(location :34.0.ignore.cil) " + |
| select(soong_config_variable("ANDROID", "HAS_BOARD_SYSTEM_EXT_PREBUILT_DIR"), { |
| true: "$(location :system_ext_34.0.cil) " + |
| "$(location :system_ext_34.0.ignore.cil) ", |
| default: "", |
| }) + |
| select(soong_config_variable("ANDROID", "HAS_BOARD_PRODUCT_PREBUILT_DIR"), { |
| true: "$(location :product_34.0.cil) " + |
| "$(location :product_34.0.ignore.cil) ", |
| default: "", |
| }) + |
| "> $(out)", |
| } |
| |
| java_genrule { |
| name: "treble_sepolicy_tests_34.0", |
| srcs: [ |
| ":34.0_plat_policy.cil", |
| ":34.0_mapping.combined.cil", |
| ] + select(( |
| soong_config_variable("ANDROID", "HAS_BOARD_SYSTEM_EXT_PREBUILT_DIR"), |
| soong_config_variable("ANDROID", "HAS_BOARD_PRODUCT_PREBUILT_DIR"), |
| ), { |
| (false, false): [":34.0_plat_pub_policy.cil"], |
| (default, default): [":34.0_product_pub_policy.cil"], |
| }), |
| tools: ["treble_sepolicy_tests"], |
| out: ["treble_sepolicy_tests_34.0"], |
| cmd: select(( |
| soong_config_variable("ANDROID", "HAS_BOARD_SYSTEM_EXT_PREBUILT_DIR"), |
| soong_config_variable("ANDROID", "HAS_BOARD_PRODUCT_PREBUILT_DIR"), |
| ), { |
| (false, false): "$(location treble_sepolicy_tests) " + |
| "-b $(location :34.0_plat_pub_policy.cil) " + |
| "-m $(location :34.0_mapping.combined.cil) " + |
| "-o $(location :34.0_plat_policy.cil) && " + |
| "touch $(out)", |
| (default, default): "$(location treble_sepolicy_tests) " + |
| "-b $(location :34.0_product_pub_policy.cil) " + |
| "-m $(location :34.0_mapping.combined.cil) " + |
| "-o $(location :34.0_plat_policy.cil) && " + |
| "touch $(out)", |
| }), |
| } |
| |
| java_genrule { |
| name: "202404_mapping.combined.cil", |
| srcs: select(soong_config_variable("ANDROID", "PLATFORM_SEPOLICY_VERSION"), { |
| "202404": [ |
| ], |
| default: [ |
| ":plat_202404.cil", |
| ":202404.ignore.cil", |
| ], |
| }) + select(( |
| soong_config_variable("ANDROID", "PLATFORM_SEPOLICY_VERSION"), |
| soong_config_variable("ANDROID", "HAS_BOARD_SYSTEM_EXT_PREBUILT_DIR"), |
| ), { |
| ("202404", true): [], |
| ("202404", default): [], |
| (default, true): [ |
| ":system_ext_202404.cil", |
| ":system_ext_202404.ignore.cil", |
| ], |
| (default, default): [], |
| }) + select(( |
| soong_config_variable("ANDROID", "PLATFORM_SEPOLICY_VERSION"), |
| soong_config_variable("ANDROID", "HAS_BOARD_PRODUCT_PREBUILT_DIR"), |
| ), { |
| ("202404", true): [], |
| ("202404", default): [], |
| (default, true): [ |
| ":product_202404.cil", |
| ":product_202404.ignore.cil", |
| ], |
| (default, default): [], |
| }), |
| out: ["202404_mapping.combined.cil"], |
| cmd: select(soong_config_variable("ANDROID", "PLATFORM_SEPOLICY_VERSION"), { |
| "202404": "touch $(out)", |
| default: "cat $(in) > $(out)", |
| }), |
| } |
| |
| java_genrule { |
| name: "treble_sepolicy_tests_202404", |
| srcs: [ |
| ":202404_plat_policy.cil", |
| ":202404_mapping.combined.cil", |
| ] + select(( |
| soong_config_variable("ANDROID", "HAS_BOARD_SYSTEM_EXT_PREBUILT_DIR"), |
| soong_config_variable("ANDROID", "HAS_BOARD_PRODUCT_PREBUILT_DIR"), |
| ), { |
| (false, false): [":202404_plat_pub_policy.cil"], |
| (default, default): [":202404_product_pub_policy.cil"], |
| }), |
| tools: ["treble_sepolicy_tests"], |
| out: ["treble_sepolicy_tests_202404"], |
| cmd: select(( |
| soong_config_variable("ANDROID", "PLATFORM_SEPOLICY_VERSION"), |
| soong_config_variable("ANDROID", "HAS_BOARD_SYSTEM_EXT_PREBUILT_DIR"), |
| soong_config_variable("ANDROID", "HAS_BOARD_PRODUCT_PREBUILT_DIR"), |
| ), { |
| ("202404", false, false): "touch $(out)", |
| ("202404", default, default): "touch $(out)", |
| (default, false, false): "$(location treble_sepolicy_tests) " + |
| "-b $(location :202404_plat_pub_policy.cil) " + |
| "-m $(location :202404_mapping.combined.cil) " + |
| "-o $(location :202404_plat_policy.cil) && " + |
| "touch $(out)", |
| (default, default, default): "$(location treble_sepolicy_tests) " + |
| "-b $(location :202404_product_pub_policy.cil) " + |
| "-m $(location :202404_mapping.combined.cil) " + |
| "-o $(location :202404_plat_policy.cil) && " + |
| "touch $(out)", |
| }), |
| } |