Index: gclient.py |
diff --git a/gclient.py b/gclient.py |
index 55305bd8c4b2493766dfa995b9ad735a50613da0..3a5a669bb35be80a1196a054342f29235136090b 100644 |
--- a/gclient.py |
+++ b/gclient.py |
@@ -450,11 +450,15 @@ solutions = [ |
# Raise a new exception with the human readable message: |
raise gclient_utils.Error('\n'.join(error_message)) |
for s in config_dict.get('solutions', []): |
- self.dependencies.append(Dependency( |
- self, s['name'], s['url'], |
- s.get('safesync_url', None), |
- s.get('custom_deps', {}), |
- s.get('custom_vars', {}))) |
+ try: |
+ self.dependencies.append(Dependency( |
+ self, s['name'], s['url'], |
+ s.get('safesync_url', None), |
+ s.get('custom_deps', {}), |
+ s.get('custom_vars', {}))) |
+ except KeyError: |
+ raise gclient_utils.Error('Invalid .gclient file. Solution is ' |
+ 'incomplete: %s' % s) |
# .gclient can have hooks. |
self.deps_hooks = config_dict.get('hooks', []) |