#! /usr/bin/env runjs var FastJSON = Packages.com.alibaba.fastjson.JSON; var main = () => { var javadocConfigFile = __.rfile.from('javadoc.json'); if (javadocConfigFile.notExists()) { xprintln('[WARN] file `javadoc.json` not found!'); println(); println('Sample JSON:'); println(FastJSON.toJSONString($$.parseJSON(JSON.stringify({ "dest": "", "source": "", "subpackages": [ "com.example.a", "com.example.b" ], "encoding": "utf-8", "charset": "utf-8" })), true).replaceAll('\t', ' ')); return; } var javadocConfig = JSON.parse(javadocConfigFile.string()); var cmds = []; cmds.push('javadoc'); if (javadocConfig.dest) { cmds.push('-d'); cmds.push(javadocConfig.dest); } if (javadocConfig.source) { cmds.push('-sourcepath'); cmds.push(javadocConfig.source); } if (javadocConfig.subpackages) { cmds.push('-subpackages'); cmds.push(javadocConfig.subpackages.join(':')); } cmds.push('-encoding'); cmds.push(javadocConfig.encoding || 'utf-8'); cmds.push('-charset'); cmds.push(javadocConfig.charset || 'utf-8'); xprintln('[INFO] Command: ' + cmds.join(' ')); $$.shell(true).commands(cmds).run(); }; main();