JSDOC/Options.js
[gnome.introspection-doc-generator] / JSDOC / Options.js
index a116ad3..b545e9f 100644 (file)
@@ -7,24 +7,52 @@ File = import.File.File;
 
 Options = {
     
-    "files" : [],  // was _
-    "directory" : '',   // was d.
-    "conf" : '',       // was c.
+    argTypes : {
+        "baseDir"       :  'Base Directory (root directory of code)',
+        "target"        :  'Target Directory (where html files go)',
+        "cacheDirectory": 'Cached Files Directory',
+        "conf"          : 'Read From a Configuration file',       // was c. - configuration file.. - parsed with JSON.parse
+        "template"      : 'Template Directory',   // was t.
+        // "recurse": false,   // was r. - not supported..
+        "ext"           :  'Extension of code files to read (normally js)',   // was x.
+        "publishExt"    : 'Extension of html files to write (normally html)',
+        //"private": '',   // was p
+        //"allfunctions": '',   // was a
+        //"encoding": '',   // was e.
+        //"nocode": '',  // was n
+        //"out": '',   // was o.
+        //"suppress": '',  // was s ??? used?
+        "outputSource" : 'Output the Source code to symbols/src/* (boolean)',
+        //"testmode": '',  // was t
+        "help"          : 'Show help',   // was h
+        "verbose"       : 'Show verbose messages',   // was v
+        //"disablecache": '',   // was C -- not needed? - see if cacheDirectory was set..
+        "define" : [],   // was D.
+        "handler" : [],  // was H -- not supported..
+    }
+    
+    
+    "baseDir" :  '',  // base directory - 
+    "target" : '',   // was d. ?? source directory (needed to put temporary files..)
+    "cacheDirectory" : '',
+    "conf" : '',       // was c. - configuration file.. - parsed with JSON.parse
     "template": '',   // was t.
-    "recurse": '',   // was r.
-    "ext": '',   // was x.
+    // "recurse": false,   // was r. - not supported..
+    "ext": 'js',   // was x.
+    "publishExt" : 'html',
     "private": '',   // was p
     "allfunctions": '',   // was a
     "encoding": '',   // was e.
     "nocode": '',  // was n
     "out": '',   // was o.
-    "suppress": '',  // was s
+    "suppress": '',  // was s ??? used?
+    "outputSource" : true,
     "testmode": '',  // was t
     "help": '',   // was h
     "verbose": '',   // was v
     "disablecache": '',   // was C
     "define" : [],   // was D.
-    "handler" : [],  // was H
+    "handler" : [],  // was H -- not supported..
     LOG : {
         warn : function(str) {
             print("Warn: " +str );
@@ -48,10 +76,10 @@ Options = {
         }
         // help ?? -- usage..
         
-        if (!this.files.length) {
+        if (!this.src.length) {
             throw {
                 name: "ArgumentError", 
-                message: "No files specified" 
+                message: "No source directories specified" 
             };
         }
         if (!this.template) {
@@ -60,8 +88,86 @@ Options = {
                 message: "No template specified" 
             };
         }
+         
+        if (!this.target) {
+            throw {
+                name: "ArgumentError", 
+                message: "No directory specified" 
+            };
+        }
+        f (!this.baseDir) {
+            throw {
+                name: "ArgumentError", 
+                message: "No baseDir specified" 
+            };
+        }
+        
+        // should cacheDirectory be a subdirectory of target??
+        // if not set..
+        if (!this.cacheDirectory) {
+            throw {
+                name: "ArgumentError", 
+                message: "No cacheDirectory specified" 
+            };
+        }
         
+    },
+    /** 
+     *  this might be nice as a standard bit of code..
+     */
+       
+    parseArgv : function() 
+    {
         
+        var args = Array.prototype.slice.call(Seed.argv);
+        args.shift(); //seed
+        args.shift(); // pack.js
         
-    }
+        
+        
+        
+        
+
+        for(var i =0; i < args.length;i++) {
+            if (args[i] == '-o') {
+                cfg.target = args[i+1];
+                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]);
+        }
+    
 }
\ No newline at end of file