Gaia/Build/RefactoringToNodejs: Difference between revisions

Jump to navigation Jump to search
no edit summary
No edit summary
Line 15: Line 15:
== Stage 0 ==
== Stage 0 ==


'''Milestone: Enable test suites for node build script (1 sprint)'''
'''Milestone: Enable test suites for node build script'''
'''Schedule: 1 sprint'''


For finding out potential risks during node refactoring, we're going to enable build test suites for node.js beforehand, namely (Gbn/Gbun) in Treeherder and target on gaia-try, try and b2g-inbound. After that, the light of Gbn and Gbun will keep red for a while until stage 1 is finished.
For finding out potential risks during node refactoring, we're going to enable build test suites for node.js beforehand, namely (Gbn/Gbun) in Treeherder and target on gaia-try, try and b2g-inbound. After that, the light of Gbn and Gbun will keep red for a while until stage 1 is finished.
Line 27: Line 28:


'''Milestone: Complete the implementation of node build scripts that coexist with XPCShell and pass Gbn / Gbun tests (2 sprints)'''  
'''Milestone: Complete the implementation of node build scripts that coexist with XPCShell and pass Gbn / Gbun tests (2 sprints)'''  
'''Schedule: 2 ~ 3 sprints'''


Focus on refactoring build system core functionality (parallel build, webapp-manifests, preferences, webapp-optimize, webapp-zip... etc). All of them exist certain specific code only use for XPCShell. Unfinished [http://nodejs.org/ Node.js] build script (build/node-utils.js) is already located in Gaia for a while (See also: {{Bug|955988}}. We should keep working on it and keep both Node and XPCShell compatible in build system. After that, Gbn and Gbun should be green and set visible.
Focus on refactoring build system core functionality (parallel build, webapp-manifests, preferences, webapp-optimize, webapp-zip... etc). All of them exist certain specific code only use for XPCShell. Unfinished [http://nodejs.org/ Node.js] build script (build/node-utils.js) is already located in Gaia for a while (See also: {{Bug|955988}}. We should keep working on it and keep both Node and XPCShell compatible in build system. After that, Gbn and Gbun should be green and set visible.
Line 77: Line 79:


'''Milestone: Using NPM modules to build up a pure JS build system instead of Makefile.'''
'''Milestone: Using NPM modules to build up a pure JS build system instead of Makefile.'''
'''Schedule: 4 sprints'''


In stage 2, we're going to rewrite Makefile into JS module. Currently, we'll choose [http://gulpjs.com/ Gulp.js] for our new build system. In order to rewrite Makefile into JS module, Gulp's [https://github.com/gulpjs/gulp#incremental-builds incremental builds] and stream workflow seems to meet our needs. I'm looking forward to seeing a readable and maintainable gulpfile.js in Firefox OS.
In stage 2, we're going to rewrite Makefile into JS module. Currently, we'll choose [http://gulpjs.com/ Gulp.js] for our new build system. In order to rewrite Makefile into JS module, Gulp's [https://github.com/gulpjs/gulp#incremental-builds incremental builds] and stream workflow seems to meet our needs. I'm looking forward to seeing a readable and maintainable gulpfile.js in Firefox OS.
Line 85: Line 88:


== Stage 3 (Draft) ==
== Stage 3 (Draft) ==
'''Milestone: Turn on node build script by default and remove all legacy APIs.'''
'''Milestone: Turn on node build script by default and remove all legacy APIs.'''
'''Schedule: 2 sprints'''


Until stage 1 and stage 2 are stable, we're going to enable node build script by default and remove all legacy APIs.
Until stage 1 and stage 2 are stable, we're going to enable node build script by default and remove all legacy APIs.
Confirmed users
429

edits

Navigation menu