Merge pull request #572 from embark-framework/bug_fix/embark-build-writes-pipeline

Fix for `embark build --contracts` writing into the pipeline
This commit is contained in:
Iuri Matias 2018-06-25 13:54:07 -04:00 committed by GitHub
commit 0ba5f1a1b3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -194,7 +194,9 @@ class Embark {
engine.startService("libraryManager");
engine.startService("codeRunner");
engine.startService("web3");
engine.startService("pipeline");
if (!options.onlyCompile) {
engine.startService("pipeline");
}
engine.startService("deployment", {onlyCompile: options.onlyCompile});
engine.startService("storage");
engine.startService("codeGenerator");
@ -206,21 +208,30 @@ class Embark {
});
},
function waitForWriteFinish(callback) {
if (options.onlyCompile) {
engine.logger.info("Finished compiling".underline);
return callback(null, true);
}
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);
if (!engine.config.assetFiles || !Object.keys(engine.config.assetFiles).length) {
return callback();
}
engine.events.on('outputDone', (err) => {
engine.logger.info(__("finished building").underline);
callback(err, true);
});
}
], function (err, _result) {
], function (err, canExit) {
if (err) {
engine.logger.error(err.message);
engine.logger.debug(err.stack);
} else {
engine.logger.info(__("finished building").underline);
}
// needed due to child processes
process.exit();
if (canExit || !engine.config.contractsConfig.afterDeploy || !engine.config.contractsConfig.afterDeploy.length) {
process.exit();
}
engine.logger.info(__('Waiting for after deploy to finish...'));
engine.logger.info(__('You can exit with CTRL+C when after deploy completes'));
});
}