ngui-tools
Version:
A GUI typesetting display engine and cross platform GUI application development framework based on NodeJS/OpenGL
65 lines (61 loc) • 2.12 kB
JavaScript
var util = require('ngui-stew');
var fs = require('ngui-stew/fs');
var { NGUIBuild } = require('../toolchain/build');
var { NGUIExport } = require('../toolchain/export');
var server = require('../toolchain/server');
var arguments = require('ngui-stew/arguments');
var args = process.argv.slice(2);
var cmd = args.shift();
var opts = arguments.options;
var help_info = arguments.helpInfo;
var def_opts = arguments.defOpts;
def_opts(['help','h'], 0, '-h, --help print help info');
def_opts(['port', 'p'], 1026, '--port=PORT,-p PORT Run ngui debugger server port [{0}]');
def_opts(['remote', 'r'], '', '--remote=ADDRESS,-r ADDRESS Remote console address [none]');
if ( opts.help || opts.h /*cmd == 'help' || cmd == 'h'*/ ) {
console.log('');
console.log('Usage: ngui COMMAND [OS]');
console.log('Usage: ngui [OPTION]...');
console.log('');
console.log('Examples:');
console.log('`ngui init`');
console.log('`ngui build`');
console.log('`ngui rebuild`');
console.log('`ngui export ios`');
console.log('`ngui export android`');
console.log('`ngui clear`');
console.log('`ngui`');
console.log('`ngui -r http://192.168.1.124:1026`');
console.log('');
console.log('Defaults for the options are specified in brackets.');
console.log('');
console.log('Options:');
console.log(' ' + help_info.join('\n '));
console.log('');
return;
}
else if ( cmd == 'export' ) {
util.assert(args.length, 'export Bad argument. system name required, for example "ngui export ios"');
new NGUIExport(process.cwd(), args[0]).export();
}
else if ( cmd == 'build' || cmd == 'rebuild' || cmd == 'init' ) {
if ( cmd == 'rebuild' ) {
fs.rm_r_sync(process.cwd() + '/out/install');
fs.rm_r_sync(process.cwd() + '/out/libs');
fs.rm_r_sync(process.cwd() + '/out/public');
}
var build = new NGUIBuild(process.cwd(), process.cwd() + '/out');
if ( cmd == 'init' ) {
build.initialize();
} else {
build.build();
}
}
else if ( cmd == 'clear' ) {
fs.rm_r_sync(process.cwd() + '/out');
}
else {
// run wrb server
server.start_server(arguments.options);
}