Gaia/Build/NewBuildSystem: Difference between revisions

Jump to navigation Jump to search
Line 22: Line 22:
== Milestone 2 ==
== Milestone 2 ==


After initial landing step being done, we should first introduce a new integration test suite for stabilization. Second thing is to abandon Makefile's PHONY targets as many as possible, so we could have a faster build by taking the advantage of Makefile's incremental build. Finally, configure.js should be able to connect with different build back-end. In order to achieve this aim, we eventually come out a new phase - config.status for preparing the next step (replacing build back-end). The idea of config.status is charged with
After initial landing step being done, we should abandon Makefile's PHONY targets as many as possible, so we could have a faster build by taking the advantage of Makefile's incremental build. The configure.js should be able to connect with different build back-end. In order to achieve this aim, we eventually come out a new phase - config.status for preparing the next step (replacing build back-end). The idea of config.status is charged with the task of tell back-end tool how to build the tree which includes scanning the build system definition and constructing a DAG data structure for representing task dependency and supporting parallel build natively. It means config.status will be generated by configure.js and output a build-file for back-end consumption (e.g. a `make` back-end will write a `Makefile`).
the task of tell back-end tool how to build the tree which includes scanning the build system definition and constructing a DAG data structure for representing task dependency and supporting parallel build natively. It means config.status will be generated by configure.js and output a build-file for back-end consumption (e.g. a `make` back-end will write a `Makefile`).


* '''Deliverable:''' Stabilization & Efficient incremental build & Implement config.status
* '''Deliverable:''' Stabilization & Efficient incremental build & Implement config.status
* '''Expected schedule:''' 6 - 8 week
* '''Expected schedule:''' 6 - 8 week
* '''Breakdowns:'''
* '''Breakdowns:'''
# Enable build integration test Gbn (Gaia Build New) in treeherder for new build system
# Split all modules and app/build.js into small tasks. It means split into configuring & building steps.
# Split all modules and app/build.js into small tasks. It means split into configuring & building steps.
# Implement config.status.
# Implement config.status.
Confirmed users
429

edits

Navigation menu