Merge pull request #529 from embark-framework/bug_fix/after-deploy

Fix afterDeploy in build and also build files
This commit is contained in:
Iuri Matias 2018-06-14 10:44:53 -04:00 committed by GitHub
commit e63ca1855b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 15 additions and 6 deletions

View File

@ -133,8 +133,7 @@ class DeployManager {
return callback(new Error("error running afterDeploy"));
}
// TODO: convert to for to avoid repeated callback
for(let cmd of onDeployCode) {
async.each(onDeployCode, (cmd, eachCb) => {
self.logger.info("executing: " + cmd);
try {
RunCode.doEval(cmd, web3);
@ -142,11 +141,14 @@ class DeployManager {
if (e.message.indexOf("invalid opcode") >= 0) {
self.logger.error('the transaction was rejected; this usually happens due to a throw or a require, it can also happen due to an invalid operation');
}
return callback(new Error(e));
return eachCb(new Error(e));
}
}
eachCb();
}, (err) => {
callback(err, contractsManager);
});
callback(null, contractsManager);
}
], function (err, result) {
if (err) {

View File

@ -202,13 +202,20 @@ class Embark {
engine.deployManager.deployContracts(function (err) {
callback(err);
});
},
function waitForWriteFinish(callback) {
engine.logger.info("Finished deploying".underline);
// Necessary log for simple projects. This event is trigger to soon because there is no file
// Also, not exiting straight after the deploy leaves time for async afterDeploys to finish
engine.logger.info("If you have no files to build, you can exit now with CTRL+C");
engine.events.on('outputDone', callback);
}
], function (err, _result) {
if (err) {
engine.logger.error(err.message);
engine.logger.debug(err.stack);
} else {
engine.logger.info("finished building".underline);
engine.logger.info("Finished building".underline);
}
// needed due to child processes
process.exit();