roojspacker/DocBuilder.vala
authorAlan Knowles <alan@roojs.com>
Tue, 27 Jul 2021 02:56:47 +0000 (10:56 +0800)
committerAlan Knowles <alan@roojs.com>
Tue, 27 Jul 2021 02:56:47 +0000 (10:56 +0800)
roojspacker/DocBuilder.vala

index 4cb569d..76b71ce 100644 (file)
@@ -34,16 +34,44 @@ namespace JSDOC
                     
                    // this currently uses the concept of publish.js...
                    
-                   if (PackerRun.singleton().dump_tree) {
-                               var   generator = new Json.Generator ();
-                           var  root = new Json.Node(Json.NodeType.OBJECT);
+                   if (PackerRun.singleton().opt_doc_dump_tree) {
+                   
+                   
+                       var symbols = this.symbolSet.values();
+                   
+                                
+                               
+                        
+                               //print(JSON.stringify(symbols,null,4));
+                               var classes = new Gee.ArrayList<Symbol>();
+                               
+                               foreach(var symbol in symbols) {
+                                       if (symbol.isaClass()) { 
+                                               classes.add(symbol);
+                                       }
+                               }    
+                               classes.sort( (a,b) => {
+                                       return a.alias.collate(b.alias); 
+                               });
+                   
+                       var jsonAll = new Json.Object(); 
+                               for (var i = 0, l = classes.size; i < l; i++) {
+                                   var symbol = classes.get(i);
+                                        
+                                   jsonAll.set_object_member(symbol.alias,  this.publishJSON(symbol));
+
+                               }
+                               
+                               var generator = new Json.Generator ();
+                           var root = new Json.Node(Json.NodeType.OBJECT);
+                  
                                root.init_object(jsonAll);
                                generator.set_root (root);
                                generator.pretty=  true;
                                generator.indent = 2;
-                               GLib.warning("writing JSON:  %s", PackerRun.singleton().opt_doc_target+"/json/roodata.json");
-                               
-                               print(generator.to_data());
+                                
+                               size_t l;
+                               stdout.printf("%s\n",generator.to_data(out l));
 
                                return;
                        }