Titanium JIRA Archive
Titanium SDK/CLI (TIMOB)

[TIMOB-2592] iOS: Errors from Xcode's build.log should be printed in results from builder.py

GitHub Issuen/a
TypeBug
PriorityLow
StatusClosed
ResolutionFixed
Resolution Date2011-04-17T01:59:32.000+0000
Affected Version/sn/a
Fix Version/sRelease 1.6.0 M04
ComponentsiOS
Labelsdefect, ios, release-1.6.0, tooling, xcode
ReporterMarshall Culpepper
AssigneeMarshall Culpepper
Created2011-04-15T03:23:54.000+0000
Updated2011-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 **

Comments

  1. David Gouldin 2011-04-15

    Pull request submitted, fix in [b3480490840a3a6e6418].

  2. Jeff Haynie 2011-04-15

    (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...

  3. Thomas Huelbert 2011-04-15

    [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

JSON Source