-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathexec.js
43 lines (38 loc) · 924 Bytes
/
exec.js
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
38
39
40
41
42
43
//
// Wrapper for exec for running tasks.
//
module.exports = function (config, log) {
return function (cmd, options) {
var exec = require('./promised-exec');
var opts = options || {};
log.verbose("Running command: " + cmd);
return exec(cmd, opts)
.then(function (output) {
if (config.verbose) {
log.verbose("== Stdout == ");
log.verbose(output.stdout);
log.verbose("== Stderr == ");
log.verbose(output.stderr);
}
return output.stdout;
})
.catch(function (err) {
if (!opts.dontFailOnError) {
log.error("Failure due to error in command. ");
log.warn("Command: " + cmd);
log.warn("Error code: " + err.code);
log.warn("== Stdout == ");
log.warn(err.stdout);
log.warn("== Stderr == ");
log.warn(err.stderr);
throw err;
}
else {
return {
stdout: err.stdout,
stderr: err.stderr,
};
}
});
};
};