1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
|
{ "file":
{ "doc": ["Replace a file, logically in place, by a patched version"]
, "target_fields": ["src", "patch"]
, "config_vars": ["PATCH", "ENV"]
, "field_doc":
{ "src":
[ "The single source file to patch, typically an explicit file reference."
]
, "patch": ["The patch to apply."]
}
, "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"}
}
]
, [ "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"}
}
}
}
}
|