Gaia/Build/NewBuildSystem: Difference between revisions

Jump to navigation Jump to search
Line 19: Line 19:


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 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
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.
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
Line 26: Line 26:
# Enable build integration test Gbn (Gaia Build New) in treeherder for new build system
# 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 phase which includes scanning the build system definition and a DAG data structure for representing task dependency and supporting parallel build.
# Implement config.status.
 


== Milestone 3 ==
== Milestone 3 ==
Confirmed users
429

edits

Navigation menu