[TIMOB-12017] Replace SCons build scripts with SDK Builder
GitHub Issue | n/a |
---|---|
Type | New Feature |
Priority | High |
Status | Closed |
Resolution | Invalid |
Resolution Date | 2013-10-07T05:18:42.000+0000 |
Affected Version/s | Release 3.0.0 |
Fix Version/s | 2013 Sprint 20, 2013 Sprint 20 Tooling |
Components | Tooling |
Labels | n/a |
Reporter | Chris Barber |
Assignee | Christian Sullivan |
Created | 2012-12-11T01:06:31.000+0000 |
Updated | 2013-10-07T05:18:42.000+0000 |
Description
This is the top level issue for tracking the restructuring of the titanium_mobile repository and its build scripts.
This is a list of high level components and functional components:
*Repository Changes*
* Should we move titanium_mobile repo to titanium_mobile_old and create a new titanium_mobile repo?
** What about pending pull requests?
*Submodules*
* Use git hooks for auto updating
* Support submodule-specific scripting (i.e. doc generation)
*Experimentation*
* Test submodules
* Hooks
* How to split repos and keep history (filter subtree?)
* Branch management
*Splitting up the titanium_mobile repo*
* Move android, iphone, and mobileweb into separate repos
** Rename iphone to ios
* Add supported OSes to package.json
* Move anvil, apidocs to separate repos
* Move support/templates, support/node_modules, and package.json to root
*Remove deprecated directories/files*
* bugtests
* demos
* drillbit
* site_scons
* Remove all unused Python scripts
* Remove support directory
*Replace scons with a node.js-based build system*
* Document current scons process
* Responsible for managing the submodule'd platforms
* Compile platform-specific resources (in parallel)
* Install SDK locally
* Assemble distribution files per operating system (Mac, Linux, Windows)
* Compile documentation
* Download npm dependencies
* Manage branches and releases via a configuration file
* Integration with Jenkins CI server
* Minimal dependencies
** No global libraries (i.e. jake)
** Build dependency's node_modules directory must NOT conflict with node_modules needed for SDK builds
*Continuous Integration*
* Create OS specific CI servers for monitoring specific platform repos
* Run Anvil on each master/major.minor merge
* Pre-compile V8
* Fetch latest platform-specific builds from S3, then assemble release
* Upload builds to S3
Suggestion is to first start with ensuring BB and Windows Mobile are integrated into the existing process (they are currently stand-alone repos_ and then proceed to split out titanium_mobile into separate repos once that process is well tested.
Estimate time for tasks and various options.
Deferring this for ti.next ATM.