| OLD | NEW |
| 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 """Meta checkout manager supporting both Subversion and GIT.""" | 6 """Meta checkout manager supporting both Subversion and GIT.""" |
| 7 # Files | 7 # Files |
| 8 # .gclient : Current client configuration, written by 'config' command. | 8 # .gclient : Current client configuration, written by 'config' command. |
| 9 # Format is a Python script defining 'solutions', a list whose | 9 # Format is a Python script defining 'solutions', a list whose |
| 10 # entries each are maps binding the strings "name" and "url" | 10 # entries each are maps binding the strings "name" and "url" |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 53 # { "pattern": ".", | 53 # { "pattern": ".", |
| 54 # "name": "gyp", | 54 # "name": "gyp", |
| 55 # "action": ["python", "src/build/gyp_chromium"]}, | 55 # "action": ["python", "src/build/gyp_chromium"]}, |
| 56 # ] | 56 # ] |
| 57 # | 57 # |
| 58 # Pre-DEPS Hooks | 58 # Pre-DEPS Hooks |
| 59 # DEPS files may optionally contain a list named "pre_deps_hooks". These are | 59 # DEPS files may optionally contain a list named "pre_deps_hooks". These are |
| 60 # the same as normal hooks, except that they run before the DEPS are | 60 # the same as normal hooks, except that they run before the DEPS are |
| 61 # processed. Pre-DEPS run with "sync" and "revert" unless the --noprehooks | 61 # processed. Pre-DEPS run with "sync" and "revert" unless the --noprehooks |
| 62 # flag is used. | 62 # flag is used. |
| 63 # | 63 # |
| 64 # Specifying a target OS | 64 # Specifying a target OS |
| 65 # An optional key named "target_os" may be added to a gclient file to specify | 65 # An optional key named "target_os" may be added to a gclient file to specify |
| 66 # one or more additional operating systems that should be considered when | 66 # one or more additional operating systems that should be considered when |
| 67 # processing the deps_os dict of a DEPS file. | 67 # processing the deps_os dict of a DEPS file. |
| 68 # | 68 # |
| 69 # Example: | 69 # Example: |
| 70 # target_os = [ "android" ] | 70 # target_os = [ "android" ] |
| 71 # | 71 # |
| 72 # If the "target_os_only" key is also present and true, then *only* the | 72 # If the "target_os_only" key is also present and true, then *only* the |
| 73 # operating systems listed in "target_os" will be used. | 73 # operating systems listed in "target_os" will be used. |
| (...skipping 1779 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1853 | 1853 |
| 1854 def parse_args(self, args=None, values=None): | 1854 def parse_args(self, args=None, values=None): |
| 1855 """Integrates standard options processing.""" | 1855 """Integrates standard options processing.""" |
| 1856 options, args = optparse.OptionParser.parse_args(self, args, values) | 1856 options, args = optparse.OptionParser.parse_args(self, args, values) |
| 1857 levels = [logging.ERROR, logging.WARNING, logging.INFO, logging.DEBUG] | 1857 levels = [logging.ERROR, logging.WARNING, logging.INFO, logging.DEBUG] |
| 1858 logging.basicConfig( | 1858 logging.basicConfig( |
| 1859 level=levels[min(options.verbose, len(levels) - 1)], | 1859 level=levels[min(options.verbose, len(levels) - 1)], |
| 1860 format='%(module)s(%(lineno)d) %(funcName)s:%(message)s') | 1860 format='%(module)s(%(lineno)d) %(funcName)s:%(message)s') |
| 1861 if options.config_filename and options.spec: | 1861 if options.config_filename and options.spec: |
| 1862 self.error('Cannot specifiy both --gclientfile and --spec') | 1862 self.error('Cannot specifiy both --gclientfile and --spec') |
| 1863 if (options.config_filename and |
| 1864 options.config_filename != os.path.basename(options.config_filename)): |
| 1865 self.error('--gclientfile target must be a filename, not a path') |
| 1863 if not options.config_filename: | 1866 if not options.config_filename: |
| 1864 options.config_filename = self.gclientfile_default | 1867 options.config_filename = self.gclientfile_default |
| 1865 options.entries_filename = options.config_filename + '_entries' | 1868 options.entries_filename = options.config_filename + '_entries' |
| 1866 if options.jobs < 1: | 1869 if options.jobs < 1: |
| 1867 self.error('--jobs must be 1 or higher') | 1870 self.error('--jobs must be 1 or higher') |
| 1868 | 1871 |
| 1869 # These hacks need to die. | 1872 # These hacks need to die. |
| 1870 if not hasattr(options, 'revisions'): | 1873 if not hasattr(options, 'revisions'): |
| 1871 # GClient.RunOnDeps expects it even if not applicable. | 1874 # GClient.RunOnDeps expects it even if not applicable. |
| 1872 options.revisions = [] | 1875 options.revisions = [] |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1916 raise | 1919 raise |
| 1917 except (gclient_utils.Error, subprocess2.CalledProcessError), e: | 1920 except (gclient_utils.Error, subprocess2.CalledProcessError), e: |
| 1918 print >> sys.stderr, 'Error: %s' % str(e) | 1921 print >> sys.stderr, 'Error: %s' % str(e) |
| 1919 return 1 | 1922 return 1 |
| 1920 | 1923 |
| 1921 | 1924 |
| 1922 if '__main__' == __name__: | 1925 if '__main__' == __name__: |
| 1923 sys.exit(Main(sys.argv[1:])) | 1926 sys.exit(Main(sys.argv[1:])) |
| 1924 | 1927 |
| 1925 # vim: ts=2:sw=2:tw=80:et: | 1928 # vim: ts=2:sw=2:tw=80:et: |
| OLD | NEW |