Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(333)

Unified Diff: services/catalog/public/tools/generate_manifest.py

Issue 2651953002: Revert of [Service Manager] Get rid of dynamic service discovery (Closed)
Patch Set: Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « services/catalog/public/tools/catalog.gni ('k') | services/catalog/reader.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: services/catalog/public/tools/generate_manifest.py
diff --git a/services/catalog/public/tools/generate_manifest.py b/services/catalog/public/tools/generate_manifest.py
index 316ee687936dc6c3eb4ddaa2e3800bbaf20c8ac1..20ec8f41436cbdd1c57146ae00c61caad92dc048 100755
--- a/services/catalog/public/tools/generate_manifest.py
+++ b/services/catalog/public/tools/generate_manifest.py
@@ -43,30 +43,11 @@
services[name] = entry
-def SanityCheckCatalog(catalog):
- """Ensures any given service name appears only once within the catalog."""
- known_services = set()
-
- def has_no_dupes(root):
- if "name" in root:
- name = root["name"]
- if name in known_services:
- raise ValueError("Duplicate catalog 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 all(has_no_dupes(service["manifest"])
- for service in catalog["services"].itervalues())
-
-
def main():
parser = argparse.ArgumentParser(
description="Generates a Service Manager catalog manifest.")
parser.add_argument("--output")
+ parser.add_argument("--packages-dir")
parser.add_argument("--pretty", action="store_true")
parser.add_argument("--embedded-services", nargs="+",
dest="embedded_services", default=[])
@@ -78,8 +59,8 @@
dest="executable_override_specs", default=[])
args, _ = parser.parse_known_args()
- if args.output is None:
- raise Exception("--output required")
+ if args.output is None or args.packages_dir is None:
+ raise Exception("--output and --packages-dir required")
services = {}
for subcatalog_path in args.included_catalogs:
@@ -92,15 +73,16 @@
service_name, exe_path = override_spec.split(":", 1)
executable_overrides[service_name] = exe_path
- for manifest_path in args.embedded_services:
+ for name in args.embedded_services:
+ manifest_path = os.path.join(args.packages_dir, name, "manifest.json")
service_name, manifest = ParseManifest(manifest_path)
entry = { "embedded": True, "manifest": manifest }
AddServiceEntryToCatalog(services, service_name, entry)
- for manifest_path in args.standalone_services:
+ for name in args.standalone_services:
+ manifest_path = os.path.join(args.packages_dir, name, "manifest.json")
service_name, manifest = ParseManifest(manifest_path)
- entry = { "embedded": False, "manifest": manifest }
- name = manifest["name"]
+ entry = { "embedded": False, "manifest": ParseJSONFile(manifest_path) }
if name in executable_overrides:
entry["executable"] = executable_overrides[name]
AddServiceEntryToCatalog(services, service_name, entry)
@@ -109,10 +91,6 @@
with open(args.output, 'w') as output_file:
json.dump(catalog, output_file, indent=2 if args.pretty else -1)
- # NOTE: We do the sanity check and possible failure *after* outputting the
- # catalog manifest so it's easier to inspect erroneous output.
- SanityCheckCatalog(catalog);
-
return 0
if __name__ == "__main__":
« no previous file with comments | « services/catalog/public/tools/catalog.gni ('k') | services/catalog/reader.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698