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

Side by Side Diff: ppapi/generators/idl_generator.py

Issue 7753042: Update generator for Chrome generation as the default case (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 years, 3 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 | Annotate | Revision Log
« no previous file with comments | « ppapi/generators/idl_c_header.py ('k') | ppapi/generators/idl_parser.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/python 1 #!/usr/bin/python
2 # 2 #
3 # Copyright (c) 2011 The Chromium Authors. All rights reserved. 3 # Copyright (c) 2011 The Chromium Authors. All rights reserved.
4 # Use of this source code is governed by a BSD-style license that can be 4 # Use of this source code is governed by a BSD-style license that can be
5 # found in the LICENSE file. 5 # found in the LICENSE file.
6 6
7 import sys 7 import sys
8 8
9 from idl_log import ErrOut, InfoOut, WarnOut 9 from idl_log import ErrOut, InfoOut, WarnOut
10 from idl_option import GetOption, Option, ParseOptions 10 from idl_option import GetOption, Option, ParseOptions
11 11
12 GeneratorList = [] 12 GeneratorList = []
13 13
14 Option('release', 'Which release to generate.', default='M14') 14 Option('release', 'Which release to generate.', default='')
15 Option('range', 'Which release ranges in the form of MIN,MAX.', default='') 15 Option('range', 'Which ranges in the form of MIN,MAX.', default='M13,M14')
16 16
17 17
18 # 18 #
19 # Generator 19 # Generator
20 # 20 #
21 # Base class for generators. This class provides a mechanism for 21 # Base class for generators. This class provides a mechanism for
22 # adding new generator objects to the IDL driver. To use this class 22 # adding new generator objects to the IDL driver. To use this class
23 # override the GenerateRelease and GenerateRange members, and 23 # override the GenerateRelease and GenerateRange members, and
24 # instantiate one copy of the class in the same module which defines it to 24 # instantiate one copy of the class in the same module which defines it to
25 # register the generator. After the AST is generated, call the static Run 25 # register the generator. After the AST is generated, call the static Run
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
60 return options 60 return options
61 return None 61 return None
62 62
63 def Generate(self, ast, options): 63 def Generate(self, ast, options):
64 self.errors = 0 64 self.errors = 0
65 65
66 rangestr = GetOption('range') 66 rangestr = GetOption('range')
67 releasestr = GetOption('release') 67 releasestr = GetOption('release')
68 68
69 # Check for a range option which over-rides a release option 69 # Check for a range option which over-rides a release option
70 if rangestr: 70 if not releasestr and rangestr:
71 range_list = rangestr.split(',') 71 range_list = rangestr.split(',')
72 if len(range_list) != 2: 72 if len(range_list) != 2:
73 self.Error('Failed to generate for %s, incorrect range: "%s"' % 73 self.Error('Failed to generate for %s, incorrect range: "%s"' %
74 (self.name, rangestr)) 74 (self.name, rangestr))
75 else: 75 else:
76 vmin = range_list[0] 76 vmin = range_list[0]
77 vmax = range_list[1] 77 vmax = range_list[1]
78 vmin = ast.releases.index(vmin) 78 vmin = ast.releases.index(vmin)
79 vmax = ast.releases.index(vmax) + 1 79 vmax = ast.releases.index(vmax) + 1
80 ret = self.GenerateRange(ast, ast.releases[vmin:vmax], options) 80 range = ast.releases[vmin:vmax]
81 InfoOut.Log('Generate range %s of %s.' % (range, self.name))
82 ret = self.GenerateRange(ast, range, options)
81 if ret < 0: 83 if ret < 0:
82 self.Error('Failed to generate range %s : %s.' %(vmin, vmax)) 84 self.Error('Failed to generate range %s : %s.' %(vmin, vmax))
85 else:
86 InfoOut.Log('%s wrote %d files.' % (self.name, ret))
83 # Otherwise this should be a single release generation 87 # Otherwise this should be a single release generation
84 else: 88 else:
85 if releasestr: 89 if releasestr:
90 InfoOut.Log('Generate release %s of %s.' % (releasestr, self.name))
86 ret = self.GenerateRelease(ast, releasestr, options) 91 ret = self.GenerateRelease(ast, releasestr, options)
87 if ret < 0: 92 if ret < 0:
88 self.Error('Failed to generate release %s.' % releasestr) 93 self.Error('Failed to generate release %s.' % releasestr)
89 else: 94 else:
90 InfoOut.Log('%s wrote %d files.' % (self.name, ret)) 95 InfoOut.Log('%s wrote %d files.' % (self.name, ret))
91 96
92 else: 97 else:
93 self.Error('No range or release specified for %s.' % releasestr) 98 self.Error('No range or release specified for %s.' % releasestr)
94 return self.errors 99 return self.errors
95 100
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after
234 filenames = ParseOptions(args) 239 filenames = ParseOptions(args)
235 ast = ParseFiles(filenames) 240 ast = ParseFiles(filenames)
236 241
237 return Generator.Run(ast) 242 return Generator.Run(ast)
238 243
239 244
240 if __name__ == '__main__': 245 if __name__ == '__main__':
241 GeneratorReleaseTest('Test Gen', 'testgen', 'Generator Class Test.') 246 GeneratorReleaseTest('Test Gen', 'testgen', 'Generator Class Test.')
242 sys.exit(Main(sys.argv[1:])) 247 sys.exit(Main(sys.argv[1:]))
243 248
OLDNEW
« no previous file with comments | « ppapi/generators/idl_c_header.py ('k') | ppapi/generators/idl_parser.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698