| OLD | NEW |
| 1 #!/usr/bin/python | 1 #!/usr/bin/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 """Convert SVN based DEPS into .DEPS.git for use with NewGit.""" | 6 """Convert SVN based DEPS into .DEPS.git for use with NewGit.""" |
| 7 | 7 |
| 8 import collections | 8 import collections |
| 9 from cStringIO import StringIO | 9 from cStringIO import StringIO |
| 10 import json | 10 import json |
| (...skipping 292 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 303 parser.add_option('--no_fail_fast', action='store_true', | 303 parser.add_option('--no_fail_fast', action='store_true', |
| 304 help='Try to process the whole DEPS, rather than failing ' | 304 help='Try to process the whole DEPS, rather than failing ' |
| 305 'on the first bad entry.') | 305 'on the first bad entry.') |
| 306 parser.add_option('--verify', action='store_true', | 306 parser.add_option('--verify', action='store_true', |
| 307 help='ping each Git repo to make sure it exists') | 307 help='ping each Git repo to make sure it exists') |
| 308 parser.add_option('--json', | 308 parser.add_option('--json', |
| 309 help='path to a JSON file for machine-readable output') | 309 help='path to a JSON file for machine-readable output') |
| 310 options = parser.parse_args()[0] | 310 options = parser.parse_args()[0] |
| 311 | 311 |
| 312 # Get the content of the DEPS file. | 312 # Get the content of the DEPS file. |
| 313 deps, deps_os, include_rules, skip_child_includes, hooks = ( | 313 deps, deps_os, include_rules, skip_child_includes, hooks, deps_vars = ( |
| 314 deps_utils.GetDepsContent(options.deps)) | 314 deps_utils.GetDepsContent(options.deps)) |
| 315 | 315 |
| 316 if options.extra_rules and options.type: | 316 if options.extra_rules and options.type: |
| 317 parser.error('Can\'t specify type and extra-rules at the same time.') | 317 parser.error('Can\'t specify type and extra-rules at the same time.') |
| 318 elif options.type: | 318 elif options.type: |
| 319 options.extra_rules = os.path.join( | 319 options.extra_rules = os.path.join( |
| 320 os.path.abspath(os.path.dirname(__file__)), | 320 os.path.abspath(os.path.dirname(__file__)), |
| 321 'svn_to_git_%s.py' % options.type) | 321 'svn_to_git_%s.py' % options.type) |
| 322 if options.cache_dir and options.repos: | 322 if options.cache_dir and options.repos: |
| 323 parser.error('Can\'t specify both cache_dir and repos at the same time.') | 323 parser.error('Can\'t specify both cache_dir and repos at the same time.') |
| 324 if options.shallow and not options.cache_dir: | 324 if options.shallow and not options.cache_dir: |
| 325 parser.error('--shallow only supported with --cache_dir.') | 325 parser.error('--shallow only supported with --cache_dir.') |
| 326 | 326 |
| 327 if options.cache_dir: | 327 if options.cache_dir: |
| 328 options.cache_dir = os.path.abspath(options.cache_dir) | 328 options.cache_dir = os.path.abspath(options.cache_dir) |
| 329 | 329 |
| 330 if options.extra_rules and not os.path.exists(options.extra_rules): | 330 if options.extra_rules and not os.path.exists(options.extra_rules): |
| 331 raise RuntimeError('Can\'t locate rules file "%s".' % options.extra_rules) | 331 raise RuntimeError('Can\'t locate rules file "%s".' % options.extra_rules) |
| 332 | 332 |
| 333 # Create a var containing the Git and Webkit URL, this will make it easy for | 333 # Create a var containing the Git and Webkit URL, this will make it easy for |
| 334 # people to use a mirror instead. | 334 # people to use a mirror instead. |
| 335 git_url = 'https://chromium.googlesource.com' | 335 git_url = 'https://chromium.googlesource.com' |
| 336 deps_vars = { | 336 deps_vars.update({ |
| 337 'git_url': git_url, | 337 'git_url': git_url, |
| 338 'webkit_url': git_url + '/chromium/blink.git', | 338 'webkit_url': git_url + '/chromium/blink.git', |
| 339 } | 339 }) |
| 340 | 340 |
| 341 # Find and load svn_to_git_* modules that handle the URL mapping. | 341 # Find and load svn_to_git_* modules that handle the URL mapping. |
| 342 svn_to_git_objs = [svn_to_git_public] | 342 svn_to_git_objs = [svn_to_git_public] |
| 343 if options.extra_rules: | 343 if options.extra_rules: |
| 344 rules_dir, rules_file = os.path.split(options.extra_rules) | 344 rules_dir, rules_file = os.path.split(options.extra_rules) |
| 345 rules_file_base = os.path.splitext(rules_file)[0] | 345 rules_file_base = os.path.splitext(rules_file)[0] |
| 346 sys.path.insert(0, rules_dir) | 346 sys.path.insert(0, rules_dir) |
| 347 svn_to_git_mod = __import__(rules_file_base) | 347 svn_to_git_mod = __import__(rules_file_base) |
| 348 svn_to_git_objs.insert(0, svn_to_git_mod) | 348 svn_to_git_objs.insert(0, svn_to_git_mod) |
| 349 | 349 |
| (...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 426 return 0 | 426 return 0 |
| 427 | 427 |
| 428 # Write the DEPS file to disk. | 428 # Write the DEPS file to disk. |
| 429 deps_utils.WriteDeps(options.out, deps_vars, results.new_deps, deps_os, | 429 deps_utils.WriteDeps(options.out, deps_vars, results.new_deps, deps_os, |
| 430 include_rules, skip_child_includes, hooks) | 430 include_rules, skip_child_includes, hooks) |
| 431 return 0 | 431 return 0 |
| 432 | 432 |
| 433 | 433 |
| 434 if '__main__' == __name__: | 434 if '__main__' == __name__: |
| 435 sys.exit(main()) | 435 sys.exit(main()) |
| OLD | NEW |