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

Side by Side Diff: build/android/gyp/copy_v17_resources.py

Issue 14476011: [Android] Auto-generate API 14 resources from the existing API 17 resources. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 7 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 | « base/android/activity_status.h ('k') | build/android/gyp/generate_v14_resources.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/env python 1 #!/usr/bin/env python
2 # 2 #
3 # Copyright 2013 The Chromium Authors. All rights reserved. 3 # Copyright 2013 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 """Copy xml resource files and add -v17 to the sub directory names. 7 """Copy xml resource files and add -v17 to the sub directory names.
8 8
9 This is coupled with generate_v14_resources.py. Please refer to 9 This is coupled with generate_v14_resources.py. Please refer to
10 generate_v14_resources.py's comment for why we are doing this. 10 generate_v14_resources.py's comment for why we are doing this.
11 Or http://crbug.com/235118 . 11 Or http://crbug.com/235118 .
12 """ 12 """
13 13
14 import optparse 14 import optparse
15 import os 15 import os
16 import shutil 16 import shutil
17 import sys 17 import sys
18 import xml.dom.minidom as minidom
18 19
19 from util import build_utils 20 from util import build_utils
20 21
21 22
22 def CopyXmlResourcesInDir(input_dir, output_dir): 23 def CopyXmlResourcesInDir(input_dir, output_dir, only_styles=False):
23 """Copy all XML resources from input_dir to output_dir.""" 24 """Copy all XML resources from input_dir to output_dir."""
24 for input_file in build_utils.FindInDirectory(input_dir, '*.xml'): 25 for input_file in build_utils.FindInDirectory(input_dir, '*.xml'):
26 if only_styles:
27 # If the xml file does not have a style element,
28 # it's not style resource, so skip.
29 dom = minidom.parse(input_file)
30 if not dom.getElementsByTagName('style'):
31 continue
32
25 output_path = os.path.join(output_dir, 33 output_path = os.path.join(output_dir,
26 os.path.relpath(input_file, input_dir)) 34 os.path.relpath(input_file, input_dir))
27 build_utils.MakeDirectory(os.path.dirname(output_path)) 35 build_utils.MakeDirectory(os.path.dirname(output_path))
28 shutil.copy2(input_file, output_path) 36 shutil.copy2(input_file, output_path)
29 37
30 38
31 def ParseArgs(): 39 def ParseArgs():
32 """Parses command line options. 40 """Parses command line options.
33 41
34 Returns: 42 Returns:
(...skipping 24 matching lines...) Expand all
59 build_utils.MakeDirectory(options.res_v17_dir) 67 build_utils.MakeDirectory(options.res_v17_dir)
60 68
61 for name in os.listdir(options.res_dir): 69 for name in os.listdir(options.res_dir):
62 if not os.path.isdir(os.path.join(options.res_dir, name)): 70 if not os.path.isdir(os.path.join(options.res_dir, name)):
63 continue 71 continue
64 72
65 dir_pieces = name.split('-') 73 dir_pieces = name.split('-')
66 resource_type = dir_pieces[0] 74 resource_type = dir_pieces[0]
67 qualifiers = dir_pieces[1:] 75 qualifiers = dir_pieces[1:]
68 76
69 # We only copy resources under layout*/ and xml*/.
70 if resource_type not in ('layout', 'xml'):
71 continue
72
73 # Skip RTL resources because they are not supported by API 14. 77 # Skip RTL resources because they are not supported by API 14.
74 if 'ldrtl' in qualifiers: 78 if 'ldrtl' in qualifiers:
75 continue 79 continue
76 80
77 # Copy all the resource files. 81 input_dir = os.path.join(options.res_dir, name)
78 input_path = os.path.join(options.res_dir, name) 82 output_dir = os.path.join(options.res_v17_dir, name + '-v17')
79 output_path = os.path.join(options.res_v17_dir, name + '-v17') 83
80 CopyXmlResourcesInDir(input_path, output_path) 84 # We only copy resources under layout*/, xml*/,
85 # and style resources under values*/.
86 if resource_type in ('layout', 'xml'):
87 CopyXmlResourcesInDir(input_dir, output_dir)
88 elif resource_type in ('values'):
89 CopyXmlResourcesInDir(input_dir, output_dir, True)
81 90
82 if options.stamp: 91 if options.stamp:
83 build_utils.Touch(options.stamp) 92 build_utils.Touch(options.stamp)
84 93
85 if __name__ == '__main__': 94 if __name__ == '__main__':
86 sys.exit(main(sys.argv)) 95 sys.exit(main(sys.argv))
87 96
OLDNEW
« no previous file with comments | « base/android/activity_status.h ('k') | build/android/gyp/generate_v14_resources.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698