blob: 7756cbb82338e640386e1fa84dd3f3b677f5a10c [file] [log] [blame]
// 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)",
}),
}