Overview
Plan
Milestone 1
Initial landing stage. Since our new build system plan is around splitting a build process into two steps including configuring and building. This stage will focus on building up a configuration modules - configure.js and using GUN make as our build back-end to produce final target. New build system should be landed and coexist with current build system.
- Deliverable: A new Makefile target to trigger configure.js modules should be landed in Gaia code base. The configure.js can generate a Makefile and produce a proper PROFILE_DIR.
- Expected schedule: 4 week
- Breakdowns:
- 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 will generate DAG for Makefile
- The configure.js should read build config to re-generate DAG
- 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: TBD
- Expected schedule: week
- Breakdowns:
- Enable build integration test Gbn (Gaia Build New) for new build system in treeherder
- In order to abandon .PHONY targets, we should split all modules and app/build.js into small tasks. It means split into configuring & building steps.
- Introduce DAG tree in configure.js architecture for supporting parallel build
- Generate a config.status
Milestone 3
- Deliverable: TBD
- Expected schedule: week
- Breakdowns: