Skip to content

Commit 816e673

Browse files
committed
refactor duplicated build & deploy process
1 parent c9a52c1 commit 816e673

File tree

1 file changed

+39
-54
lines changed

1 file changed

+39
-54
lines changed

lib/index.js

Lines changed: 39 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -53,33 +53,7 @@ var Embark = {
5353
self.config.reloadConfig();
5454
callback();
5555
},
56-
function deployAndBuildContractsManager(callback) {
57-
Embark.monitor.setStatus("Redeploying changed Contracts");
58-
Embark.buildAndDeploy(function(contractsManager) {
59-
callback(null, contractsManager);
60-
});
61-
},
62-
function generateConsoleABI(contractsManager, callback) {
63-
var abiGenerator = new ABIGenerator(self.config.blockchainConfig, contractsManager);
64-
var consoleABI = abiGenerator.generateABI({useEmbarkJS: false});
65-
Embark.console.runCode(consoleABI);
66-
callback(null, contractsManager);
67-
},
68-
function generateABI(contractsManager, callback) {
69-
var abiGenerator = new ABIGenerator(self.config.blockchainConfig, contractsManager);
70-
callback(null, abiGenerator.generateABI({useEmbarkJS: true}));
71-
},
72-
function buildPipeline(abi, callback) {
73-
Embark.monitor.setStatus("Building Assets");
74-
var pipeline = new Pipeline({
75-
buildDir: self.config.buildDir,
76-
contractsFiles: self.config.contractsFiles,
77-
assetFiles: self.config.assetFiles,
78-
logger: self.logger
79-
});
80-
pipeline.build(abi);
81-
callback();
82-
}
56+
self.buildDeployGenerate.bind(self)
8357
], function(err, result) {
8458
Embark.monitor.setStatus("Ready");
8559
self.logger.trace("finished".underline);
@@ -112,33 +86,7 @@ var Embark = {
11286
Embark.servicesMonitor.startMonitor();
11387
callback();
11488
},
115-
function deployAndBuildContractsManager(callback) {
116-
Embark.monitor.setStatus("Deploying Contracts");
117-
Embark.buildAndDeploy(function(contractsManager) {
118-
callback(null, contractsManager);
119-
});
120-
},
121-
function generateConsoleABI(contractsManager, callback) {
122-
var abiGenerator = new ABIGenerator(self.config.blockchainConfig, contractsManager);
123-
var consoleABI = abiGenerator.generateABI({useEmbarkJS: false});
124-
Embark.console.runCode(consoleABI);
125-
callback(null, contractsManager);
126-
},
127-
function generateABI(contractsManager, callback) {
128-
var abiGenerator = new ABIGenerator(self.config.blockchainConfig, contractsManager);
129-
callback(null, abiGenerator.generateABI({useEmbarkJS: true}));
130-
},
131-
function buildPipeline(abi, callback) {
132-
Embark.monitor.setStatus("Building Assets");
133-
var pipeline = new Pipeline({
134-
buildDir: self.config.buildDir,
135-
contractsFiles: self.config.contractsFiles,
136-
assetFiles: self.config.assetFiles,
137-
logger: self.logger
138-
});
139-
pipeline.build(abi);
140-
callback();
141-
},
89+
self.buildDeployGenerate.bind(self),
14290
function startAssetServer(callback) {
14391
Embark.monitor.setStatus("Starting Server");
14492
var server = new Server({logger: self.logger, port: options.serverPort});
@@ -252,6 +200,43 @@ var Embark = {
252200
});
253201
},
254202

203+
204+
buildDeployGenerate: function(done) {
205+
var self = this;
206+
207+
async.waterfall([
208+
function deployAndBuildContractsManager(callback) {
209+
Embark.monitor.setStatus("Deploying Contracts");
210+
Embark.buildAndDeploy(function(contractsManager) {
211+
callback(null, contractsManager);
212+
});
213+
},
214+
function generateConsoleABI(contractsManager, callback) {
215+
var abiGenerator = new ABIGenerator(self.config.blockchainConfig, contractsManager);
216+
var consoleABI = abiGenerator.generateABI({useEmbarkJS: false});
217+
Embark.console.runCode(consoleABI);
218+
callback(null, contractsManager);
219+
},
220+
function generateABI(contractsManager, callback) {
221+
var abiGenerator = new ABIGenerator(self.config.blockchainConfig, contractsManager);
222+
callback(null, abiGenerator.generateABI({useEmbarkJS: true}));
223+
},
224+
function buildPipeline(abi, callback) {
225+
Embark.monitor.setStatus("Building Assets");
226+
var pipeline = new Pipeline({
227+
buildDir: self.config.buildDir,
228+
contractsFiles: self.config.contractsFiles,
229+
assetFiles: self.config.assetFiles,
230+
logger: self.logger
231+
});
232+
pipeline.build(abi);
233+
callback();
234+
}
235+
], function(err, result) {
236+
done(result);
237+
});
238+
},
239+
255240
initTests: function(options) {
256241
return new Test(options);
257242
},

0 commit comments

Comments
 (0)