Gaia/Build/NewBuildSystem: Difference between revisions
Jump to navigation
Jump to search
Ricky Chien (talk | contribs) (→Plan) |
Ricky Chien (talk | contribs) (→Plan) |
||
| Line 5: | Line 5: | ||
== Milestone 1 == | == Milestone 1 == | ||
Initial landing | 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 | * '''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 | * '''Expected schedule:''' 4 week | ||
* '''Breakdowns:''' | * '''Breakdowns:''' | ||
| Line 17: | Line 17: | ||
== Milestone 2 == | == 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:''' | * '''Deliverable:''' TBD | ||
* '''Expected schedule:''' | * '''Expected schedule:''' week | ||
* '''Breakdowns:''' | * '''Breakdowns:''' | ||
# | # | ||
Revision as of 07:54, 13 April 2015
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: