OLD | NEW |
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 """Convert Android xml resources to API 14 compatible. | 7 """Convert Android xml resources to API 14 compatible. |
8 | 8 |
9 There are two reasons that we cannot just use API 17 attributes, | 9 There are two reasons that we cannot just use API 17 attributes, |
10 so we are generating another set of resources by this script. | 10 so we are generating another set of resources by this script. |
(...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
219 rel_filename = os.path.relpath(input_filename, input_dir) | 219 rel_filename = os.path.relpath(input_filename, input_dir) |
220 output_v14_filename = os.path.join(output_v14_dir, rel_filename) | 220 output_v14_filename = os.path.join(output_v14_dir, rel_filename) |
221 GenerateV14StyleResource(input_filename, output_v14_filename) | 221 GenerateV14StyleResource(input_filename, output_v14_filename) |
222 | 222 |
223 | 223 |
224 def VerifyV14ResourcesInDir(input_dir, resource_type): | 224 def VerifyV14ResourcesInDir(input_dir, resource_type): |
225 """Verify that the resources in input_dir is compatible with v14, i.e., they | 225 """Verify that the resources in input_dir is compatible with v14, i.e., they |
226 don't use attributes that cause crashes on certain devices. Print an error if | 226 don't use attributes that cause crashes on certain devices. Print an error if |
227 they have.""" | 227 they have.""" |
228 for input_filename in build_utils.FindInDirectory(input_dir, '*.xml'): | 228 for input_filename in build_utils.FindInDirectory(input_dir, '*.xml'): |
229 warning_message = ('warning : ' + input_filename + ' has an RTL attribute, ' | 229 exception_message = ('error : ' + input_filename + ' has an RTL attribute, ' |
230 'i.e., attribute that has "start" or "end" in its name.' | 230 'i.e., attribute that has "start" or "end" in its name.' |
231 ' Pre-v17 resources should not include it because it ' | 231 ' Pre-v17 resources should not include it because it ' |
232 'can cause crashes on certain devices. Please refer to ' | 232 'can cause crashes on certain devices. Please refer to ' |
233 'http://crbug.com/243952 for the details.') | 233 'http://crbug.com/243952 for the details.') |
234 dom = minidom.parse(input_filename) | 234 dom = minidom.parse(input_filename) |
235 if resource_type in ('layout', 'xml'): | 235 if resource_type in ('layout', 'xml'): |
236 if GenerateV14LayoutResourceDom(dom, input_filename, False): | 236 if GenerateV14LayoutResourceDom(dom, input_filename, False): |
237 print warning_message | 237 raise Exception(exception_message) |
238 elif resource_type == 'values': | 238 elif resource_type == 'values': |
239 if GenerateV14StyleResourceDom(dom, input_filename, False): | 239 if GenerateV14StyleResourceDom(dom, input_filename, False): |
240 print warning_message | 240 raise Exception(exception_message) |
241 | 241 |
242 | 242 |
243 def AssertNoDeprecatedAttributesInDir(input_dir, resource_type): | 243 def AssertNoDeprecatedAttributesInDir(input_dir, resource_type): |
244 """Raises an exception if resources in input_dir have deprecated attributes, | 244 """Raises an exception if resources in input_dir have deprecated attributes, |
245 e.g., paddingLeft, paddingRight""" | 245 e.g., paddingLeft, paddingRight""" |
246 for input_filename in build_utils.FindInDirectory(input_dir, '*.xml'): | 246 for input_filename in build_utils.FindInDirectory(input_dir, '*.xml'): |
247 dom = minidom.parse(input_filename) | 247 dom = minidom.parse(input_filename) |
248 if resource_type in ('layout', 'xml'): | 248 if resource_type in ('layout', 'xml'): |
249 GenerateV14LayoutResourceDom(dom, input_filename) | 249 GenerateV14LayoutResourceDom(dom, input_filename) |
250 elif resource_type == 'values': | 250 elif resource_type == 'values': |
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
340 build_utils.MakeDirectory(res_v14_dir) | 340 build_utils.MakeDirectory(res_v14_dir) |
341 | 341 |
342 GenerateV14Resources(options.res_dir, res_v14_dir, options.verify_only) | 342 GenerateV14Resources(options.res_dir, res_v14_dir, options.verify_only) |
343 | 343 |
344 if options.stamp: | 344 if options.stamp: |
345 build_utils.Touch(options.stamp) | 345 build_utils.Touch(options.stamp) |
346 | 346 |
347 if __name__ == '__main__': | 347 if __name__ == '__main__': |
348 sys.exit(main()) | 348 sys.exit(main()) |
349 | 349 |
OLD | NEW |