[TIMOB-2592] iOS: Errors from Xcode's build.log should be printed in results from builder.py
GitHub Issue | n/a |
---|---|
Type | Bug |
Priority | Low |
Status | Closed |
Resolution | Fixed |
Resolution Date | 2011-04-17T01:59:32.000+0000 |
Affected Version/s | n/a |
Fix Version/s | Release 1.6.0 M04 |
Components | iOS |
Labels | defect, ios, release-1.6.0, tooling, xcode |
Reporter | Marshall Culpepper |
Assignee | Marshall Culpepper |
Created | 2011-04-15T03:23:54.000+0000 |
Updated | 2011-04-17T01:59:33.000+0000 |
Description
If any Xcode errors occur from the iOS builder.py (specifically in "install" or "distribute"), the error itself gets saved to build/iphone/build/build.log, but is not printed back to the console. Developer will show an alert dialog of the error output of the process, which ends up being a python stack trace, and not the error itself from Xcode. I can reproduce the problem by using an expired provisioning profile on KitchenSink from the "Run on Device" tab in Developer.
The builder.py call looks like (UUID-XXXX is the UUID of my profile, PROFILE_NAME is it's name. You can get both from Xcode):
/Library/Application\ Support/Titanium/mobilesdk/osx/1.5.0/iphone/builder.py install 4.0 ~/Code/titanium_mobile/demos/KitchenSink org.apcelerator.titanium.kitchensink KitchenSink UUID-XXXX PROFILE_NAME iphone
The python trace looks like:
[ERROR] Error: Traceback (most recent call last):
File "/Library/Application Support/Titanium/mobilesdk/osx/1.5.0/iphone/builder.py", line 1143, in main
execute_xcode("iphoneos%s" % iphone_version,args,False)
File "/Library/Application Support/Titanium/mobilesdk/osx/1.5.0/iphone/builder.py", line 925, in execute_xcode
output = run.run(args,False,False,o)
File "/Users/marshall/Code/titanium_mobile/dist/mobilesdk/osx/1.5.0/iphone/run.py", line 31, in run
sys.exit(rc)
SystemExit: 1
In Developer just the top part of this is clipped in an alert
dialog:
https://skitch.com/marshall.law/rffxp/titanium-developer">https://skitch.com/marshall.law/rffxp/titanium-developer
And finally, this is a snip of the actual error output of Xcode which resides in the project's build/iphone/build/build.log:
=== BUILD NATIVE TARGET KitchenSink OF PROJECT KitchenSink WITH CONFIGURATION Release ===
Check dependencies
Code Sign error: Provisioning profile 'XXXX' has expired
[BEROR]Code Sign error: Provisioning profile 'XXXX' has expired
** BUILD FAILED **
Pull request submitted, fix in [b3480490840a3a6e6418].
(from [ae63849554bd02749b24d9b9759eeb335d8be582]) [#2592 state:fixed-in-qa] Detect error messages in xcode build output. https://github.com/appcelerator/titanium_mobile/commit/ae63849554bd02749b24d9b9759eeb335d8be582"> https://github.com/appcelerator/titanium_mobile/commit/ae63849554bd...
[INFO] Titanium SDK version: 1.6.0 (01/13/11 08:11 7ca73a3) sim and device, used mismatched dev cert and provision file to generate errors