[TIMOB-18706] Windows: Build- Cannot build Titanium project on a Windows machine
GitHub Issue | n/a |
---|---|
Type | Bug |
Priority | Critical |
Status | Closed |
Resolution | Fixed |
Resolution Date | 2015-03-17T00:24:16.000+0000 |
Affected Version/s | n/a |
Fix Version/s | Release 4.0.0, Release 4.1.0 |
Components | Android |
Labels | qe-4.0.0, regression |
Reporter | Wilson Luu |
Assignee | Gary Mathews |
Created | 2015-03-16T20:53:17.000+0000 |
Updated | 2015-03-20T00:00:45.000+0000 |
Description
*Details:* Cannot build Titanium project on a Windows machine; longjohn error is returned.
*Note:* This is a *regression* from SDK build 3.5.1.GA i.e. I can build a Titanium project with SDK 3.5.1.GA.
*Steps to reproduce:*
1. Create a Titanium project from CLI
2. Run:
ti build
*Actual:* Longjohn error is returned:
C:\Users\QE\AppData\Roaming\npm\node_modules\titanium\node_modules\longjohn\dist\longjohn.js:185
throw e;
^
TypeError: Object.keys called on non-object
at Function.keys (native)
at C:\ProgramData\Titanium\mobilesdk\win32\4.0.0.v20150313181810\node_modules\windowslib\lib\windowsphone.js:89:16
at done (C:\ProgramData\Titanium\mobilesdk\win32\4.0.0.v20150313181810\node_modules\windowslib\node_modules\async\lib\async.js:135:19)
at C:\ProgramData\Titanium\mobilesdk\win32\4.0.0.v20150313181810\node_modules\windowslib\node_modules\async\lib\async.js:32:16
at C:\ProgramData\Titanium\mobilesdk\win32\4.0.0.v20150313181810\node_modules\windowslib\lib\windowsphone.js:85:5
at ChildProcess.<anonymous> (C:\ProgramData\Titanium\mobilesdk\win32\4.0.0.v20150313181810\node_modules\node-appc\lib\subprocess.js:60:3)
at ChildProcess.emit (events.js:98:17)
at maybeClose (child_process.js:766:16)
at Socket.<anonymous> (child_process.js:979:11)
---------------------------------------------
at Object.run (C:\ProgramData\Titanium\mobilesdk\win32\4.0.0.v20150313181810\node_modules\node-appc\lib\subprocess.js:59:8)
at async.each.results.issues.push.id (C:\ProgramData\Titanium\mobilesdk\win32\4.0.0.v20150313181810\node_modules\windowslib\lib\windowsphone.js:64:20)
at C:\ProgramData\Titanium\mobilesdk\win32\4.0.0.v20150313181810\node_modules\windowslib\node_modules\async\lib\async.js:125:13
at Array.forEach (native)
at _each (C:\ProgramData\Titanium\mobilesdk\win32\4.0.0.v20150313181810\node_modules\windowslib\node_modules\async\lib\async.js:46:24)
at async.each (C:\ProgramData\Titanium\mobilesdk\win32\4.0.0.v20150313181810\node_modules\windowslib\node_modules\async\lib\async.js:124:9)
at C:\ProgramData\Titanium\mobilesdk\win32\4.0.0.v20150313181810\node_modules\windowslib\lib\windowsphone.js:63:9
at C:\ProgramData\Titanium\mobilesdk\win32\4.0.0.v20150313181810\node_modules\windowslib\lib\utilities.js:48:3
*Expected:* Should be able to build and run the Titanium project on a Windows machine.
Is windowslib supposed to be on 4.0.0? I wonder if we need to fix something based on the titanium_prep changes we made.
[~wluu] when was this last tested?
[~ingo] Today, before 12:00 pm. I was verifying a ticket in Arrow.
[~wluu] Did it fail then? I mean, when is the last time it worked?
[~ingo] Ooo. I'm not sure when it last worked on SDK 4.0.0 branch. But, it did work on SDK 3.5.1.GA.
Problem : The Windows Phone SDK isn't installed causing the registry paths to be invalid. This causes _results.windowsphone_ to still be _null_ when it hits _windowsphone.js_ {quote} L89: if (!Object.keys(results.windowsphone).length) { {quote} Solution : Initialize _results.windowsphone_ to not be _null_ PR: https://github.com/appcelerator/titanium_mobile/pull/6730
PR : https://github.com/appcelerator/windowslib/pull/12
master: https://github.com/appcelerator/titanium_mobile/pull/6731 4_0_X: https://github.com/appcelerator/titanium_mobile/pull/6732
FR ok. PRs merged.
Closing ticket as fixed. Verified that you can build a Titanium project on a Windows machine. Tested on: SDK build: 4.0.0.v20150317234215 CLI build: 4.0.0-alpha OS: Windows 8 (64-bit)
Fixed. Thanks!
No problem!