Closed Bug 1154583 Opened 9 years ago Closed 8 years ago

Configure re-run step - configure.js check the change files and ENV to decide whether to regenerate all.mk or not

Categories

(Firefox OS Graveyard :: Gaia::Build, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: rickychien, Assigned: gduan)

References

Details

Please visit new build system plan [1] for detail information. 

Configure.js should be able to decide whether to regenerate all.mk (a dynamic generated Makefile from configure.js) by checking build definitions and scanning changed files.


[1] https://wiki.mozilla.org/Gaia/Build/NewBuildSystem
No longer blocks: 1154582
Depends on: 1154582
Blocks: 1154585
WIP: https://github.com/cctuan/gaia/tree/1154583

I will add a configureDecider, and let dev to add what env and file to be cached, and return true if the current file or env is different than the cache.
Assignee: rchien → gduan
This module needs to remove clean-stage-app step, so that we can skip some steps by comparing the cache list and also keep the profile of 2nd make is exactly the same from 1st make.

However, we need to have a filter method for package to make sure we only package those files we need from build_stage instead of all of them.
Summarize the problems we have for current build system,

1. cache would not work, if there are two build steps trying to modify same file. 

ex: index.html would be copied to build_stage and cached in app's own build. It supposed to be ignored when 2nd build, however, webapp-optimize will also modify index.html in 1st build, so the timestamp would be updated and 2nd build would think index.html has been updated, so app's build would be not ignored.
 >>>> We'll only implement configDecider to app's own buildscript

2. too many unnecessary files in zip when changing config after remove clear-stage-app step, since we don't clear build_stage folder and all the folder would be zip to profile.
 >>>> We have no clear solution yet. Either using files filter in webapp-zip by config, or using api to manage ready-to-zip list and cross all build steps.
WIP, 
https://github.com/cctuan/gaia/commit/2722d3189efc2fa52f439f1111f1c6a4040b0f4a

make APP=bluetooth
1st make 2.477s
2nd make 1.776s

make APP=bluetooth
1st make 6.524s
2nd make 2.633s

issue 2 in comment 3 is still unsolved.
We're no longer working on plan of incremental build system.
Status: ASSIGNED → RESOLVED
Closed: 8 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.