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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
|
{ "fmt":
{ "target_fields": ["files"]
, "implicit": {"formatter": [["@", "bin", "", "json-format.py"]]}
, "imports": {"stage": "stage_singleton_field"}
, "tainted": ["lint"]
, "expression":
{ "type": "let*"
, "bindings":
[ ["fieldname", "formatter"]
, ["location", "format"]
, ["format", {"type": "CALL_EXPRESSION", "name": "stage"}]
, [ "diffs"
, { "type": "disjoint_map_union"
, "$1":
{ "type": "foreach"
, "var": "dep"
, "range": {"type": "FIELD", "name": "files"}
, "body":
{ "type": "disjoint_map_union"
, "$1":
{ "type": "foreach_map"
, "range":
{ "type": "DEP_ARTIFACTS"
, "dep": {"type": "var", "name": "dep"}
}
, "body":
{ "type": "ACTION"
, "outs":
[ { "type": "join"
, "$1": [{"type": "var", "name": "_"}, ".diff"]
}
]
, "inputs":
{ "type": "disjoint_map_union"
, "$1":
[ {"type": "var", "name": "format"}
, { "type": "singleton_map"
, "key":
{ "type": "join"
, "$1": [{"type": "var", "name": "_"}, ".orig"]
}
, "value": {"type": "var", "name": "$_"}
}
]
}
, "cmd":
[ "sh"
, "-c"
, { "type": "join"
, "separator": " "
, "$1":
[ "./format -s"
, { "type": "join_cmd"
, "$1":
[ { "type": "join"
, "$1": [{"type": "var", "name": "_"}, ".orig"]
}
]
}
, ">"
, { "type": "join_cmd"
, "$1": [{"type": "var", "name": "_"}]
}
, "&& diff -u"
, { "type": "join_cmd"
, "$1":
[ { "type": "join"
, "$1": [{"type": "var", "name": "_"}, ".orig"]
}
]
}
, { "type": "join_cmd"
, "$1": [{"type": "var", "name": "_"}]
}
, ">"
, { "type": "join_cmd"
, "$1":
[ { "type": "join"
, "$1": [{"type": "var", "name": "_"}, ".diff"]
}
]
}
]
}
]
, "may_fail": ["lint"]
, "fail_message":
{ "type": "join"
, "$1":
[ "Target file "
, {"type": "var", "name": "_"}
, " not formatted correctly."
]
}
}
}
}
}
}
]
, [ "diff"
, { "type": "ACTION"
, "inputs": {"type": "var", "name": "diffs"}
, "outs": ["targets.diff"]
, "cmd":
[ "sh"
, "-c"
, { "type": "join"
, "separator": " "
, "$1":
[ "cat"
, { "type": "join_cmd"
, "$1":
{"type": "keys", "$1": {"type": "var", "name": "diffs"}}
}
, "> targets.diff"
]
}
]
}
]
]
, "body": {"type": "RESULT", "artifacts": {"type": "var", "name": "diff"}}
}
}
}
|