Uploaded image for project: 'Titanium SDK/CLI'
  1. Titanium SDK/CLI
  2. TIMOB-12017

Replace SCons build scripts with SDK Builder



      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?


      • Use git hooks for auto updating
      • Support submodule-specific scripting (i.e. doc generation)


      • 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.


          Issue Links



              • Assignee:
                csullivan Christian Sullivan
                cbarber Chris Barber
              • Watchers:
                4 Start watching this issue


                • Created:

                  Backbone Issue Sync

                  • Backbone Issue Sync is enabled for your project, but we do not have any synchronization info for this issue.

                    Git Integration