Gaia/Build/RefactoringToNodejs: Difference between revisions

Line 107: Line 107:
## Gulp is not as much convenience as Makefile and doesn't support parallel building natively. Therefore, although plugins could help us build up a same parallel architecture of our current build system, it’s hard to split every task into dependency tree to take full advantage of multi-core CPU (like "make -j8").
## Gulp is not as much convenience as Makefile and doesn't support parallel building natively. Therefore, although plugins could help us build up a same parallel architecture of our current build system, it’s hard to split every task into dependency tree to take full advantage of multi-core CPU (like "make -j8").
# Build config change should trigger an efficient incremental build (Keyboard-layout=xxx should repack keyboard according to keyboard/build/build.js but don’t repack all apps)
# Build config change should trigger an efficient incremental build (Keyboard-layout=xxx should repack keyboard according to keyboard/build/build.js but don’t repack all apps)
# If To split every task into small task
# If we decide to build up our build system by GNU Make tool chain, considering to split up every task into small tasks would be very hard to implement. Furthermore, splitting into many small tasks mean that you have to deal with more I/O operations because you need to write more temporary file for communicating within each task, such thing will slow down  performance.
## It would work by condition plugins ex: gulp-if, gulp-filter, gulp-ignore…, but we these condition logic will mix inside our gulpfile.js. (Can we solve this problem in GNU tool chain?)
## It would work by condition plugins for instance gulp-if, gulp-filter, gulp-ignore…, but introducing these plugins mean that lots of condition logic will pollute inside gulpfile.js. (Can we solve this problem in GNU make tool chain?)
## Repack zip could be achieved by adding a new feature in gulp-zip (https://github.com/sindresorhus/gulp-zip/issues/45)
## Repack zip could be achieved by adding a new feature in gulp-zip (Issue is filed [https://github.com/sindresorhus/gulp-zip/issues/45 gulp-zip/issues/45]) and customize [https://www.npmjs.com/package/gulp-changed#haschanged hasChanged] comparator callback.


= Q & A =
= Q & A =
Confirmed users
429

edits