Titanium JIRA Archive
Titanium SDK/CLI (TIMOB)

[TIMOB-12017] Replace SCons build scripts with SDK Builder

GitHub Issuen/a
TypeNew Feature
PriorityHigh
StatusClosed
ResolutionInvalid
Resolution Date2013-10-07T05:18:42.000+0000
Affected Version/sRelease 3.0.0
Fix Version/s2013 Sprint 20, 2013 Sprint 20 Tooling
ComponentsTooling
Labelsn/a
ReporterChris Barber
AssigneeChristian Sullivan
Created2012-12-11T01:06:31.000+0000
Updated2013-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.

Comments

  1. Ingo Muschenetz 2013-09-20

    Deferring this for ti.next ATM.

JSON Source