1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- var util = require("util"),
- Promise = require("promised-io").Promise,
- spawn = require('child_process').spawn,
- fs = require("fs");
- module.exports.tasks = {
- exec: function(options,config,logger){
- var p = new Promise();
-
- logger.info("platform is: " + process.platform);
-
- var opt;
- Array.from(options).each(function(o){
- if (o.os.contains(process.platform)){
- opt = o;
- }
- });
-
- var opts = Object.merge({ cwd: undefined,
- env: process.env,
- customFds: [-1, -1, -1],
- setsid: false
- },opt.options);
- logger.warn("type of process.env: " + typeOf(process.env));
-
- var exec = spawn(opt.cmd,opt.args,opt.options);
-
-
- exec.stdout.on("data",function(data){
- logger.info(data);
- });
-
- exec.stderr.on('data', function(data) {
- logger.debug('exec errored: ' + data);
- throw new Error(data);
- });
-
- exec.on('exit', function(code) {
- p.resolve(true);
- });
-
- return p;
- }
- };
|