mirror of https://github.com/embarklabs/embark.git
use commands to request upload; let storage component figure out which one to call
This commit is contained in:
parent
d40ae2f374
commit
44f5186af1
22
lib/index.js
22
lib/index.js
|
@ -327,34 +327,16 @@ class Embark {
|
||||||
engine.startService("codeGenerator");
|
engine.startService("codeGenerator");
|
||||||
callback();
|
callback();
|
||||||
},
|
},
|
||||||
function setupStoragePlugin(callback) {
|
function listLoadedPlugin(callback) {
|
||||||
let pluginList = engine.plugins.listPlugins();
|
let pluginList = engine.plugins.listPlugins();
|
||||||
if (pluginList.length > 0) {
|
if (pluginList.length > 0) {
|
||||||
engine.logger.info(__("loaded plugins") + ": " + pluginList.join(", "));
|
engine.logger.info(__("loaded plugins") + ": " + pluginList.join(", "));
|
||||||
}
|
}
|
||||||
|
|
||||||
// check use has input existing storage plugin
|
|
||||||
let cmdPlugins = engine.plugins.getPluginsFor('uploadCmds');
|
|
||||||
|
|
||||||
if (cmdPlugins.length > 0) {
|
|
||||||
cmdPlugin = cmdPlugins.find((pluginCmd) => {
|
|
||||||
return pluginCmd.uploadCmds.some(uploadCmd => {
|
|
||||||
return uploadCmd.cmd === platform;
|
|
||||||
});
|
|
||||||
});
|
|
||||||
}
|
|
||||||
if (!cmdPlugin) {
|
|
||||||
return callback({message: __('platform "{{platform}}" is specified as the upload provider, however no plugins have registered an upload command for "{{platform}}".', {platform: platform})});
|
|
||||||
}
|
|
||||||
callback();
|
callback();
|
||||||
},
|
},
|
||||||
function deploy(callback) {
|
function deploy(callback) {
|
||||||
engine.events.on('outputDone', function () {
|
engine.events.on('outputDone', function () {
|
||||||
cmdPlugin.uploadCmds[0].cb()
|
embark.events.request("storage:upload", callback);
|
||||||
.then((success) => {
|
|
||||||
callback(null, success);
|
|
||||||
})
|
|
||||||
.catch(callback);
|
|
||||||
});
|
});
|
||||||
engine.events.on('check:backOnline:Ethereum', function () {
|
engine.events.on('check:backOnline:Ethereum', function () {
|
||||||
engine.logger.info(__('Ethereum node detected') + '..');
|
engine.logger.info(__('Ethereum node detected') + '..');
|
||||||
|
|
|
@ -24,7 +24,7 @@ class IPFS {
|
||||||
configIpfsBin: this.storageConfig.ipfs_bin || "ipfs"
|
configIpfsBin: this.storageConfig.ipfs_bin || "ipfs"
|
||||||
});
|
});
|
||||||
|
|
||||||
this.embark.registerUploadCommand('ipfs', upload_ipfs.deploy.bind(upload_ipfs));
|
this.events.setCommandHandler('storage:upload:ipfs', upload_ipfs.deploy.bind(upload_ipfs));
|
||||||
}
|
}
|
||||||
|
|
||||||
setServiceCheck() {
|
setServiceCheck() {
|
||||||
|
|
|
@ -8,6 +8,7 @@ const constants = require('../../constants');
|
||||||
|
|
||||||
class Storage {
|
class Storage {
|
||||||
constructor(embark, options){
|
constructor(embark, options){
|
||||||
|
const self = this;
|
||||||
this._embark = embark;
|
this._embark = embark;
|
||||||
this._options = options;
|
this._options = options;
|
||||||
this._storageConfig = options.storageConfig;
|
this._storageConfig = options.storageConfig;
|
||||||
|
@ -33,6 +34,14 @@ class Storage {
|
||||||
if(_.contains(options.context, constants.contexts.upload) || _.contains(options.context, constants.contexts.run)){
|
if(_.contains(options.context, constants.contexts.upload) || _.contains(options.context, constants.contexts.run)){
|
||||||
this.startStorageProcesses();
|
this.startStorageProcesses();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
embark.events.setCommandHandler('storage:upload', (cb) => {
|
||||||
|
let platform = options.storageConfig.upload.provider;
|
||||||
|
|
||||||
|
if (['swarm', 'ipfs'].indexOf(platform) === -1) {
|
||||||
|
return cb({message: __('platform "{{platform}}" is specified as the upload provider, however no plugins have registered an upload command for "{{platform}}".', {platform: platform})});
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
_checkStorageEndpoint(platform, callback) {
|
_checkStorageEndpoint(platform, callback) {
|
||||||
|
|
|
@ -30,7 +30,7 @@ class Swarm {
|
||||||
bzz: this.bzz
|
bzz: this.bzz
|
||||||
});
|
});
|
||||||
|
|
||||||
this.embark.registerUploadCommand('swarm', this.upload_swarm.deploy.bind(this.upload_swarm));
|
this.events.setCommandHandler('storage:upload:swarm', this.upload_swarm.deploy.bind(this.upload_swarm));
|
||||||
}
|
}
|
||||||
|
|
||||||
setServiceCheck() {
|
setServiceCheck() {
|
||||||
|
|
Loading…
Reference in New Issue