JSDOC/Options.js
[gnome.introspection-doc-generator] / JSDOC / Options.js
index 0612a5f..b4d062a 100644 (file)
@@ -7,6 +7,15 @@ File = import.File.File;
 
 Options = {
 
+    // generic stuff...
+    "--help"          : 'Show help',   // was h
+    "help": false,   // was h;se
+    
+    
+    // configurable settings.. - 
+    "usage" : "Usage seed jsdocbuild.js OPTIONS \n",
+    
+    
     // options get defined like this..
     "--src"           :  "source directory (either absolute - starts with "/" or relative " + 
                         "- without, in which case it's added to baseDir"
@@ -26,7 +35,7 @@ Options = {
     //"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.
@@ -51,7 +60,7 @@ Options = {
     "suppress": '',  // was s ??? used?
     "outputSource" : true,
     "testmode": '',  // was t
-    "help": false,   // was h;se
+    
     "verbose": '',   // was v
     "disablecache": '',   // was C
     "define" : [],   // was D.
@@ -76,24 +85,48 @@ Options = {
             this.showHelp();
           
         }
-        this.LOG.verbose = this.verbose;
         
+        // the reset of this is specific to JSDOC - and can not be moved to a generic handler..
         
+         
+        this.LOG.verbose = this.verbose;
+        
+        // this is most likely to come from the command line..
         if (this.conf) {
             XObject.extend(this, JSON.parse(File.read(this.conf)));;
         }
         // help ?? -- usage..
-        
+        if (!this.baseDir) {
+            throw {
+                name: "ArgumentError", 
+                message: "No baseDir specified" 
+            };
+        }
         if (!this.src.length) {
             throw {
                 name: "ArgumentError", 
                 message: "No source directories specified" 
             };
         }
+        // append full path to source directories.
+        var _this= this;
+        this.src.forEach(function(v, i) {
+            if (v[0] != '/') {
+                this.src[i] = _this.baseDir + '/' + v;
+            }
+            if (File.isDirectory(this.src[i])) {
+                throw {
+                    name: "ArgumentError", 
+                    message: "invalid Source Directory : " +  v;
+                };
+            }
+        }
+        
+        
         if (!this.template) {
             throw {
                 name: "ArgumentError", 
-                message: "No template specified" 
+                message: "No template Directory specified" 
             };
         }
          
@@ -103,21 +136,16 @@ Options = {
                 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" 
-            };
-        }
+        //if (!this.cacheDirectory) {
+        //    throw {
+        //        name: "ArgumentError", 
+        //        message: "No cacheDirectory specified" 
+        //    };
+        // }
         
     },
     /** 
@@ -131,11 +159,6 @@ Options = {
         args.shift(); //seed
         args.shift(); // pack.js
         
-        
-        
-        
-        
-
         for(var i =0; i < args.length;i++) {
             if (args[i].substring(0,2) != '--') {
                 
@@ -192,7 +215,7 @@ Options = {
     
     function showHelp()
     {
-        print ("Usage: ");
+        print (""Usage seed jsdocbulid.js /var/www/seed [Gtk] \n": ");
         for(var i in this) {
             if (i.substring(0,2) != '--') {
                 continue;