{ "tested just": { "type": ["@", "rules", "CC", "install-with-deps"] , "skip-debug-stage": ["yes"] , "targets": [["@", "src", "", "just"]] } , "tool-under-test": { "type": "install" , "dirs": [["tested just", "."]] , "files": {"bin/tool-under-test": ["@", "src", "", "just"]} } , "tested just-mr": { "type": ["@", "rules", "CC", "install-with-deps"] , "skip-debug-stage": ["yes"] , "targets": [["@", "src", "", "just-mr"]] } , "mr-tool-under-test": { "type": "install" , "arguments_config": ["TEST_BOOTSTRAP_JUST_MR"] , "dirs": { "type": "if" , "cond": {"type": "var", "name": "TEST_BOOTSTRAP_JUST_MR"} , "then": [] , "else": [["tested just-mr", "."]] } , "files": { "bin/mr-tool-under-test": { "type": "if" , "cond": {"type": "var", "name": "TEST_BOOTSTRAP_JUST_MR"} , "then": ["@", "src", "", "bin/just-mr.py"] , "else": ["@", "src", "", "just-mr"] } } } , "catch-main": { "type": ["@", "rules", "CC", "library"] , "name": ["catch-main"] , "srcs": ["main.cpp"] , "deps": [ ["@", "catch2", "", "catch2"] , ["@", "src", "src/buildtool/file_system", "git_context"] , ["@", "src", "src/buildtool/storage", "config"] , ["@", "src", "src/buildtool/storage", "file_chunker"] , ["utils", "log_config"] , ["utils", "test_env"] ] , "stage": ["test"] } , "unit tests with compatibility (unconfigured)": { "type": ["@", "rules", "test", "suite"] , "arguments_config": ["TEST_COMPATIBLE_REMOTE"] , "stage": [ { "type": "if" , "cond": {"type": "var", "name": "TEST_COMPATIBLE_REMOTE"} , "then": "compatible" , "else": "native" } ] , "deps": [["./", "buildtool", "TESTS"]] } , "unit tests with compatibility, compatible": { "type": "configure" , "arguments_config": ["TEST_ENV"] , "tainted": ["test"] , "target": "unit tests with compatibility (unconfigured)" , "config": { "type": "`" , "$1": { "TEST_COMPATIBLE_REMOTE": true , "TEST_ENV": { "type": "," , "$1": { "type": "map_union" , "$1": [ { "type": "var" , "name": "TEST_ENV" , "default": {"type": "empty_map"} } , {"type": "'", "$1": {"COMPATIBLE": "YES"}} ] } } } } } , "unit tests with compatibility, native": { "type": "configure" , "arguments_config": ["TEST_ENV"] , "tainted": ["test"] , "target": "unit tests with compatibility (unconfigured)" , "config": { "type": "`" , "$1": { "TEST_COMPATIBLE_REMOTE": false , "TEST_ENV": { "type": "," , "$1": { "type": "map_union" , "$1": { "type": "foreach_map" , "var_key": "name" , "var_val": "value" , "range": { "type": "var" , "name": "TEST_ENV" , "default": {"type": "empty_map"} } , "body": { "type": "case" , "expr": {"type": "var", "name": "name"} , "case": {"COMPATIBLE": {"type": "empty_map"}} , "default": { "type": "singleton_map" , "key": {"type": "var", "name": "name"} , "value": {"type": "var", "name": "value"} } } } } } } } } , "unit tests with compatibility": { "type": ["@", "rules", "test", "suite"] , "stage": ["using-remote"] , "deps": [ "unit tests with compatibility, compatible" , "unit tests with compatibility, native" ] } , "TESTS": { "type": ["@", "rules", "test", "matrix"] , "arguments_config": ["DROP_LARGE_TESTS", "DROP_END_TO_END_TESTS"] , "deps": { "type": "`" , "$1": [ "unit tests with compatibility" , ["./", "utils", "TESTS"] , ["./", "other_tools", "TESTS"] , { "type": ",@" , "$1": { "type": "if" , "cond": {"type": "var", "name": "DROP_END_TO_END_TESTS"} , "then": [] , "else": [["./", "end-to-end", "TESTS"]] } } , { "type": ",@" , "$1": { "type": "if" , "cond": { "type": "or" , "$1": [ {"type": "var", "name": "DROP_END_TO_END_TESTS"} , {"type": "var", "name": "DROP_LARGE_TESTS"} ] } , "then": [] , "else": ["bootstrap-test"] } } ] } } , "ALL": { "type": "configure" , "arguments_config": ["OS", "ARCH", "HOST_ARCH", "TARGET_ARCH"] , "tainted": ["test"] , "target": "TESTS" , "config": { "type": "let*" , "bindings": [ ["OS", {"type": "var", "name": "OS", "default": "linux"}] , ["ARCH", {"type": "var", "name": "ARCH", "default": "x86_64"}] , [ "HOST_ARCH" , { "type": "var" , "name": "HOST_ARCH" , "default": {"type": "var", "name": "ARCH"} } ] , [ "TARGET_ARCH" , { "type": "var" , "name": "TARGET_ARCH" , "default": {"type": "var", "name": "ARCH"} } ] ] , "body": {"type": "env", "vars": ["OS", "ARCH", "HOST_ARCH", "TARGET_ARCH"]} } } , "UNIT_TESTS": { "type": "configure" , "tainted": ["test"] , "target": "ALL" , "config": {"type": "'", "$1": {"DROP_END_TO_END_TESTS": true}} } , "bootstrap-test": { "type": "configure" , "tainted": ["test"] , "target": ["./", "bootstrap", "TESTS"] , "arguments_config": ["TIMEOUT_SCALE"] , "config": { "type": "singleton_map" , "key": "TIMEOUT_SCALE" , "value": { "type": "*" , "$1": [40, {"type": "var", "name": "TIMEOUT_SCALE", "default": 1.0}] } } } , "test-deps-headers": { "type": ["@", "rules", "CC", "install-with-deps"] , "hdrs-only": ["yes"] , "targets": [["@", "catch2", "", "catch2"]] } , "just-ext-hdrs (unconfigured)": { "type": "install" , "dirs": [[["@", "src", "", "just-ext-hdrs"], "."], ["test-deps-headers", "."]] } , "just-ext-hdrs": { "type": "configure" , "arguments_config": ["OS", "ARCH"] , "target": "just-ext-hdrs (unconfigured)" , "config": { "type": "let*" , "bindings": [ ["OS", {"type": "var", "name": "OS", "default": "linux"}] , ["ARCH", {"type": "var", "name": "ARCH", "default": "x86_64"}] ] , "body": {"type": "env", "vars": ["OS", "ARCH"]} } } }