'use strict'; var childProcess = require("child_process"); var rfr = require("rfr"); var logStream = rfr("lib/gulp/log-stream"); module.exports = function runProcess(path, args) { var options = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2]; if (options.logger != null) { options.logger.info("Starting " + path + "..."); } var proc = childProcess.spawn(path, args, options); if (options.logger != null) { logStream(proc.stdout, options.logger.log); logStream(proc.stderr, options.logger.error); } proc.on("error", function (err) { if (options.logger != null) { options.logger.error(err.stack); } }); proc.on("close", function (code) { options.logger.info("Exited with code " + code.toString() + ": " + path + "."); }); };