JSDOC/BuildDocs.js
[gnome.introspection-doc-generator] / pack.js
diff --git a/pack.js b/pack.js
index cd18a13..ea90e26 100755 (executable)
--- a/pack.js
+++ b/pack.js
@@ -1,34 +1,23 @@
 #!/usr/bin/seed
 //<script type="text/javascript">
 /**
- * Simple packer example
- *
+ * packer command line
+ * 
+ * -o Output
+ * -O Output debug file here.
+ * -t Translate json file.
+ * -w Cache / working dir.
+ * -f File to read with a list of source paths / or class names.
+ * -C no cleanup (use with -w if you need are using a cache directory.)
+ * -p prefix for translation md5 generator (directory that files are in, and is removed 
+ *    from path when generating an md5 for the translated name.
  * compresses files listed as arguments and outputs result
  */
-TextStream      = imports['JSDOC/TextStream.js'].TextStream;
-TokenReader     = imports['JSDOC/TokenReader.js'].TokenReader;
-ScopeParser     = imports['JSDOC/ScopeParser.js'].ScopeParser;
-TokenStream     = imports['JSDOC/TokenStream.js'].TokenStream;
-CompressWhite   = imports['JSDOC/CompressWhite.js'].CompressWhite;
-File = imports.File.File;
-function pack(str)
-{
-    
-    var tr = new  TokenReader(  { keepDocs :true, keepWhite : true,  keepComments : true, sepIdents : true });
-    var toks = tr.tokenize(new TextStream(str) ); // dont merge xxx + . + yyyy etc.
-    var ts = new   TokenStream(toks);
-   // ts.dump();
-    var sp = new  ScopeParser(ts);
-    sp.buildSymbolTree();
-    sp.mungeSymboltree();
-    print(sp.warnings.join("\n"));
-    var out =  CompressWhite(sp.ts);
-    return out;
-    
-}
+File            = imports.File.File;
+Packer          = imports.JSDOC.Packer.Packer;
 
+  
 
 var args = Array.prototype.slice.call(Seed.argv);
 args.shift(); //seed
@@ -45,14 +34,47 @@ for(var i =0; i < args.length;i++) {
         i++;
         continue;
     }
+    if (args[i] == '-O') {
+        cfg.debugTarget = args[i+1];
+        i++;
+        continue;
+    }
+    if (args[i] == '-t') {
+        cfg.translateJSON = args[i+1];
+        i++;
+        continue;
+    }
+    if (args[i] == '-w') {
+        cfg.tmpDir = args[i+1];
+        i++;
+        continue;
+    }
+    if (args[i] == '-p') {
+        cfg.prefix = args[i+1];
+        i++;
+        continue;
+    }
+    if (args[i] == '-C') {
+        cfg.cleanup = false;
+        continue;
+    }
+    if (args[i] == '-f') {
+        cfg.srcfile = args[i+1];
+        i++;
+        continue;
+    }
+    if (cfg.files.indexOf(args[i]) > -1) {
+        continue; // remove dupes.
+    }
     cfg.files.push(args[i]);
 }
 var pack;
 try {
     pack = new Packer(cfg)
 } catch (e) {
-    print("ERROR " + e);
-    Seed.quit();
+    print("ERROR " + e.toString());
+    throw e;
 }
 if (!pack.target) {
     print(pack.out);