[TIMOB-6288] Android (and mobileweb): Move simplejson and mako out of Android-specific folders to make them generally available
GitHub Issue | n/a |
---|---|
Type | Story |
Priority | High |
Status | Closed |
Resolution | Fixed |
Resolution Date | 2012-02-23T11:59:06.000+0000 |
Affected Version/s | Release 1.8.0.1 |
Fix Version/s | Sprint 2012-04, Release 2.0.0 |
Components | Android |
Labels | n/a |
Reporter | Bill Dawson |
Assignee | Bill Dawson |
Created | 2011-11-22T18:21:43.000+0000 |
Updated | 2014-02-04T00:46:15.000+0000 |
Description
Our Mobile Web team needs simplejson, and it's packaged under support/android. There shouldn't be a need for mobileweb to depend on android (i.e., if someone builds the sdk with
scons mobileweb=true
they won't even get android.)
Testing Notes
Prerequisites
* Pull, build and release the pull request's branch (obviously). That's actually the first test, because the build (scons) has changed via this pull request. * Make sure you do not have simplejson, mako and markdown libraries in your python installation (otherwise you're not really testing anything). You can check this by runningpython
, then once you are inside the python interactive shell, tryimport markdown
,import mako
andimport simplejson
. They should all **fail**. If one or more of them do not fail, you need to go find the library in your filesystem and change its name.Create and Run Project
* Use Titanium Studio to create a new Mobile project. Select at least iphone, android, and mobile web as the deployment targets, and be sure to select 2.0.0 as the SDK version. * After the project has been created successfully, run it on all three platforms: in the iPhone simulator/device, Android emulator/device and Mobile Web browser.Fastdev
* Test Fastdev (Android with Emulator). The Fastdev test steps are here: http://wiki.appcelerator.org/display/tp/Fastdev+Test+Case. You only need to test steps 1001 and 1002 (in that order) in the test plan, but feel free to knock yourself out. (The reason you only need to test that is because the only thing that changed for fastdev was the location of the python simplejson module, and runningtitanium fastdev status
while fastdev is running will make use of the simplejson library.)Document Generation
* In the Titanium Mobile SDK source folder, go to the apidoc folder. * Run the commandpython docgen.py
. Make sure there are no runtime errors. * Run the commandpython docgen.py -f jsca --stdout
. Make sure it completes successfully, which means that a bunch of Javascript (JSON) will fly by on your screen. This is good. * Run the commandpython validate.py
. Make sure it completes without a **runtime** error. I emphasize **runtime** error because you will in fact get some error messages about validation problems in our apidocs. Those are expected. What you *don't* want to see is the validation stopping because of a runtime error, i.e., the kind of error when it shows you a python stack trace.Modules
**NOTE:** For these module tests, makes sure that you use thetitanium.py
for 2.0.0, and *not* from the source tree (under support/), but from its *installed location* (the root of the 2.0.0 distribution). * Create an iPhone module.titanium.py create --type=module --id=xx.xxx --name=testmod --platform=iphone
for example. * If the module is created successfully, go into its folder and runpython build.py
. When it's finished running it should say "BUILD SUCCEEDED". * Create an Android module as well.titanium create --type=module --id=xx.xxx --name=testmod --platform=android
for example. * If the module is created successfully, go into its folder and runant
. It should say BUILD SUCCESSFUL at the end.Drillbit
* Run drillbit and run at least one test suite for at least one platform. You don't need to run them all.My changes are ready to roll, but we need TIMOB-6315 first.
We need simplejson for building modules as well.
Bill what's the reason why you are blocked on TIMOB-6315 for merging this in? We may also need this for that ticket as well. I have already run into this for module builds on windows.
Chicken+Egg. QE won't accept a PR for these changes until they're able to build on windows, because they'll need to test scons on all platforms after these changes.
You can submit this PR now the Windows issue is resolved.
Pull request ready https://github.com/appcelerator/titanium_mobile/pull/1438
Closing task.