| OLD | NEW |
| 1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
| 2 # Copyright 2015 The Chromium Authors. All rights reserved. | 2 # Copyright 2015 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 """Helper script to repack paks for a list of locales for today extension. | 6 """Helper script to repack paks for a list of locales for extensions. |
| 7 | 7 |
| 8 Gyp doesn't have any built-in looping capability, so this just provides a way to | 8 Gyp doesn't have any built-in looping capability, so this just provides a way to |
| 9 loop over a list of locales when repacking pak files, thus avoiding a | 9 loop over a list of locales when repacking pak files, thus avoiding a |
| 10 proliferation of mostly duplicate, cut-n-paste gyp actions. | 10 proliferation of mostly duplicate, cut-n-paste gyp actions. |
| 11 """ | 11 """ |
| 12 | 12 |
| 13 import optparse | 13 import optparse |
| 14 import os | 14 import os |
| 15 import sys | 15 import sys |
| 16 | 16 |
| (...skipping 18 matching lines...) Expand all Loading... |
| 35 locale = 'en' | 35 locale = 'en' |
| 36 else: | 36 else: |
| 37 locale = locale.replace('-', '_') | 37 locale = locale.replace('-', '_') |
| 38 return os.path.join(options.out_dir, locale + '.lproj', 'locale.pak') | 38 return os.path.join(options.out_dir, locale + '.lproj', 'locale.pak') |
| 39 | 39 |
| 40 | 40 |
| 41 def calc_inputs(options, locale): | 41 def calc_inputs(options, locale): |
| 42 """Determine the files that need processing for the given locale.""" | 42 """Determine the files that need processing for the given locale.""" |
| 43 inputs = [] | 43 inputs = [] |
| 44 | 44 |
| 45 #e.g. 'out/Debug/gen/ios/today_extension/ios_today_extension_strings_da.pak' | 45 #e.g. |
| 46 inputs.append(os.path.join(options.share_int_dir, 'ios', 'today_extension', | 46 #'out/Debug/gen/ios/%(extension_name)/ios_%(extension_name)_strings_da.pak' |
| 47 'ios_today_extension_strings_%s.pak' % (locale))) | 47 inputs.append(os.path.join(options.share_int_dir, 'ios', |
| 48 options.extension_name, |
| 49 'ios_%s_strings_%s.pak' % (options.extension_name, locale))) |
| 48 | 50 |
| 49 # Add any extra input files. | 51 # Add any extra input files. |
| 50 for extra_file in options.extra_input: | 52 for extra_file in options.extra_input: |
| 51 inputs.append('%s_%s.pak' % (extra_file, locale)) | 53 inputs.append('%s_%s.pak' % (extra_file, locale)) |
| 52 | 54 |
| 53 return inputs | 55 return inputs |
| 54 | 56 |
| 55 | 57 |
| 56 def list_outputs(options, locales): | 58 def list_outputs(options, locales): |
| 57 """Returns the names of files that will be generated for the given locales. | 59 """Returns the names of files that will be generated for the given locales. |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 102 parser.add_option( | 104 parser.add_option( |
| 103 "-x", action="store", dest="out_dir", | 105 "-x", action="store", dest="out_dir", |
| 104 help="Intermediate build files output directory.") | 106 help="Intermediate build files output directory.") |
| 105 parser.add_option( | 107 parser.add_option( |
| 106 "-s", action="store", dest="share_int_dir", | 108 "-s", action="store", dest="share_int_dir", |
| 107 help="Shared intermediate build files output directory.") | 109 help="Shared intermediate build files output directory.") |
| 108 parser.add_option( | 110 parser.add_option( |
| 109 "-b", action="store", dest="branding", | 111 "-b", action="store", dest="branding", |
| 110 help="Branding type of this build.") | 112 help="Branding type of this build.") |
| 111 parser.add_option( | 113 parser.add_option( |
| 114 "-n", action="store", dest="extension_name", |
| 115 help="Name of the extension.") |
| 116 parser.add_option( |
| 112 "-e", action="append", dest="extra_input", default=[], | 117 "-e", action="append", dest="extra_input", default=[], |
| 113 help="Full path to an extra input pak file without the " | 118 help="Full path to an extra input pak file without the " |
| 114 "locale suffix and \".pak\" extension.") | 119 "locale suffix and \".pak\" extension.") |
| 115 parser.add_option( | 120 parser.add_option( |
| 116 "--whitelist", action="store", help="Full path to the " | 121 "--whitelist", action="store", help="Full path to the " |
| 117 "whitelist used to filter output pak file resource IDs") | 122 "whitelist used to filter output pak file resource IDs") |
| 118 options, locales = parser.parse_args(argv) | 123 options, locales = parser.parse_args(argv) |
| 119 | 124 |
| 120 if not locales: | 125 if not locales: |
| 121 parser.error('Please specificy at least one locale to process.\n') | 126 parser.error('Please specificy at least one locale to process.\n') |
| 122 | 127 |
| 128 if not options.extension_name: |
| 129 parser.error('Please specificy extension name.\n') |
| 130 |
| 123 if not (options.out_dir and options.share_int_dir): | 131 if not (options.out_dir and options.share_int_dir): |
| 124 parser.error('Please specify all of "-x" and "-s".\n') | 132 parser.error('Please specify all of "-x" and "-s".\n') |
| 125 if options.print_inputs and options.print_outputs: | 133 if options.print_inputs and options.print_outputs: |
| 126 parser.error('Please specify only one of "-i" or "-o".\n') | 134 parser.error('Please specify only one of "-i" or "-o".\n') |
| 127 # Need to know the branding, unless we're just listing the outputs. | 135 # Need to know the branding, unless we're just listing the outputs. |
| 128 if not options.print_outputs and not options.branding: | 136 if not options.print_outputs and not options.branding: |
| 129 parser.error('Please specify "-b" to determine the input files.\n') | 137 parser.error('Please specify "-b" to determine the input files.\n') |
| 130 | 138 |
| 131 if options.print_inputs: | 139 if options.print_inputs: |
| 132 return quote_filenames(list_inputs(options, locales)) | 140 return quote_filenames(list_inputs(options, locales)) |
| 133 | 141 |
| 134 if options.print_outputs: | 142 if options.print_outputs: |
| 135 return quote_filenames(list_outputs(options, locales)) | 143 return quote_filenames(list_outputs(options, locales)) |
| 136 | 144 |
| 137 return repack_locales(options, locales) | 145 return repack_locales(options, locales) |
| 138 | 146 |
| 139 if __name__ == '__main__': | 147 if __name__ == '__main__': |
| 140 results = DoMain(sys.argv[1:]) | 148 results = DoMain(sys.argv[1:]) |
| 141 if results: | 149 if results: |
| 142 print results | 150 print results |
| OLD | NEW |