Updated Moving to NPM and Grunt (markdown)

Paul Spencer
2013-07-22 08:00:00 -07:00
parent eb080834b4
commit f0f721dbf3
+11 -2
@@ -1,6 +1,6 @@
This is a collection of information about, and hopefully decisions for, a move away from pake/build.py to nodejs for the cli development tool chain.
@tschaub is the primary motivator for this work as stated by Tim near the top of [this thread](https://groups.google.com/forum/#!topic/ol3-dev/FeE5dTFgel8), in summary
@tschaub is the primary motivator for this work as stated near the top of [this thread](https://groups.google.com/forum/#!topic/ol3-dev/FeE5dTFgel8), in summary
> I'm hoping this doesn't get taken the wrong way, but my motivation for node-ifying ol3 is that I see more promise in .js based tools for managing JavaScript projects. Things like gjslint are hard dependencies now, but I want to be positioned to leverage other tools as the .py ones become outdated.
@@ -30,6 +30,8 @@ versus
Initially, then, only the most obviously useful targets will be defined for things like `build`, which will build all the permutations, to simplify the target list. These would eventually evolve to include finer grained control once npm supports flags.
@elemoine has expressed some concerns about using npm run-scripts to wrap grunt tasks. If everyone agrees that asking a user to `npm install -g grunt-cli` is not a problem then the build system can easily be documented as grunt tasks.
## Using npm for installation
### From Source
@@ -162,6 +164,14 @@ what grunt tasks are required (based on npm script targets) and how we can poten
## Notes and Related Information
### Dependencies
Java and Python will likely continue to be dependencies of the system configuration required to run the build tools because of the use of the closure compiler (java) and gjslint (python).
Need to consider the distinction between build tool dependencies and build dependencies within the system.
Need to ensure the build system is efficient, i.e. minimum number of steps to accomplish a task using only changed files where possible for instance.
### Email threads
[https://groups.google.com/forum/#!topic/ol3-dev/B2GUz9xvtUE](https://groups.google.com/forum/#!topic/ol3-dev/B2GUz9xvtUE) - Tim's initial Node and ol3 thread
@@ -197,4 +207,3 @@ These things will need to be downloaded:
* [https://github.com/openlayers/ol3/wiki/Build-Tools-Specs](https://github.com/openlayers/ol3/wiki/Build-Tools-Specs)
* [https://github.com/cedricmoullet/ol3/wiki/My-HOWTO](https://github.com/cedricmoullet/ol3/wiki/My-HOWTO)
* [https://github.com/openlayers/ol3/wiki/Developer-Guide](https://github.com/openlayers/ol3/wiki/Developer-Guide)