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

Side by Side Diff: grit/tool/build.py

Issue 865563002: Add a Policy template writer that generates Android resources which can be exposed through Android'… (Closed) Base URL: https://chromium.googlesource.com/external/grit-i18n.git@master
Patch Set: Rebase on r186 Created 5 years, 9 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
« no previous file with comments | « grit/test_suite_all.py ('k') | no next file » | 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/env python 1 #!/usr/bin/env python
2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 5
6 '''The 'grit build' tool along with integration for this tool with the 6 '''The 'grit build' tool along with integration for this tool with the
7 SCons build system. 7 SCons build system.
8 ''' 8 '''
9 9
10 import filecmp 10 import filecmp
(...skipping 21 matching lines...) Expand all
32 'rc_translateable': 'rc', 32 'rc_translateable': 'rc',
33 'rc_nontranslateable': 'rc', 33 'rc_nontranslateable': 'rc',
34 'rc_header': 'rc_header', 34 'rc_header': 'rc_header',
35 'resource_map_header': 'resource_map', 35 'resource_map_header': 'resource_map',
36 'resource_map_source': 'resource_map', 36 'resource_map_source': 'resource_map',
37 'resource_file_map_source': 'resource_map', 37 'resource_file_map_source': 'resource_map',
38 } 38 }
39 _format_modules.update( 39 _format_modules.update(
40 (type, 'policy_templates.template_formatter') for type in 40 (type, 'policy_templates.template_formatter') for type in
41 [ 'adm', 'admx', 'adml', 'reg', 'doc', 'json', 41 [ 'adm', 'admx', 'adml', 'reg', 'doc', 'json',
42 'plist', 'plist_strings', 'ios_plist' ]) 42 'plist', 'plist_strings', 'ios_plist', 'android_policy' ])
43 43
44 44
45 def GetFormatter(type): 45 def GetFormatter(type):
46 modulename = 'grit.format.' + _format_modules[type] 46 modulename = 'grit.format.' + _format_modules[type]
47 __import__(modulename) 47 __import__(modulename)
48 module = sys.modules[modulename] 48 module = sys.modules[modulename]
49 try: 49 try:
50 return module.Format 50 return module.Format
51 except AttributeError: 51 except AttributeError:
52 return module.GetFormatter(type) 52 return module.GetFormatter(type)
(...skipping 260 matching lines...) Expand 10 before | Expand all | Expand 10 after
313 for output in self.res.GetOutputFiles(): 313 for output in self.res.GetOutputFiles():
314 self.VerboseOut('Creating %s...' % output.GetFilename()) 314 self.VerboseOut('Creating %s...' % output.GetFilename())
315 315
316 # Microsoft's RC compiler can only deal with single-byte or double-byte 316 # Microsoft's RC compiler can only deal with single-byte or double-byte
317 # files (no UTF-8), so we make all RC files UTF-16 to support all 317 # files (no UTF-8), so we make all RC files UTF-16 to support all
318 # character sets. 318 # character sets.
319 if output.GetType() in ('rc_header', 'resource_map_header', 319 if output.GetType() in ('rc_header', 'resource_map_header',
320 'resource_map_source', 'resource_file_map_source'): 320 'resource_map_source', 'resource_file_map_source'):
321 encoding = 'cp1252' 321 encoding = 'cp1252'
322 elif output.GetType() in ('android', 'c_format', 'js_map_format', 'plist', 322 elif output.GetType() in ('android', 'c_format', 'js_map_format', 'plist',
323 'plist_strings', 'doc', 'json'): 323 'plist_strings', 'doc', 'json', 'android_policy' ):
324 encoding = 'utf_8' 324 encoding = 'utf_8'
325 elif output.GetType() in ('chrome_messages_json'): 325 elif output.GetType() in ('chrome_messages_json'):
326 # Chrome Web Store currently expects BOM for UTF-8 files :-( 326 # Chrome Web Store currently expects BOM for UTF-8 files :-(
327 encoding = 'utf-8-sig' 327 encoding = 'utf-8-sig'
328 else: 328 else:
329 # TODO(gfeher) modify here to set utf-8 encoding for admx/adml 329 # TODO(gfeher) modify here to set utf-8 encoding for admx/adml
330 encoding = 'utf_16' 330 encoding = 'utf_16'
331 331
332 # Set the context, for conditional inclusion of resources 332 # Set the context, for conditional inclusion of resources
333 self.res.SetOutputLanguage(output.GetLanguage()) 333 self.res.SetOutputLanguage(output.GetLanguage())
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after
471 self.MakeDirectoriesTo(depfile) 471 self.MakeDirectoriesTo(depfile)
472 outfile = self.fo_create(depfile, 'wb') 472 outfile = self.fo_create(depfile, 'wb')
473 outfile.writelines(depfile_contents) 473 outfile.writelines(depfile_contents)
474 474
475 @staticmethod 475 @staticmethod
476 def MakeDirectoriesTo(file): 476 def MakeDirectoriesTo(file):
477 '''Creates directories necessary to contain |file|.''' 477 '''Creates directories necessary to contain |file|.'''
478 dir = os.path.split(file)[0] 478 dir = os.path.split(file)[0]
479 if not os.path.exists(dir): 479 if not os.path.exists(dir):
480 os.makedirs(dir) 480 os.makedirs(dir)
OLDNEW
« no previous file with comments | « grit/test_suite_all.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698