X-Git-Url: http://git.roojs.org/?a=blobdiff_plain;f=src%2FMain.vala;h=df5d6f47bec49067dc0716459cf0485fdf26586a;hb=a8b66892c7c6bf95db7c231045b08bcd36733fa2;hp=5ba0d7b5917330e47ff11f2e486d72fbce5baee8;hpb=a0b2c7b56b558f654d9e49dfe737487987cdabd4;p=app.Builder.js diff --git a/src/Main.vala b/src/Main.vala index 5ba0d7b59..df5d6f47b 100644 --- a/src/Main.vala +++ b/src/Main.vala @@ -5,13 +5,119 @@ */ int main (string[] args) { - Gtk.init (ref args); + + + + + new JsRender.Lang_Class(); - var app = Builder4.Application.singleton(); + 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