[TIMOB-16812] Remove "npm install" from scons and add NPM dependencies to git repo
GitHub Issue | n/a |
---|---|
Type | Improvement |
Priority | Medium |
Status | Closed |
Resolution | Fixed |
Resolution Date | 2014-04-12T04:47:32.000+0000 |
Affected Version/s | n/a |
Fix Version/s | 2014 Sprint 07, 2014 Sprint 07 Tooling, Release 3.3.0 |
Components | Tooling |
Labels | qe-closed-3.3.0 |
Reporter | Chris Barber |
Assignee | Chris Barber |
Created | 2014-04-04T19:30:10.000+0000 |
Updated | 2014-06-29T22:50:01.000+0000 |
Description
We are changing the process for handling node-appc to accommodate a number of goals:
1. Remove the "npm install" phase from scons
2. Allow scons to build faster
3. Allow dev team to build without requiring git
4. Allow dev team to build without Internet access
5. Avoid dev team downtime when NPM is experiencing an outage
6. Eliminate corrupt SDK CI builds when NPM is experiencing an outage
7. Eliminate the need for CI builds of node-appc. We can just have automated testing run on the published NPM version.
Right now, Titanium SDK's master branch is pointing to node-appc by its git repo: git://github.com/appcelerator/node-appc.git. The 3_2_X branch is pointing to the published "0.2.1-alpha" release.
The changes will be:
1. Publish the latest and greatest node-appc as version "0.2.1". This will be a public, GA release.
2. Lock down the node-appc version in the Titanium CLI and Titanium SDK in both master and 3_2_X branches to "0.2.1".
3. Remove the "npm install" call from scons
4. Commit all Titanium SDK NPM dependencies directly into Titanium Mobile's git repo.
5. Add a script that updates the NPM modules in the Titanium Mobile repo. This script will be periodically manually run. This script will live in the Titanium Mobile repo.
As new features and bug fixes are added to node-appc, new releases of node-appc will be published to NPM. This will not affect stable Titanium CLI or SDK releases since they are already locked down. After a significant change to node-appc has been committed and published, a pull request back to Titanium CLI and SDK will be made updating the package.json's node-appc version and an update of the NPM modules.
Master pull request: https://github.com/appcelerator/titanium_mobile/pull/5589
To test, simply build the SDK, then do a few things such as "ti info" and build an app.