JSDOC/Options.js
[gnome.introspection-doc-generator] / JSDOC / Options.js
index 288056d..beaeb45 100644 (file)
@@ -19,6 +19,7 @@ Options = {
     // options get defined like this..
     "--src"           :  "source directory (either absolute - starts with "/" or relative " + 
                         "- without, in which case it's added to baseDir",
+    "--exclude-src"       : 'Ex',   
     "--baseDir"       :  'Base Directory (root directory of code)',
     "--target"        :  'Target Directory (where html files go)',
     "--cacheDirectory": 'Cached Files Directory',
@@ -44,6 +45,7 @@ Options = {
     
     // and now the defaults.. (which type can be infered from..)
     "src" : [],
+    "exclude-src" : [],
     "baseDir" :  '',  // base directory - 
     "target" : '',   // was d. ?? source directory (needed to put temporary files..)
     "cacheDirectory" : '',
@@ -101,6 +103,7 @@ Options = {
         // this is most likely to come from the command line..
         if (this.conf) {
             var conf = this.conf[0] == '/' ? this.conf : this.baseDir + '/' + this.conf;
+        
             XObject.extend(this, JSON.parse(File.read(conf)));;
         }
         // help ?? -- usage..
@@ -113,16 +116,19 @@ Options = {
         }
         // append full path to source directories.
         var _this= this;
-        this.src.forEach(function(v, i) {
-            if (v[0] != '/') {
-                this.src[i] = _this.baseDir + '/' + v;
+        var src = this.src;
+        this.src = [];
+        src.forEach(function(v, i) {
+            if (!v.length || v[0] != '/') {
+                v = _this.baseDir + (v.length ?  '/' + v : '');
             }
-            if (File.isDirectory(this.src[i])) {
+            if (!File.isDirectory(v)) {
                 throw {
                     name: "ArgumentError", 
                     message: "invalid Source Directory : " +  v
                 };
             }
+            _this.src.push(v);
         });
         
         
@@ -132,7 +138,11 @@ Options = {
                 message: "No template Directory specified" 
             };
         }
-         
+        if (this.template[0] !='/') {
+            this.template = this.baseDir + '/' + this.template;
+        }
+        
+        
         if (!this.target) {
             throw {
                 name: "ArgumentError", 
@@ -170,8 +180,8 @@ Options = {
                     message: "Unknown argument: " + args[i] 
                 };
             }
-            var a = arg[i].substring(2);
-            if (typeof(argTypes[arg[i]]) == 'undefined') {
+            var a = args[i].substring(2);
+            if (typeof(this[args[i]]) == 'undefined') {
                 throw {
                     name: "ArgumentError", 
                     message: "Unknown argument: " + args[i]