aboutsummaryrefslogtreecommitdiffstats
path: root/docs/src
diff options
context:
space:
mode:
authorDave Geddes2012-10-21 00:37:59 -0600
committerIgor Minar2013-03-05 23:00:33 -0800
commit79b51d5b578927bd510123c81953e7cc8c72f211 (patch)
tree1499ce8bdb464671b711744974e883583d22b083 /docs/src
parentfe8d893b839e9b14e3e55a3a0523cc1e6355bdd5 (diff)
downloadangular.js-79b51d5b578927bd510123c81953e7cc8c72f211.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
Diffstat (limited to 'docs/src')
-rwxr-xr-xdocs/src/gen-docs.js12
-rw-r--r--docs/src/ngdoc.js2
-rw-r--r--docs/src/reader.js5
-rw-r--r--docs/src/templates/.htaccess2
-rw-r--r--docs/src/writer.js9
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);
}