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

Side by Side Diff: mojo/public/tools/bindings/mojom_list_dart_outputs.py

Issue 2250183003: Make the fuchsia mojo/public repo the source of truth. (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Created 4 years, 4 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 unified diff | Download patch
OLDNEW
(Empty)
1 #!/usr/bin/env python
2 # Copyright 2014 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file.
5
6 """Generates the list of dart source file outputs from a mojom.Module."""
7
8 import argparse
9 import os
10 import re
11 import shutil
12 import sys
13
14 SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__))
15 SDK_DIR = os.path.join(SCRIPT_DIR, os.path.pardir, os.path.pardir)
16 sys.path.insert(0, os.path.join(SCRIPT_DIR, 'pylib'))
17
18 from mojom.error import Error
19 from mojom.parse import parser_runner
20 from mojom.generate import mojom_translator
21
22 def mojom_path(name, namespace, attributes):
23 package_name = 'mojom'
24 if attributes and attributes.get('DartPackage'):
25 package_name = attributes['DartPackage']
26 elements = [package_name, 'lib']
27 elements.extend(namespace.split('.'))
28 elements.append("%s.dart" % name)
29 return os.path.join(*elements)
30
31
32 def process_mojom(path_to_mojom):
33 filename = os.path.abspath(path_to_mojom)
34
35 # Parse
36 mojom_file_graph = parser_runner.ParseToMojomFileGraph(SDK_DIR, [filename],
37 meta_data_only=True)
38 if mojom_file_graph is None:
39 print("Error parsing %s" % filename)
40 mojom_dict = mojom_translator.TranslateFileGraph(mojom_file_graph)
41 mojom = mojom_dict[filename]
42
43 # Output path
44 attributes = mojom.attributes
45 print(mojom_path(mojom.name, mojom.namespace, attributes))
46
47
48 def main():
49 parser = argparse.ArgumentParser(description='Output list of ')
50 parser.add_argument('--mojoms',
51 metavar='mojoms',
52 nargs='+',
53 required=True)
54 args = parser.parse_args()
55
56 for mojom in args.mojoms:
57 process_mojom(mojom)
58
59 return 0
60
61
62 if __name__ == '__main__':
63 sys.exit(main())
OLDNEW
« no previous file with comments | « mojo/public/tools/bindings/mojom_bindings_generator.py ('k') | mojo/public/tools/bindings/mojom_tool.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698