resources/RooUsage.txt
[app.Builder.js] / src / Main.vala
index ad0b22e..df5d6f4 100644 (file)
@@ -9,7 +9,7 @@ int main (string[] args) {
        
        
        
-    
+       new JsRender.Lang_Class();
 
        var app =  BuilderApplication.singleton(  args);
        
@@ -21,31 +21,83 @@ int main (string[] args) {
                });
        }
        
-    if (BuilderApplication.opt_bjs_compile != null) {
+     
+       if (BuilderApplication.opt_list_projects) {
                 
                //BuilderApplication.compileBjs();
-        print("compile BJS comming soon");
-               
+        Project.Project.loadAll();
+               print("Projects\n %s\n", Project.Project.listAllToString());
                GLib.Process.exit(Posix.EXIT_SUCCESS);
        }
-       if (BuilderApplication.opt_list_projects) {
+    Project.Project.loadAll();
+    
+    if (BuilderApplication.opt_list_projects) {
                 
                //BuilderApplication.compileBjs();
-        Project.Project.loadAll();
-               Project.Project.listAll();
+
+               print("Projects\n %s\n", Project.Project.listAllToString());
                GLib.Process.exit(Posix.EXIT_SUCCESS);
        }
-       
-      if (BuilderApplication.opt_bjs_compile != null) {
+       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();
-        print("compile BJS comming soon");
+               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<str_ar.length;i++) {
+               var node = file.tree.lineToNode(i+1);
+               var prop = node == null ? null : node.lineToProp(i+1);
+               print("%d: %s   :  %s\n", 
+                       i+1, 
+                       node == null ? "......"  : (prop == null ? "????????" : prop),
+                       str_ar[i]
+                       );
+        }
                
                GLib.Process.exit(Posix.EXIT_SUCCESS);
        }
        
     
-       if (BuilderApplication.opt_compile_project != null) {
+       if (BuilderApplication.opt_compile_target != null) {
                 
                Palete.ValaSourceCompiler.buildApplication();
                
@@ -59,7 +111,7 @@ int main (string[] args) {
        Gtk.init (ref args);
         
        GtkClutter.init (ref args);
-       new JsRender.Lang_Class();
+
        GLib.Log.set_always_fatal(LogLevelFlags.LEVEL_ERROR | LogLevelFlags.LEVEL_CRITICAL);