diff options
author | sdefresne@chromium.org <sdefresne@chromium.org@78cadc50-ecff-11dd-a971-7dbc132099af> | 2014-08-01 09:21:10 +0000 |
---|---|---|
committer | sdefresne@chromium.org <sdefresne@chromium.org@78cadc50-ecff-11dd-a971-7dbc132099af> | 2014-08-01 09:21:10 +0000 |
commit | cd5d655d509fa48b699c20ce86ab395f4169b953 (patch) | |
tree | 1a75912ae61764df12c8d590159fbd3b851b57ed | |
parent | ac2684beed6e8ca04ac5f837c9db869eefec7bb5 (diff) | |
download | gyp-cd5d655d509fa48b699c20ce86ab395f4169b953.tar.gz |
Guard against configurations without 'xcode_settings'
e.g. test/generator-output/src/prog1.gyp
TEST=Run
./gyptest.py -f xcode-ninja test/generator-output/gyptest-top-all.py
Expected to fail with
OSError: [Errno 13] Permission denied: 'prog1.ninja.xcworkspace'
(instead of KeyError: 'xcode_settings')
R=sdefresne@chromium.org, justincohen@chromium.org
Review URL: https://codereview.chromium.org/428913002
git-svn-id: http://gyp.googlecode.com/svn/trunk@1960 78cadc50-ecff-11dd-a971-7dbc132099af
-rw-r--r-- | pylib/gyp/xcode_ninja.py | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/pylib/gyp/xcode_ninja.py b/pylib/gyp/xcode_ninja.py index 2a89fa98..a005dfde 100644 --- a/pylib/gyp/xcode_ninja.py +++ b/pylib/gyp/xcode_ninja.py @@ -80,7 +80,8 @@ def _TargetFromSpec(old_spec, params): if 'configurations' in old_spec: for config in old_spec['configurations'].iterkeys(): - old_xcode_settings = old_spec['configurations'][config]['xcode_settings'] + old_xcode_settings = \ + old_spec['configurations'][config].get('xcode_settings', {}) if 'IPHONEOS_DEPLOYMENT_TARGET' in old_xcode_settings: new_xcode_settings['CODE_SIGNING_REQUIRED'] = "NO" new_xcode_settings['IPHONEOS_DEPLOYMENT_TARGET'] = \ |