don't stop on contract fail

This commit is contained in:
Jonathan Rainville 2018-09-12 11:55:29 -04:00
parent ef4134015c
commit 9f7a932252
1 changed files with 24 additions and 17 deletions

View File

@ -52,6 +52,7 @@ class DeployManager {
self.events.emit("deploy:beforeAll"); self.events.emit("deploy:beforeAll");
const contractDeploys = {}; const contractDeploys = {};
const errors = [];
contracts.forEach(contract => { contracts.forEach(contract => {
function deploy(result, callback) { function deploy(result, callback) {
if (typeof result === 'function') { if (typeof result === 'function') {
@ -59,7 +60,11 @@ class DeployManager {
} }
contract._gasLimit = self.gasLimit; contract._gasLimit = self.gasLimit;
self.events.request('deploy:contract', contract, (err) => { self.events.request('deploy:contract', contract, (err) => {
callback(err); if (err) {
contract.error = err.message || err;
errors.push(err);
}
callback();
}); });
} }
@ -72,15 +77,13 @@ class DeployManager {
contractDeploys[className].push(deploy); contractDeploys[className].push(deploy);
}); });
async.auto(contractDeploys, function(err, _results) { try {
if (err) { async.auto(contractDeploys, function(_err, _results) {
if (errors.length) {
self.logger.error(__("error deploying contracts")); self.logger.error(__("error deploying contracts"));
if(err.message !== undefined) { errors.forEach(error => {
self.logger.error(err.message); self.logger.error(error.message || error);
self.logger.debug(err.stack); });
} else {
self.logger.error(err);
}
} }
if (contracts.length === 0) { if (contracts.length === 0) {
self.logger.info(__("no contracts found")); self.logger.info(__("no contracts found"));
@ -89,6 +92,10 @@ class DeployManager {
self.logger.info(__("finished deploying contracts")); self.logger.info(__("finished deploying contracts"));
done(err); done(err);
}); });
} catch (e) {
self.logger.error(e.message || e);
done(__('Error deploying'));
}
}); });
}); });
} }