Updated Branches:
  refs/heads/master f03d50253 -> f187cdd74

[CB-1456] bin/diagnose_project script prints Build Settings from the project 
settings, not the target settings


Project: http://git-wip-us.apache.org/repos/asf/incubator-cordova-ios/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-cordova-ios/commit/f187cdd7
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cordova-ios/tree/f187cdd7
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cordova-ios/diff/f187cdd7

Branch: refs/heads/master
Commit: f187cdd742ae179263192abad231f26d153e9be8
Parents: f03d502
Author: Shazron Abdullah <shaz...@apache.org>
Authored: Thu Sep 13 18:54:22 2012 -0700
Committer: Shazron Abdullah <shaz...@apache.org>
Committed: Thu Sep 13 18:54:43 2012 -0700

----------------------------------------------------------------------
 bin/diagnose_project |   42 ++++++++++++++++++++++++++++++++++++++----
 1 files changed, 38 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-cordova-ios/blob/f187cdd7/bin/diagnose_project
----------------------------------------------------------------------
diff --git a/bin/diagnose_project b/bin/diagnose_project
index 810bb49..7e70ce6 100755
--- a/bin/diagnose_project
+++ b/bin/diagnose_project
@@ -37,7 +37,30 @@ def getXcodePlist(pbxPath):
 
        return plistlib.readPlist( tmpfile )
        
-def getXcodeBuildSettings(diagKeys, xcodePlist):
+def getTargetBuildSettings(diagKeys, xcodePlist):
+       allObjects = xcodePlist['objects']
+       rootObj = allObjects[ xcodePlist['rootObject'] ]
+       
+       buildSettings = {};
+       
+       targetguids = rootObj['targets']
+       for targetguid in targetguids:
+               target = allObjects[ targetguid ]
+               targetname = target['name']
+               targetSettings = {}
+               bclist = allObjects[ target['buildConfigurationList'] 
]['buildConfigurations']
+               for conflist in bclist:
+                       cl = allObjects[conflist];
+                       clname = cl.get("name", 'no name')
+                       targetSettings[clname] = {}
+                       for key in diagKeys:
+                               val = cl['buildSettings'].get(key, '(not 
found)')
+                               targetSettings[clname][key] = val
+               buildSettings[targetname] = targetSettings
+
+       return buildSettings
+
+def getProjectBuildSettings(diagKeys, xcodePlist):
        allObjects = xcodePlist['objects']
        rootObj = allObjects[ xcodePlist['rootObject'] ]
        
@@ -53,6 +76,16 @@ def getXcodeBuildSettings(diagKeys, xcodePlist):
                        buildSettings[clname][key] = val
        
        return buildSettings
+       
+def getXcodeBuildSettings(diagKeys, xcodePlist):
+       projectSettings = getProjectBuildSettings(diagKeys, xcodePlist)
+       targetSettings = getTargetBuildSettings(diagKeys, xcodePlist)
+
+       settings = {}
+       settings['Project'] = projectSettings
+       settings['Targets'] = targetSettings
+       
+       return settings
   
 def main(argv):
        if len(argv) != 2:
@@ -118,16 +151,17 @@ def main(argv):
        for sp in subprojValues:
          if cdvlibProjName in sp['path']:
                if 'CORDOVALIB' in sp['sourceTree']:
-                       print "Your project is using the CORDOVALIB Xcode 
variable (source tree)."
+                       print "Your project *IS* using the CORDOVALIB Xcode 
variable (source tree)."
                        cdvlibPath = os.path.join( xcodeCordovaLib, 
cdvlibProjName)
                else:
+                       print "Your project is *NOT* using the CORDOVALIB Xcode 
variable (source tree)."
                        cdvlibPath = sp['path']
        
-       print "Path is:", cdvlibPath, "\n"
-
        cdvlibNormalizedPath = os.path.normpath( 
os.path.join(parent_project_path, cdvlibPath) )
        cdvlibPbx = os.path.join( cdvlibNormalizedPath , 'project.pbxproj' )
 
+       print "Path is:", cdvlibNormalizedPath, "\n"
+
        cdvPlist = getXcodePlist(cdvlibPbx)
        cdvBuildSettingsKeys = ['PUBLIC_HEADERS_FOLDER_PATH', 'ARCHS', 
'USER_HEADER_SEARCH_PATHS', 'IPHONEOS_DEPLOYMENT_TARGET', 'OTHER_LDFLAGS', 
'GCC_VERSION']
 

Reply via email to