diff options
Diffstat (limited to 'patch/RULES')
-rw-r--r-- | patch/RULES | 140 |
1 files changed, 0 insertions, 140 deletions
diff --git a/patch/RULES b/patch/RULES deleted file mode 100644 index b1ba95e..0000000 --- a/patch/RULES +++ /dev/null @@ -1,140 +0,0 @@ -{ "file": - { "doc": ["Replace a file, logically in place, by a patched version"] - , "target_fields": ["src", "patch"] - , "string_fields": ["patch-part"] - , "config_vars": ["PATCH", "ENV"] - , "field_doc": - { "src": - [ "The single source file to patch, typically an explicit file reference." - ] - , "patch": ["The patch to apply."] - , "patch-part": - [ "If the patch contains hunks for multiple files, only apply hunks for" - , "the specified file path. Individual directory components are joined" - , "with \"/\". Note that the patch must be provided in unified format." - ] - } - , "artifacts_doc": - ["The patched file, staged to the position the of the original file"] - , "runfiles_doc": ["Same as artifacts"] - , "imports": - { "stage_field": ["./", "..", "stage_singleton_field"] - , "stage_artifact": ["./", "..", "stage_artifact_to_singleton_field"] - } - , "expression": - { "type": "let*" - , "bindings": - [ [ "orig" - , { "type": "let*" - , "bindings": [["fieldname", "src"], ["location", "orig"]] - , "body": {"type": "CALL_EXPRESSION", "name": "stage_field"} - } - ] - , [ "patch" - , { "type": "let*" - , "bindings": [["fieldname", "patch"], ["location", "patch"]] - , "body": {"type": "CALL_EXPRESSION", "name": "stage_field"} - } - ] - , [ "patch-part" - , { "type": "join" - , "separator": "\\/" - , "$1": {"type": "FIELD", "name": "patch-part"} - } - ] - , [ "splitpatch" - , { "type": "BLOB" - , "data": - { "type": "join" - , "separator": "\n" - , "$1": - [ "set -e" - , { "type": "join" - , "$1": - [ { "type": "join_cmd" - , "$1": - [ "sed" - , "-n" - , { "type": "join" - , "$1": - [ "/^--- " - , {"type": "var", "name": "patch-part"} - , "/," - , "/^[^-+@\\ ]\\|^---\\ /p" - ] - } - ] - } - , " $1 | sed '$d' > patch" - ] - } - ] - } - } - ] - , [ "patch" - , { "type": "if" - , "cond": {"type": "var", "name": "patch-part"} - , "then": - { "type": "ACTION" - , "inputs": - { "type": "map_union" - , "$1": - [ { "type": "to_subdir" - , "subdir": "in" - , "$1": {"type": "var", "name": "patch"} - } - , { "type": "singleton_map" - , "key": "splitpatch" - , "value": {"type": "var", "name": "splitpatch"} - } - ] - } - , "outs": ["patch"] - , "cmd": ["sh", "./splitpatch", "in/patch"] - , "env": - {"type": "var", "name": "ENV", "default": {"type": "empty_map"}} - } - , "else": {"type": "var", "name": "patch"} - } - ] - , [ "inputs" - , { "type": "map_union" - , "$1": - [{"type": "var", "name": "orig"}, {"type": "var", "name": "patch"}] - } - ] - , [ "patched" - , { "type": "ACTION" - , "inputs": {"type": "var", "name": "inputs"} - , "outs": ["patched"] - , "cmd": - [ {"type": "var", "name": "PATCH", "default": "patch"} - , "-s" - , "--read-only=ignore" - , "--follow-symlinks" - , "-o" - , "patched" - , "orig" - , "patch" - ] - } - ] - , [ "result" - , { "type": "let*" - , "bindings": - [ ["artifact", {"type": "var", "name": "patched"}] - , ["fieldname", "src"] - ] - , "body": {"type": "CALL_EXPRESSION", "name": "stage_artifact"} - } - ] - ] - , "body": - { "type": "RESULT" - , "artifacts": {"type": "var", "name": "result"} - , "runfiles": {"type": "var", "name": "result"} - } - } - } -} |