JSDOC/BuildDocs.js
[gnome.introspection-doc-generator] / JSDOC / Options.js
index 95e1656..7fac06f 100644 (file)
@@ -19,11 +19,12 @@ 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',
     "--conf"          : 'Read From a Configuration file',       // was c. - configuration file.. - parsed with JSON.parse
-    "--template"      : 'Template Directory',   // was t.
+    "--templateDir"      : '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)',
@@ -44,11 +45,12 @@ 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" : '',
     "conf" : '',       // was c. - configuration file.. - parsed with JSON.parse
-    "template": '',   // was t.
+    "templateDir": '',   // was t.
     // "recurse": false,   // was r. - not supported..
     "ext": 'js',   // was x.
     "publishExt" : 'html',
@@ -65,6 +67,11 @@ Options = {
     "disablecache": '',   // was C
     "define" : [],   // was D.
     "handler" : [],  // was H -- not supported..
+    
+    
+    "version" : "1.0",
+    "copyright" : "LGPL",
+    
     LOG : {
         warn : function(str) {
             print("Warn: " +str );
@@ -101,8 +108,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;
-            print("loading : " + conf);
-            print(JSON.stringify(JSON.parse(File.read(conf)), null,4));
+        
             XObject.extend(this, JSON.parse(File.read(conf)));;
         }
         // help ?? -- usage..
@@ -115,33 +121,41 @@ 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);
         });
         
         
-        if (!this.template) {
+        if (!this.templateDir) {
             throw {
                 name: "ArgumentError", 
-                message: "No template Directory specified" 
+                message: "No templateDir Directory specified" 
             };
         }
-         
+        if (this.templateDir[0] !='/') {
+            this.templateDir = this.baseDir + '/' + this.templateDir;
+        }
+        
+        
         if (!this.target) {
             throw {
                 name: "ArgumentError", 
                 message: "No directory specified" 
             };
         }
-      
+        
+        //print(JSON.stringify(this, null,4));
         
         // should cacheDirectory be a subdirectory of target??
         // if not set..