OLD | NEW |
---|---|
1 # Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2011 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 """Small utility function to find depot_tools and add it to the python path. | 4 """Small utility function to find depot_tools and add it to the python path. |
5 | 5 |
6 Will throw an ImportError exception if depot_tools can't be found since it | 6 Will throw an ImportError exception if depot_tools can't be found since it |
7 imports breakpad. | 7 imports breakpad. |
8 """ | 8 """ |
9 | 9 |
10 import os | 10 import os |
11 import sys | 11 import sys |
12 | 12 |
13 | 13 |
14 def IsRealDepotTools(path): | 14 def IsRealDepotTools(path): |
15 return os.path.isfile(os.path.join(path, 'gclient')) | 15 return os.path.isfile(os.path.join(path, 'gclient.py')) |
16 | 16 |
17 | 17 |
18 def add_depot_tools_to_path(): | 18 def add_depot_tools_to_path(): |
19 """Search for depot_tools and add it to sys.path.""" | 19 """Search for depot_tools and add it to sys.path.""" |
20 # First look if depot_tools is already in PYTHONPATH. | 20 # First look if depot_tools is already in PYTHONPATH. |
21 for i in sys.path: | 21 for i in sys.path: |
22 if i.rstrip(os.sep).endswith('depot_tools') and IsRealDepotTools(i): | 22 if i.rstrip(os.sep).endswith('depot_tools'): |
23 return i | 23 if IsRealDepotTools(i): |
24 return i | |
abarth-chromium
2014/10/21 21:24:29
Why this change?
jamesr
2014/10/21 22:10:15
Lingering effects of diagnostic changes - will rev
| |
24 # Then look if depot_tools is in PATH, common case. | 25 # Then look if depot_tools is in PATH, common case. |
25 for i in os.environ['PATH'].split(os.pathsep): | 26 for i in os.environ['PATH'].split(os.pathsep): |
26 if IsRealDepotTools(i): | 27 if IsRealDepotTools(i): |
27 sys.path.append(i.rstrip(os.sep)) | 28 sys.path.append(i.rstrip(os.sep)) |
28 return i | 29 return i |
29 # Rare case, it's not even in PATH, look upward up to root. | 30 # Rare case, it's not even in PATH, look upward up to root. |
30 root_dir = os.path.dirname(os.path.abspath(__file__)) | 31 root_dir = os.path.dirname(os.path.abspath(__file__)) |
31 previous_dir = os.path.abspath(__file__) | 32 previous_dir = os.path.abspath(__file__) |
32 while root_dir and root_dir != previous_dir: | 33 while root_dir and root_dir != previous_dir: |
33 i = os.path.join(root_dir, 'depot_tools') | 34 i = os.path.join(root_dir, 'depot_tools') |
34 if IsRealDepotTools(i): | 35 if IsRealDepotTools(i): |
35 sys.path.append(i) | 36 sys.path.append(i) |
36 return i | 37 return i |
37 previous_dir = root_dir | 38 previous_dir = root_dir |
38 root_dir = os.path.dirname(root_dir) | 39 root_dir = os.path.dirname(root_dir) |
39 print >> sys.stderr, 'Failed to find depot_tools' | 40 print >> sys.stderr, 'Failed to find depot_tools' |
40 return None | 41 return None |
41 | 42 |
42 add_depot_tools_to_path() | 43 add_depot_tools_to_path() |
43 | 44 |
44 # pylint: disable=W0611 | 45 # pylint: disable=W0611 |
45 import breakpad | 46 import breakpad |
OLD | NEW |