Commit f2fd72cb by Dane Springmeyer

build.js: improve error handling

parent 56632ea2
...@@ -94,6 +94,11 @@ function build(opts,callback) { ...@@ -94,6 +94,11 @@ function build(opts,callback) {
} }
var shell_args = ['rebuild'].concat(opts.args); var shell_args = ['rebuild'].concat(opts.args);
var cmd = cp.spawn(shell_cmd,shell_args, {cwd: undefined, env: process.env, customFds: [ 0, 1, 2]}); var cmd = cp.spawn(shell_cmd,shell_args, {cwd: undefined, env: process.env, customFds: [ 0, 1, 2]});
cmd.on('error', function (err) {
if (err) {
return callback(new Error("Failed to execute '" + shell_cmd + ' ' + shell_args.join(' ') + "' (" + err + ")"));
}
});
cmd.on('close', function (err, stdout, stderr) { cmd.on('close', function (err, stdout, stderr) {
if (err) { if (err) {
return callback(new Error("Failed to execute '" + shell_cmd + ' ' + shell_args.join(' ') + "' (" + err + ")")); return callback(new Error("Failed to execute '" + shell_cmd + ' ' + shell_args.join(' ') + "' (" + err + ")"));
...@@ -214,6 +219,7 @@ if (opts.force) { ...@@ -214,6 +219,7 @@ if (opts.force) {
util.download(from_shasum,{progress:false},function(err,expected_shasum_buffer) { util.download(from_shasum,{progress:false},function(err,expected_shasum_buffer) {
if (err) { if (err) {
log(from_shasum + ' not found, skipping shasum check (' + err + ')'); log(from_shasum + ' not found, skipping shasum check (' + err + ')');
return done();
} else { } else {
// now check shasum match // now check shasum match
var expected = expected_shasum_buffer.toString().trim(); var expected = expected_shasum_buffer.toString().trim();
...@@ -221,7 +227,6 @@ if (opts.force) { ...@@ -221,7 +227,6 @@ if (opts.force) {
return done(new Error("shasum does not match between remote and local: " + expected + ' ' + actual_shasum)); return done(new Error("shasum does not match between remote and local: " + expected + ' ' + actual_shasum));
} else { } else {
log('Sha1sum matches! ' + expected); log('Sha1sum matches! ' + expected);
}
// we are good: continue // we are good: continue
log('Extracting to ' + opts.paths.runtime_folder); log('Extracting to ' + opts.paths.runtime_folder);
new targz().extract(tmpfile, opts.paths.runtime_folder, function(err) { new targz().extract(tmpfile, opts.paths.runtime_folder, function(err) {
...@@ -235,6 +240,7 @@ if (opts.force) { ...@@ -235,6 +240,7 @@ if (opts.force) {
} }
}); });
} }
}
}); });
}); });
}); });
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment