summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CC/RULES11
-rw-r--r--CC/proto/EXPRESSIONS27
-rw-r--r--EXPRESSIONS8
-rw-r--r--data/RULES11
4 files changed, 23 insertions, 34 deletions
diff --git a/CC/RULES b/CC/RULES
index cb13f98..0e9a694 100644
--- a/CC/RULES
+++ b/CC/RULES
@@ -117,17 +117,14 @@
}
, "artifacts_doc": ["The single tree artifact staged to the given location"]
, "runfiles_doc": ["Same as artifacts"]
- , "imports": {"runfiles_list": ["./", "..", "field_runfiles_list"]}
+ , "imports": {"runfiles": ["./", "..", "field_runfiles"]}
, "expression":
{ "type": "let*"
, "bindings":
[ [ "hdrs"
- , { "type": "disjoint_map_union"
- , "$1":
- { "type": "let*"
- , "bindings": [["fieldname", "hdrs"]]
- , "body": {"type": "CALL_EXPRESSION", "name": "runfiles_list"}
- }
+ , { "type": "let*"
+ , "bindings": [["fieldname", "hdrs"]]
+ , "body": {"type": "CALL_EXPRESSION", "name": "runfiles"}
}
]
, [ "stage"
diff --git a/CC/proto/EXPRESSIONS b/CC/proto/EXPRESSIONS
index cb7d8a2..4f807fe 100644
--- a/CC/proto/EXPRESSIONS
+++ b/CC/proto/EXPRESSIONS
@@ -1,16 +1,9 @@
{ "protoc-deps":
- { "imports": {"provider_list": ["./", "../..", "field_provider_list"]}
+ { "imports": {"map_provider": ["./", "../..", "field_map_provider"]}
, "expression":
- { "type": "disjoint_map_union"
- , "$1":
- { "type": "let*"
- , "bindings":
- [ ["fieldname", "deps"]
- , ["provider", "protoc-deps"]
- , ["default", {"type": "empty_map"}]
- ]
- , "body": {"type": "CALL_EXPRESSION", "name": "provider_list"}
- }
+ { "type": "let*"
+ , "bindings": [["fieldname", "deps"], ["provider", "protoc-deps"]]
+ , "body": {"type": "CALL_EXPRESSION", "name": "map_provider"}
}
}
, "protoc-compile":
@@ -18,6 +11,7 @@
, "imports":
{ "stage": ["", "stage_singleton_field"]
, "result": ["./", "..", "lib result"]
+ , "artifacts": ["./", "../..", "field_artifacts"]
, "artifacts_list": ["./", "../..", "field_artifacts_list"]
, "protoc-deps": "protoc-deps"
}
@@ -49,13 +43,10 @@
, { "type": "to_subdir"
, "subdir": "work"
, "$1":
- { "type": "disjoint_map_union"
- , "$1":
- { "type": "let*"
- , "bindings":
- [["fieldname", "well_known_protos"], ["transition", null]]
- , "body": {"type": "CALL_EXPRESSION", "name": "artifacts_list"}
- }
+ { "type": "let*"
+ , "bindings":
+ [["fieldname", "well_known_protos"], ["transition", null]]
+ , "body": {"type": "CALL_EXPRESSION", "name": "artifacts"}
}
}
]
diff --git a/EXPRESSIONS b/EXPRESSIONS
index e725606..1c2ff84 100644
--- a/EXPRESSIONS
+++ b/EXPRESSIONS
@@ -26,7 +26,8 @@
}
, "imports": {"artifacts_list": "field_artifacts_list"}
, "expression":
- { "type": "map_union"
+ { "type": "disjoint_map_union"
+ , "msg": "artifacts must not overlap"
, "$1": {"type": "CALL_EXPRESSION", "name": "artifacts_list"}
}
}
@@ -59,6 +60,7 @@
, "imports": {"runfiles_list": "field_runfiles_list"}
, "expression":
{ "type": "map_union"
+ , "msg": "runfiles must not overlap"
, "$1": {"type": "CALL_EXPRESSION", "name": "runfiles_list"}
}
}
@@ -95,7 +97,9 @@
}
, "imports": {"provider_list": "field_provider_list"}
, "expression":
- { "type": "map_union"
+ { "type": "disjoint_map_union"
+ , "msg":
+ ["Overlapping entries in provider", {"type": "var", "name": "provider"}]
, "$1":
{ "type": "let*"
, "bindings": [["default", {"type": "empty_map"}]]
diff --git a/data/RULES b/data/RULES
index 4c695e9..df6acce 100644
--- a/data/RULES
+++ b/data/RULES
@@ -14,7 +14,7 @@
, "specified in \"stage\"."
]
, "runfiles_doc": ["Same as artifacts"]
- , "imports": {"runfiles_list": ["./", "..", "field_runfiles_list"]}
+ , "imports": {"runfiles": ["./", "..", "field_runfiles"]}
, "expression":
{ "type": "let*"
, "bindings":
@@ -25,12 +25,9 @@
}
]
, [ "srcs"
- , { "type": "disjoint_map_union"
- , "$1":
- { "type": "let*"
- , "bindings": [["fieldname", "srcs"]]
- , "body": {"type": "CALL_EXPRESSION", "name": "runfiles_list"}
- }
+ , { "type": "let*"
+ , "bindings": [["fieldname", "srcs"]]
+ , "body": {"type": "CALL_EXPRESSION", "name": "runfiles"}
}
]
, [ "staged"