Titanium JIRA Archive
Titanium SDK/CLI (TIMOB)

[TIMOB-16452] scons doesn't build api.jsca

GitHub Issuen/a
TypeBug
PriorityLow
StatusClosed
ResolutionWon't Fix
Resolution Date2016-09-02T07:41:52.000+0000
Affected Version/sn/a
Fix Version/sn/a
ComponentsTooling
Labelsn/a
ReporterMatt Langston
AssigneeChris Barber
Created2014-02-12T02:12:56.000+0000
Updated2017-03-23T22:33:37.000+0000

Description

I can’t generate the jsca file, although I have installed pyyaml following the instructions in the error message (see below).
(titanium_mobile)titanium_mobile (master)$ time scons iphone=1 
scons: Reading SConscript files ...
Building MobileSDK version 3.3.0, githash 7d1bd72
scons: Reading SConscript files ...
scons: done reading SConscript files.
scons: Building targets ...
package_sdk(["dummy-sdk-target"], [])
Packaging MobileSDK (3.3.0)...
node-appc = git://github.com/appcelerator/node-appc.git
Calling npm from /Users/matt/Documents/Appcelerator/src/Appcelerator/titanium_mobile
Generating JSCA...
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python /Users/matt/Documents/Appcelerator/src/Appcelerator/titanium_mobile/apidoc/docgen.py -f jsca --stdout
Failed to generate JSCA JSON.  Output:
You don't have pyyaml!

You can install it with:

>  sudo easy_install pyyaml



scons: *** [dummy-sdk-target] Explicit exit, status 1
scons: building terminated because of errors.
Exception TypeError: "'NoneType' object is not callable" in <bound method Popen.__del__ of <subprocess.Popen object at 0x10c922d50>> ignored
Exception TypeError: "'NoneType' object is not callable" in <bound method Popen.__del__ of <subprocess.Popen object at 0x10c7bb590>> ignored

real 0m8.317s
user 0m6.272s
sys 0m2.444s
I ran both "easy_install pyyaml" (as instructed in the error message) and "pip install pyyaml", to no avail. This didn't work either:
sudo port install libyaml
sudo port install py27-yaml
However, with the two ports installed (i.e. libyaml and py27-yaml) I was able to run "./apidoc/docgen.py -f jsca" manually (outside of scons), and this worked on my MacBook Pro. This fix will not work on non-Mac platforms. The SDK's build infrastructure ".../apidoc/docgen.py -f jsca --stdout" doesn't work (it's as if the "--stdout" is piped to /dev/null by the scons process).

Comments

  1. Chris Barber 2014-02-12

    You need to make sure you have all of the Python dependencies correctly installed: https://wiki.appcelerator.org/display/guides2/Installing+Required+Python+Packages.
  2. Chris Barber 2016-09-02

    The Python-based scons build has been deprecated.
  3. Lee Morris 2017-03-23

    Closing ticket as Won't Fix with reference to the above comments.

JSON Source