diff options
author | Oliver Reiche <oliver.reiche@huawei.com> | 2023-08-10 11:01:49 +0200 |
---|---|---|
committer | Oliver Reiche <oliver.reiche@huawei.com> | 2023-08-16 15:30:32 +0200 |
commit | e1bfd8422b150ddf136607da15e339bf46dceda2 (patch) | |
tree | be472517c8c8ce36131870d597f4587295be5997 /rules/patch/EXPRESSIONS | |
parent | e9812e49f3e2d8f8decb26e9a33d9160d199380d (diff) | |
download | justbuild-e1bfd8422b150ddf136607da15e339bf46dceda2.tar.gz |
patch: Support defaults for patch rules
... and extend compatibility by not relying on arguments
that are only supported by GNU patch implementations.
Diffstat (limited to 'rules/patch/EXPRESSIONS')
-rw-r--r-- | rules/patch/EXPRESSIONS | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/rules/patch/EXPRESSIONS b/rules/patch/EXPRESSIONS new file mode 100644 index 00000000..7f8ce192 --- /dev/null +++ b/rules/patch/EXPRESSIONS @@ -0,0 +1,77 @@ +{ "default-PATCH": + { "vars": ["defaults-transition"] + , "imports": {"list_provider": ["./", "..", "field_list_provider"]} + , "expression": + { "type": "let*" + , "bindings": + [ ["fieldname", "patch-defaults"] + , ["provider", "PATCH"] + , ["transition", {"type": "var", "name": "defaults-transition"}] + ] + , "body": {"type": "CALL_EXPRESSION", "name": "list_provider"} + } + } +, "default-ENV": + { "vars": ["defaults-transition"] + , "imports": {"map_provider": ["./", "..", "field_map_provider"]} + , "expression": + { "type": "let*" + , "bindings": + [ ["fieldname", "patch-defaults"] + , ["provider", "ENV"] + , ["transition", {"type": "var", "name": "defaults-transition"}] + , ["default", {"type": "empty_map"}] + ] + , "body": {"type": "CALL_EXPRESSION", "name": "map_provider"} + } + } +, "default-PATH": + { "vars": ["defaults-transition"] + , "imports": {"list_provider": ["./", "..", "field_list_provider"]} + , "expression": + { "type": "let*" + , "bindings": + [ ["fieldname", "patch-defaults"] + , ["provider", "PATH"] + , ["transition", {"type": "var", "name": "defaults-transition"}] + ] + , "body": {"type": "CALL_EXPRESSION", "name": "list_provider"} + } + } +, "default-TOOLCHAIN": + { "vars": ["defaults-transition"] + , "imports": {"map_provider": ["./", "..", "field_map_provider"]} + , "expression": + { "type": "let*" + , "bindings": + [ ["fieldname", "patch-defaults"] + , ["provider", "TOOLCHAIN"] + , ["transition", {"type": "var", "name": "defaults-transition"}] + , ["default", {"type": "empty_map"}] + ] + , "body": {"type": "CALL_EXPRESSION", "name": "map_provider"} + } + } +, "default-NON_SYSTEM_TOOLS": + { "vars": ["defaults-transition"] + , "expression": + { "type": "map_union" + , "$1": + { "type": "foreach" + , "var": "x" + , "range": {"type": "FIELD", "name": "patch-defaults"} + , "body": + { "type": "DEP_PROVIDES" + , "dep": {"type": "var", "name": "x"} + , "provider": "NON_SYSTEM_TOOLS" + , "transition": + { "type": "var" + , "name": "defaults-transition" + , "default": {"type": "empty_map"} + } + , "default": {"type": "empty_map"} + } + } + } + } +} |