pack.js
[gnome.introspection-doc-generator] / pack.js
diff --git a/pack.js b/pack.js
index af1eb43..6e3c210 100755 (executable)
--- a/pack.js
+++ b/pack.js
@@ -1,33 +1,70 @@
 #!/usr/bin/seed
 //<script type="text/javascript">
 /**
- * Simple packer example
+ * packer command line
+ * 
+ * -o Output
+ * -t Translate json file.
+ * -w Cache / working dir.
+ * -c force cleanup.
+ * -C no cleanup
  *
  * 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;
-
+CompressWhite   = imports['JSDOC/Packer.js'].Packer;
+File = imports.File.File;
  
-function pack(str)
-{
-    
-    var tr = new  TokenReader();
-    var toks = tr.tokenize(str,false); // dont merge xxx + . + yyyy etc.
-    var sp = new  ScopeParser(new   TokenStream(toks));
-    sp.buildSymbolTree();
-    sp.mungeSymboltree();
-    print(sp.warnings.join("\n"));
-    var out =  CompressWhite(sp.ts);
-    return out;
-    
+  
+
+var args = Array.prototype.slice.call(Seed.argv);
+args.shift(); //seed
+args.shift(); // pack.js
+var cfg = {
+    files : [],
+    target : false,
 }
 
 
-var args = Array.prototype.slice.call(argv);
-print(args.join(', '));
+for(var i =0; i < args.length;i++) {
+    if (args[i] == '-o') {
+        cfg.target = 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] == '-c') {
+        cfg.cleanup = true;
+        continue;
+    }
+    if (args[i] == '-c') {
+        cfg.cleanup = false;
+        continue;
+    }
+    cfg.files.push(args[i]);
+}
+var pack;
+try {
+    pack = new Packer(cfg)
+} catch (e) {
+    print("ERROR " + e);
+    Seed.quit();
+}
+if (!pack.target) {
+    print(pack.out);
+}
+