summaryrefslogtreecommitdiff
path: root/proto
diff options
context:
space:
mode:
Diffstat (limited to 'proto')
-rw-r--r--proto/RULES55
1 files changed, 14 insertions, 41 deletions
diff --git a/proto/RULES b/proto/RULES
index 9c7c1a2..95fb87a 100644
--- a/proto/RULES
+++ b/proto/RULES
@@ -76,51 +76,24 @@
, "body": {"type": "CALL_EXPRESSION", "name": "list_provider"}
}
]
- , [ "node"
- , { "type": "ABSTRACT_NODE"
- , "node_type":
- { "type": "if"
- , "cond": {"type": "FIELD", "name": "service"}
- , "then": "service library"
- , "else": "library"
- }
- , "target_fields":
- { "type": "map_union"
- , "$1":
- [ { "type": "singleton_map"
- , "key": "srcs"
- , "value": {"type": "var", "name": "srcs"}
- }
- , { "type": "singleton_map"
- , "key": "deps"
- , "value": {"type": "var", "name": "deps"}
- }
- ]
- }
- , "string_fields":
- { "type": "map_union"
- , "$1":
- [ { "type": "singleton_map"
- , "key": "name"
- , "value": [{"type": "var", "name": "name"}]
- }
- , { "type": "singleton_map"
- , "key": "stage"
- , "value": [{"type": "var", "name": "stage"}]
- }
- ]
+ , ["name", [{"type": "var", "name": "name"}]]
+ , ["stage", [{"type": "var", "name": "stage"}]]
+ , [ "proto"
+ , [ { "type": "ABSTRACT_NODE"
+ , "node_type":
+ { "type": "if"
+ , "cond": {"type": "FIELD", "name": "service"}
+ , "then": "service library"
+ , "else": "library"
+ }
+ , "target_fields": {"type": "env", "vars": ["srcs", "deps"]}
+ , "string_fields": {"type": "env", "vars": ["name", "stage"]}
}
- }
+ ]
]
]
, "body":
- { "type": "RESULT"
- , "provides":
- { "type": "singleton_map"
- , "key": "proto"
- , "value": [{"type": "var", "name": "node"}]
- }
- }
+ {"type": "RESULT", "provides": {"type": "env", "vars": ["proto"]}}
}
}
}