Gaia/Build/NewBuildSystem

< Gaia‎ | Build

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:
  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: TBD
  • Expected schedule: week
  • Breakdowns:
  1. Enable build integration test Gbn (Gaia Build New) for new build system in treeherder
  2. 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.
  3. Introduce DAG tree in configure.js architecture for supporting parallel build
  4. Generate a config.status


Milestone 3

  • Deliverable: TBD
  • Expected schedule: week
  • Breakdowns: