Gaia/Build/NewBuildSystem: Difference between revisions

From MozillaWiki
< Gaia‎ | Build
Jump to navigation Jump to search
No edit summary
Line 10: Line 10:
* '''Expected schedule:''' 4 week
* '''Expected schedule:''' 4 week
* '''Breakdowns:'''
* '''Breakdowns:'''
# Create a configure.js modules to generate a proper profile
# Create a configure.js modules to generate a proper profile
# The configure.js should know whether it will re-run itself or all.mk or not in an incremental build
# The configure.js should know whether it will re-run itself or all.mk or not in an incremental build
Line 24: Line 23:
* '''Expected schedule:''' 4 week
* '''Expected schedule:''' 4 week
* '''Breakdowns:'''
* '''Breakdowns:'''
# Introduce DAG tree to support multi-process
# Introduce DAG tree to support multi-process
# Split all modules into small tasks && app/build.js ( split into configuring & building steps ) (Get rid of .PHONY)
# Split all modules into small tasks && app/build.js ( split into configuring & building steps ) (Get rid of .PHONY)
# Generate a config.status ( build config? ) ( input DAG )
# Generate a config.status ( build config? ) ( input DAG )

Revision as of 07:09, 13 April 2015

Overview

Plan

Milestone 1

Initial landing step.

  • Deliverable: A new Makefile target to trigger configure.js modules should be check in Gaia code base. The configure.js can generate a Makefile and produce a proper PROFILE_DIR.
  • Expected schedule: 4 week
  • Breakdowns:
  1. Create a configure.js modules to generate a proper profile
  2. The configure.js should know whether it will re-run itself or all.mk or not in an incremental build
  3. The configure.js will generate DAG for Makefile
  4. The configure.js should read build config to re-generate DAG
  5. Split webapp-shared into small tasks in order to get rid of .PHONY target and split copy app configuring step & building step

Milestone 2

  • Deliverable:
  • Expected schedule: 4 week
  • Breakdowns:
  1. Introduce DAG tree to support multi-process
  2. Split all modules into small tasks && app/build.js ( split into configuring & building steps ) (Get rid of .PHONY)
  3. Generate a config.status ( build config? ) ( input DAG )