diff options
| author | Dave Geddes | 2012-10-21 00:37:59 -0600 |
|---|---|---|
| committer | Igor Minar | 2013-03-05 23:35:13 -0800 |
| commit | 7a77fdae4f6a1a03734374aacc7264ebd6dbe94d (patch) | |
| tree | 603153ab33e9927adf72b3316a10c44f504430f9 /docs/src | |
| parent | b13da18e11d5f67696906d1ecd2fc9e753d50da4 (diff) | |
| download | angular.js-7a77fdae4f6a1a03734374aacc7264ebd6dbe94d.tar.bz2 | |
chore(Grunt): switch from Rake to Grunt
Migrates the Angular project from Rake to Grunt.
Benefits:
- Drops Ruby dependency
- Lowers barrier to entry for contributions from JavaScript ninjas
- Simplifies the Angular project setup and build process
- Adopts industry-standard tools specific to JavaScript projects
- Support building angular.js on Windows platform (really?!? why?!?)
BREAKING CHANGE: Rake is completely replaced by Grunt. Below are the deprecated Rake tasks and their Grunt equivalents:
rake --> grunt
rake package --> grunt package
rake init --> N/A
rake clean --> grunt clean
rake concat_scenario --> grunt build:scenario
rake concat --> grunt build
rake concat_scenario --> grunt build:scenario
rake minify --> grunt minify
rake version --> grunt write:version
rake docs --> grunt docs
rake webserver --> grunt webserver
rake test --> grunt test
rake test:unit --> grunt test:unit
rake test:<jqlite|jquery|modules|e2e> --> grunt test:<jqlite|jquery|modules|end2end|e2e>
rake test[Firefox+Safari] --> grunt test --browsers Firefox,Safari
rake test[Safari] --> grunt test --browsers Safari
rake autotest --> grunt autotest
NOTES:
* For convenience grunt test:e2e starts a webserver for you, while grunt test:end2end doesn't.
Use grunt test:end2end if you already have the webserver running.
* Removes duplicate entry for Describe.js in the angularScenario section of angularFiles.js
* Updates docs/src/gen-docs.js to use #done intead of the deprecated #end
* Uses grunt-contrib-connect instead of lib/nodeserver (removed)
* Removes nodeserver.sh, travis now uses grunt webserver
* Built and minified files are identical to Rake's output, with the exception of one less
character for git revisions (using --short) and a couple minor whitespace differences
Closes #199
Conflicts:
Rakefile
Diffstat (limited to 'docs/src')
| -rwxr-xr-x | docs/src/gen-docs.js | 12 | ||||
| -rw-r--r-- | docs/src/ngdoc.js | 2 | ||||
| -rw-r--r-- | docs/src/reader.js | 5 | ||||
| -rw-r--r-- | docs/src/templates/.htaccess | 2 | ||||
| -rw-r--r-- | docs/src/writer.js | 9 |
5 files changed, 13 insertions, 17 deletions
diff --git a/docs/src/gen-docs.js b/docs/src/gen-docs.js index 62d22b17..992c4527 100755 --- a/docs/src/gen-docs.js +++ b/docs/src/gen-docs.js @@ -5,10 +5,6 @@ var reader = require('./reader.js'), appCache = require('./appCache.js').appCache, Q = require('qq'); -process.on('uncaughtException', function(err) { - console.error(err.stack || err); -}); - var start = now(); var docs; @@ -42,10 +38,10 @@ writer.makeDir('build/docs/', true).then(function() { function writeTheRest(writesFuture) { var metadata = ngdoc.metadata(docs); - writesFuture.push(writer.symlinkTemplate('css')); - writesFuture.push(writer.symlinkTemplate('font')); - writesFuture.push(writer.symlink('../../docs/img', 'build/docs/img')); - writesFuture.push(writer.symlinkTemplate('js')); + writesFuture.push(writer.symlinkTemplate('css', 'dir')); + writesFuture.push(writer.symlinkTemplate('font', 'dir')); + writesFuture.push(writer.symlink('../../docs/img', 'build/docs/img', 'dir')); + writesFuture.push(writer.symlinkTemplate('js', 'dir')); var manifest = 'manifest="/build/docs/appcache.manifest"'; diff --git a/docs/src/ngdoc.js b/docs/src/ngdoc.js index 253f5411..37e90a15 100644 --- a/docs/src/ngdoc.js +++ b/docs/src/ngdoc.js @@ -203,7 +203,7 @@ Doc.prototype = { flush(); this.shortName = this.name.split(/[\.:#]/).pop().trim(); this.id = this.id || // if we have an id just use it - (((this.file||'').match(/.*\/([^\/]*)\.ngdoc/)||{})[1]) || // try to extract it from file name + (((this.file||'').match(/.*(\/|\\)([^(\/|\\)]*)\.ngdoc/)||{})[2]) || // try to extract it from file name this.name; // default to name this.description = this.markdown(this.description); this.example = this.markdown(this.example); diff --git a/docs/src/reader.js b/docs/src/reader.js index ded573c1..a021c05f 100644 --- a/docs/src/reader.js +++ b/docs/src/reader.js @@ -7,7 +7,8 @@ exports.collect = collect; var ngdoc = require('./ngdoc.js'), Q = require('qq'), - qfs = require('q-fs'); + qfs = require('q-fs'), + PATH = require('path'); var NEW_LINE = /\n\r?/; @@ -43,7 +44,7 @@ function collect() { var work2; if (file.match(/\.ngdoc$/)) { work2 = Q.when(qfs.read(file, 'b'), function(content){ - var section = '@section ' + file.split('/')[2] + '\n'; + var section = '@section ' + file.split(PATH.sep)[2] + '\n'; allDocs.push(new ngdoc.Doc(section + content.toString(),file, 1).parse()); }); } diff --git a/docs/src/templates/.htaccess b/docs/src/templates/.htaccess index 98c7b795..e5a74cc4 100644 --- a/docs/src/templates/.htaccess +++ b/docs/src/templates/.htaccess @@ -4,7 +4,7 @@ # current angular version. If this rule matches the appcache-offline.manifest will be served for # requests to appcache.manifest # -# This file must be processed by Rake in order to replace %ANGULAR_VERSION% with the actual version. +# This file must be processed by Grunt in order to replace %ANGULAR_VERSION% with the actual version. Options -Indexes RewriteEngine on diff --git a/docs/src/writer.js b/docs/src/writer.js index 450f7cb5..b6403e34 100644 --- a/docs/src/writer.js +++ b/docs/src/writer.js @@ -61,22 +61,21 @@ exports.copy = function(from, to, transform) { exports.symlink = symlink; -function symlink(from, to) { +function symlink(from, to, type) { return qfs.exists(to).then(function(exists) { if (!exists) { - return qfs.symbolicLink(to, from); + return qfs.symbolicLink(to, from, type); } }); } exports.symlinkTemplate = symlinkTemplate; -function symlinkTemplate(filename) { +function symlinkTemplate(filename, type) { var dest = OUTPUT_DIR + filename, dirDepth = dest.split('/').length, src = Array(dirDepth).join('../') + 'docs/src/templates/' + filename; - - return symlink(src, dest); + return symlink(src, dest, type); } |
