forked from angular/angular
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdartapidocs.js
More file actions
37 lines (31 loc) · 1.05 KB
/
dartapidocs.js
File metadata and controls
37 lines (31 loc) · 1.05 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
var Q = require('q');
var readline = require('readline');
var spawn = require('child_process').spawn;
var util = require('./util');
module.exports = function(gulp, plugins, config) {
config.output = config.output || 'doc/api';
return util.forEachSubDirSequential(config.dest, function(dir) {
var defer = Q.defer();
var done = defer.makeNodeResolver();
var supportedModules = [
'dist/dart/angular2',
'dist/dart/benchpress'
];
if (supportedModules.indexOf(dir) === -1) {
done();
} else {
console.log('INFO: running dartdoc for ', dir);
var stream = spawn(config.command, ['--output=' + config.output],
{stdio: [process.stdin, process.stdout, process.stderr], cwd: dir});
stream.on('exit', function(code) {
if (code !== 0) {
done('ERROR: dartdoc exited with non-zero status ' + code);
} else {
done();
}
});
stream.on('error', function(e) { done('ERROR: dartdoc reported error: ' + e); });
}
return defer.promise;
});
};