diff options
Diffstat (limited to 'data/RULES')
-rw-r--r-- | data/RULES | 138 |
1 files changed, 0 insertions, 138 deletions
diff --git a/data/RULES b/data/RULES deleted file mode 100644 index 49bc1f0..0000000 --- a/data/RULES +++ /dev/null @@ -1,138 +0,0 @@ -{ "staged": - { "doc": ["Stage data to a logical subdirectory."] - , "target_fields": ["srcs", "deps"] - , "string_fields": ["stage", "drop"] - , "field_doc": - { "srcs": ["The files to be staged"] - , "stage": - [ "The logical directory to stage the files to." - , "Individual directory components are joined with \"/\"." - ] - , "deps": - [ "Targets of with their runfiles should be added as well." - , "Their staging is not changed." - ] - , "drop": - [ "List of paths to drop from (each of) the \"srcs\" targets" - , "before joining and staging. In this way, GLOB constructs can" - , "be used is \"srcs\"." - ] - } - , "artifacts_doc": - [ "The runfiles and artifacts of the \"srcs\" targets, leaving out" - , "the ones with logical path in \"drop\", staged to the directory" - , "specified in \"stage\" together the runfiles of the targets" - , "specified in the field \"deps\" (in their original location)." - ] - , "runfiles_doc": ["Same as artifacts"] - , "imports": - { "runfiles": ["./", "..", "field_runfiles"] - , "artifacts": ["./", "..", "field_artifacts"] - , "runfiles w/o": "field_runfiles_without" - , "artifacts w/o": "field_artifacts_without" - } - , "expression": - { "type": "let*" - , "bindings": - [ [ "stage" - , { "type": "join" - , "separator": "/" - , "$1": {"type": "FIELD", "name": "stage"} - } - ] - , [ "exclude" - , { "type": "map_union" - , "$1": - { "type": "foreach" - , "range": {"type": "FIELD", "name": "drop"} - , "body": - { "type": "singleton_map" - , "key": {"type": "var", "name": "_"} - , "value": true - } - } - } - ] - , [ "srcs" - , { "type": "let*" - , "bindings": [["fieldname", "srcs"]] - , "body": - { "type": "map_union" - , "$1": - { "type": "if" - , "cond": {"type": "var", "name": "exclude"} - , "then": - [ {"type": "CALL_EXPRESSION", "name": "runfiles w/o"} - , {"type": "CALL_EXPRESSION", "name": "artifacts w/o"} - ] - , "else": - [ {"type": "CALL_EXPRESSION", "name": "runfiles"} - , {"type": "CALL_EXPRESSION", "name": "artifacts"} - ] - } - } - } - ] - , [ "staged" - , { "type": "to_subdir" - , "subdir": {"type": "var", "name": "stage"} - , "$1": {"type": "var", "name": "srcs"} - } - ] - , [ "dep stage" - , { "type": "let*" - , "bindings": [["fieldname", "deps"]] - , "body": {"type": "CALL_EXPRESSION", "name": "runfiles"} - } - ] - , [ "total" - , { "type": "disjoint_map_union" - , "msg": "Conflict between staged data and dependencies" - , "$1": - [ {"type": "var", "name": "dep stage"} - , {"type": "var", "name": "staged"} - ] - } - ] - ] - , "body": - { "type": "RESULT" - , "artifacts": {"type": "var", "name": "total"} - , "runfiles": {"type": "var", "name": "total"} - } - } - } -, "overlay": - { "doc": - ["Overlay the artifacts of \"deps\" targets in a latest-wins fashion."] - , "target_fields": ["deps"] - , "field_doc": {"deps": ["The targets of which to overlay the artifacts"]} - , "artifacts_doc": - [ "Artifacts of the targets specified in \"deps\". For conflicting" - , "logical paths, the artifact is taken from the latest target (in" - , "the \"deps\" field) that defines that logical path." - ] - , "runfiles_doc": ["Same as artifacts"] - , "expression": - { "type": "let*" - , "bindings": - [ [ "all" - , { "type": "map_union" - , "$1": - { "type": "foreach" - , "var": "dep" - , "range": {"type": "FIELD", "name": "deps"} - , "body": - {"type": "DEP_ARTIFACTS", "dep": {"type": "var", "name": "dep"}} - } - } - ] - ] - , "body": - { "type": "RESULT" - , "artifacts": {"type": "var", "name": "all"} - , "runfiles": {"type": "var", "name": "all"} - } - } - } -} |