X-Git-Url: http://git.roojs.org/?a=blobdiff_plain;f=src%2FMain.vala;h=df5d6f47bec49067dc0716459cf0485fdf26586a;hb=e3b3c362a18cd63487a65bfa0230a9162a49ff8a;hp=1067821060d6a85f3dac37decd943873a38736c9;hpb=84b35ad23660025cb55d568a3458adf4263d8d77;p=app.Builder.js diff --git a/src/Main.vala b/src/Main.vala index 106782106..df5d6f47b 100644 --- a/src/Main.vala +++ b/src/Main.vala @@ -9,13 +9,115 @@ int main (string[] args) { - Gtk.init (ref args); + new JsRender.Lang_Class(); - var app = BuilderApplication.singleton(ref args); + var app = BuilderApplication.singleton( args); + + if (BuilderApplication.opt_debug || BuilderApplication.opt_compile_project == null) { + GLib.Log.set_handler(null, + GLib.LogLevelFlags.LEVEL_DEBUG | GLib.LogLevelFlags.LEVEL_WARNING, + (dom, lvl, msg) => { + print("%s: %s\n", dom, msg); + }); + } + + + if (BuilderApplication.opt_list_projects) { + + //BuilderApplication.compileBjs(); + Project.Project.loadAll(); + print("Projects\n %s\n", Project.Project.listAllToString()); + GLib.Process.exit(Posix.EXIT_SUCCESS); + } + Project.Project.loadAll(); + + if (BuilderApplication.opt_list_projects) { + + //BuilderApplication.compileBjs(); + + print("Projects\n %s\n", Project.Project.listAllToString()); + GLib.Process.exit(Posix.EXIT_SUCCESS); + } + Project.Project cur_project = null; + if (BuilderApplication.opt_compile_project != null) { + + + cur_project = Project.Project.getProjectByHash( BuilderApplication.opt_compile_project); + + if (cur_project == null) { + GLib.error("invalid project %s, use --list-projects to show project ids",BuilderApplication.opt_compile_project); + } + cur_project.scanDirs(); + + + } + + if (BuilderApplication.opt_list_files) { + if (cur_project == null) { + GLib.error("missing project, use --project to select which project"); + } + print("Files for %s\n %s\n", cur_project.name, cur_project.listAllFilesToString()); + GLib.Process.exit(Posix.EXIT_SUCCESS); + } + + if (BuilderApplication.opt_bjs_compile != null) { + if (cur_project == null) { + GLib.error("missing project, use --project to select which project"); + } + var file = cur_project.getByName(BuilderApplication.opt_bjs_compile); + if (file == null) { + GLib.error("missing file %s in project %s", BuilderApplication.opt_bjs_compile, cur_project.name); + } + //BuilderApplication.compileBjs(); + file.loadItems(); + var str = file.toSourceCode(); + + + if (!BuilderApplication.opt_debug) { + print("%s", str); + GLib.Process.exit(Posix.EXIT_SUCCESS); + } + + // dump the node tree + file.tree.dumpProps(); + + + var str_ar = str.split("\n"); + for(var i =0;i