You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by fi...@apache.org on 2016/12/03 00:57:10 UTC
ios commit: Removing no-longer-working and generally-unused
`diagnose_project` script
Repository: cordova-ios
Updated Branches:
refs/heads/master 0c201c423 -> 412b253e5
Removing no-longer-working and generally-unused `diagnose_project` script
Project: http://git-wip-us.apache.org/repos/asf/cordova-ios/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-ios/commit/412b253e
Tree: http://git-wip-us.apache.org/repos/asf/cordova-ios/tree/412b253e
Diff: http://git-wip-us.apache.org/repos/asf/cordova-ios/diff/412b253e
Branch: refs/heads/master
Commit: 412b253e59eee10376278b57ef98d9fe1842d3a4
Parents: 0c201c4
Author: filmaj <ma...@gmail.com>
Authored: Fri Dec 2 16:54:26 2016 -0800
Committer: filmaj <ma...@gmail.com>
Committed: Fri Dec 2 16:54:26 2016 -0800
----------------------------------------------------------------------
bin/diagnose_project | 217 ----------------------------------------------
1 file changed, 217 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/412b253e/bin/diagnose_project
----------------------------------------------------------------------
diff --git a/bin/diagnose_project b/bin/diagnose_project
deleted file mode 100755
index 1879fe1..0000000
--- a/bin/diagnose_project
+++ /dev/null
@@ -1,217 +0,0 @@
-#!/usr/bin/python
-"""
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied. See the License for the
-specific language governing permissions and limitations
-under the License.
-"""
-"""
-Prints out information regarding a Cordova project for diagnostic purposes.
-Currently this only reports information but does not give any recommendations yet.
-
-Usage: CordovaVersion/bin/diagnose_project path/to/your/app.xcodeproj
-"""
-
-import os
-import sys
-import plistlib
-import shutil
-import tempfile
-import pprint
-
-def Usage():
- print __doc__
- sys.exit(1)
-
-def AbsParentPath(path):
- return os.path.abspath(os.path.join(path, os.path.pardir))
-
-def AbsProjectPath(relative_path):
- # Do an extra abspath here to strip off trailing / if present.
- project_path = os.path.abspath(relative_path)
- if project_path.endswith('.pbxproj'):
- project_path = AbsParentPath(project_path)
- elif project_path.endswith('.xcodeproj'):
- pass
- else:
- raise Exception('The following is not a valid path to an XCode project: %s' % project_path)
- return project_path
-
-def getXcodePlist(pbxPath):
- tmpfile = tempfile.mktemp (".xml")
- os.system("plutil -convert xml1 -o %s %s" % (tmpfile, pbxPath))
-
- return plistlib.readPlist( tmpfile )
-
-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'] ]
-
- buildSettings = {};
-
- bclist = allObjects[ rootObj['buildConfigurationList'] ]['buildConfigurations']
- for conflist in bclist:
- cl = allObjects[conflist];
- clname = cl.get("name", 'no name')
- buildSettings[clname] = {}
- for key in diagKeys:
- val = cl['buildSettings'].get(key, '(not found)')
- 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:
- Usage()
-
- project_path = AbsProjectPath(argv[1])
- parent_project_path = AbsParentPath(project_path)
-
- projPbx = os.path.join(project_path, 'project.pbxproj')
-
- buildSettingsKeys = ['HEADER_SEARCH_PATHS', 'ARCHS', 'USER_HEADER_SEARCH_PATHS', 'IPHONEOS_DEPLOYMENT_TARGET', 'OTHER_LDFLAGS', 'GCC_VERSION']
-
- projPlist = getXcodePlist(projPbx)
- allObjects = projPlist['objects']
- rootObj = allObjects[ projPlist['rootObject'] ]
-
- print "\n\n-------------------------------------BEGIN--------------------------------------"
- print "Inspecting project: %s" % (projPbx)
-
- print "\n\n--------------------------------------------------------------------------------"
- print "Finding your project's sub-projects...\n"
-
- subprojKeys = ['name', 'path', 'sourceTree']
- subprojValues = []
-
- subprojRef = rootObj['projectReferences']
- for subproj in subprojRef:
- sp = {}
- subprojGroup = allObjects[ subproj['ProjectRef'] ]
- for key in subprojKeys:
- val = subprojGroup.get(key, "(not found)")
- sp[key] = val;
- print "Sub-project:", sp
- subprojValues.append(sp)
-
-
- print "\n\n--------------------------------------------------------------------------------"
- print "Inspecting your project's Build Settings...\n"
-
- buildSettings = getXcodeBuildSettings(buildSettingsKeys, projPlist)
- pp = pprint.PrettyPrinter(indent=4)
-
- for key in buildSettings:
- print key, ":"
- pp.pprint(buildSettings[key])
-
- print "\n\n--------------------------------------------------------------------------------"
- print "Inspecting Xcode Preferences...\n"
-
- xcodeBinaryPrefsPath = os.path.join( os.path.expanduser("~"), "Library", "Preferences", "com.apple.dt.Xcode.plist" );
- xcodePrefsPlist = getXcodePlist(xcodeBinaryPrefsPath)
-
- ideSetting = xcodePrefsPlist.get('IDEApplicationwideBuildSettings', {})
- xcodeCordovaLib = ideSetting.get("CORDOVALIB", "(not found)")
- print "CORDOVALIB:", xcodeCordovaLib
- print "Build Location Style:", xcodePrefsPlist.get('IDEBuildLocationStyle', "(unknown)")
-
- print "\n\n--------------------------------------------------------------------------------"
- print "Inspecting your CordovaLib's Build Settings...\n"
-
- cdvlibPath = None
- cdvlibProjName = 'CordovaLib.xcodeproj'
-
- 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)."
- cdvlibPath = os.path.join( xcodeCordovaLib, cdvlibProjName)
- else:
- print "Your project is *NOT* using the CORDOVALIB Xcode variable (source tree)."
- cdvlibPath = sp['path']
-
- 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', 'ARCHS[sdk=iphoneos*]', 'ARCHS[sdk=iphoneos6.*]', 'ARCHS[sdk=iphonesimulator*]', 'USER_HEADER_SEARCH_PATHS', 'IPHONEOS_DEPLOYMENT_TARGET', 'OTHER_LDFLAGS', 'GCC_VERSION']
-
- cdvBuildSettings = getXcodeBuildSettings(cdvBuildSettingsKeys, cdvPlist)
- pp.pprint( cdvBuildSettings )
-
- print "\n\n--------------------------------------------------------------------------------"
- print "Inspecting CordovaLib Version...\n"
-
- cdvlibFolder = AbsParentPath(cdvlibNormalizedPath)
- cdvlibVersionFile = os.path.join( cdvlibFolder, "VERSION")
-
- try:
- vf = open(cdvlibVersionFile, 'r')
- print "VERSION file:", vf.readline()
- vf.close()
- except:
- print "VERSION file not found at:", cdvlibVersionFile
-
- cdvlibAvailabilityFile = os.path.join( cdvlibFolder, "Classes", "CDVAvailability.h" )
- try:
- af = open(cdvlibAvailabilityFile, 'r')
- match = "#define CORDOVA_VERSION_MIN_REQUIRED"
- for line in af:
- if match in line:
- print "CDVAvailability.h version:", line.strip().replace(match, ""),
- af.close()
- except:
- print "CDVAvailability.h file not found at:", cdvlibAvailabilityFile,
-
- print "\n\n--------------------------------------END---------------------------------------"
-
-if __name__ == '__main__':
- main(sys.argv)
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cordova.apache.org
For additional commands, e-mail: commits-help@cordova.apache.org