/**
* Options management...
*/
-XObject = import.XObject.XObject;
-File = import.File.File;
+XObject = imports.XObject.XObject;
+File = imports.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"
+ "- without, in which case it's added to baseDir",
"--baseDir" : 'Base Directory (root directory of code)',
"--target" : 'Target Directory (where html files go)',
"--cacheDirectory": 'Cached Files Directory',
//"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.
"suppress": '', // was s ??? used?
"outputSource" : true,
"testmode": '', // was t
- "help": false, // was h;se
+
"verbose": '', // was v
"disablecache": '', // was C
"define" : [], // was D.
this.showHelp();
}
+
+ // the reset of this is specific to JSDOC - and can not be moved to a generic handler..
+
+
this.LOG.verbose = this.verbose;
+ if (!this.baseDir) { // should we set this to cwd?
+ throw {
+ name: "ArgumentError",
+ message: "No baseDir specified"
+ };
+ }
+ // this is most likely to come from the command line..
if (this.conf) {
- XObject.extend(this, JSON.parse(File.read(this.conf)));;
+ var conf = this.conf[0] == '/' ? this.conf : this.baseDir + '/' + this.conf;
+
+ XObject.extend(this, JSON.parse(File.read(conf)));;
}
// help ?? -- usage..
-
+
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.length || 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"
};
}
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"
+ // };
+ // }
},
/**
args.shift(); //seed
args.shift(); // pack.js
-
-
-
-
-
for(var i =0; i < args.length;i++) {
if (args[i].substring(0,2) != '--') {
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]
},
- function showHelp()
+
+
+ showHelp: function()
{
- print ("Usage: ");
+ print(this.usage);
for(var i in this) {
if (i.substring(0,2) != '--') {
continue;