Upgrade to ExtJS 4.0.1 - Released 05/18/2011
[extjs.git] / jsbuilder / src / generators / app / files / lib / JSBuilder / bin / Dispatch.js
1 var JSBuilderPath = system.cwd + '/lib/JSBuilder/';
2
3 load(JSBuilderPath + 'src/Loader.js');
4 Loader.setBasePath(JSBuilderPath + 'src');
5
6 Loader.require([
7     'Ext', 'Cmd', 'Filesystem', 'Platform', 'Cli', 'Logger', 'Project', 'Target', 'Package', 'Build'
8 ]);
9
10 /**
11  * @class Ext.CommandDispatcher
12  * @extends Object
13  * Dispaches to the relevant Cli subclass from the command line 'sencha' command. e.g.
14  * sencha generate xyz is dispatched to whichever Ext.Cli subclass registered itself to
15  * handler the 'generate' command (Ext.generator.Factory in this case).
16  */
17 Ext.CommandDispatcher = {
18     types: {},
19     
20     dispatch: function(module, args) {
21         new this.types[module]({args: args});
22     }
23 };
24
25 Ext.regDispatchable = function(name, constructor) {
26     Ext.CommandDispatcher.types[name] = constructor;
27 };
28
29 load('src/Generator.js');
30 load('src/generators/app/Application.js');
31 load('src/generators/controller/Controller.js');
32 load('src/generators/model/Model.js');
33
34 var args   = system.arguments,
35     module = args[0];
36
37 Ext.CommandDispatcher.dispatch(module, args.slice(1));