Make calls to jsdoc.jar work from any directory.

This commit is contained in:
Michael Mathews 2010-06-06 21:34:37 +01:00
parent 3af2c46d72
commit f1fc5166bd
2 changed files with 29 additions and 21 deletions

View File

@ -1,6 +1,6 @@
{ {
"app": { "app": {
"name": "jsdoc-toolkit-3", "name": "jsdoc-toolkit-3",
"version": "0.0.0+2010-06-06-2109" "version": "0.0.0+2010-06-06-2134"
} }
} }

24
main.js
View File

@ -1,4 +1,14 @@
/**
* @overview JSDoc Toolkit Version 3
* @copyright 2010 (c) Michael Mathews <micmath@gmail.com>
* @license See LICENSE.md file included in this distribution.
*/
//// bootstrap //// bootstrap
const BASEDIR = arguments[0].split(/([\/\\])/g).slice(0, -1).join(RegExp.$1); // jsdoc.jar sets argument[0] to the abspath to main.js
var args = arguments.slice(1);
/** Follow the commonjs modules convention. */
function require(id) { function require(id) {
var path = require.base + id + '.js', var path = require.base + id + '.js',
source = ''; source = '';
@ -19,26 +29,23 @@
return exports; return exports;
} }
require.base = 'modules/'; require.base = BASEDIR + '/modules/';
require.cache = {}; require.cache = {};
function print(msg) { function print(msg) {
java.lang.System.out.println(msg); java.lang.System.out.println(msg);
} }
const BASE = arguments[0]; // path to application base folder
var args = arguments.slice(1);
//// ////
(function() { //// main
(function() {
var jsdoc = { var jsdoc = {
parser: require('jsdoc/parser'), parser: require('jsdoc/parser'),
opts: require('jsdoc/opts'), opts: require('jsdoc/opts'),
src: require('jsdoc/src') src: require('jsdoc/src')
}, },
opts, opts,
sourceFiles, sourceFiles;
fs = require('common/fs');
opts = jsdoc.opts.set(args); opts = jsdoc.opts.set(args);
sourceFiles = jsdoc.src.getFilePaths(opts._); sourceFiles = jsdoc.src.getFilePaths(opts._);
@ -46,4 +53,5 @@
jsdoc.parser.parseFiles(sourceFiles); jsdoc.parser.parseFiles(sourceFiles);
print( jsdoc.parser.result.asString(opts.destination) ); print( jsdoc.parser.result.asString(opts.destination) );
})(); })();
////