Index: services/service_manager/public/tools/manifest/manifest_collator.py |
diff --git a/services/service_manager/public/tools/manifest/manifest_collator.py b/services/service_manager/public/tools/manifest/manifest_collator.py |
index be305618291360b72adfeb5492f07991b3f694df..90d21e7827e78392aba044de98d8a5dba8b1352e 100755 |
--- a/services/service_manager/public/tools/manifest/manifest_collator.py |
+++ b/services/service_manager/public/tools/manifest/manifest_collator.py |
@@ -18,7 +18,7 @@ |
"display_name", |
] |
-eater_relative = "../../../../../../tools/json_comment_eater" |
+eater_relative = '../../../../../../tools/json_comment_eater' |
eater_relative = os.path.join(os.path.abspath(__file__), eater_relative) |
sys.path.insert(0, os.path.normpath(eater_relative)) |
try: |
@@ -66,22 +66,6 @@ |
manifest[key] = overlay[key] |
-def SanityCheckManifestServices(manifest): |
- """Ensures any given service name appears only once within a manifest.""" |
- known_services = set() |
- def has_no_dupes(root): |
- if "name" in root: |
- name = root["name"] |
- if name in known_services: |
- raise ValueError( |
- "Duplicate manifest entry found for service: %s" % name) |
- known_services.add(name) |
- if "services" not in root: |
- return True |
- return all(has_no_dupes(service) for service in root["services"]) |
- return has_no_dupes(manifest) |
- |
- |
def main(): |
parser = argparse.ArgumentParser( |
description="Collate Service Manifests.") |
@@ -96,31 +80,27 @@ |
parent = ParseJSONFile(args.parent) |
- service_name = parent["name"] if "name" in parent else "" |
- if args.name and args.name != service_name: |
+ service_path = parent['name'] |
+ if args.name and args.name != service_path: |
raise ValueError("Service name '%s' specified in build file does not " \ |
"match name '%s' specified in manifest." % |
- (args.name, service_name)) |
+ (args.name, service_path)) |
packaged_services = [] |
for child_manifest in args.packaged_services: |
packaged_services.append(ParseJSONFile(child_manifest)) |
if len(packaged_services) > 0: |
- if "services" not in parent: |
- parent["services"] = packaged_services |
+ if 'services' not in parent: |
+ parent['services'] = packaged_services |
else: |
- parent["services"].extend(packaged_services) |
+ parent['services'].extend(packaged_services) |
for overlay_path in args.overlays: |
MergeManifestOverlay(parent, ParseJSONFile(overlay_path)) |
- with open(args.output, "w") as output_file: |
+ with open(args.output, 'w') as output_file: |
json.dump(parent, output_file, indent=2 if args.pretty else -1) |
- |
- # NOTE: We do the sanity check and possible failure *after* outputting the |
- # aggregate manifest so it's easier to inspect erroneous output. |
- SanityCheckManifestServices(parent) |
return 0 |