PageRenderTime 19ms CodeModel.GetById 14ms RepoModel.GetById 0ms app.codeStats 0ms

/branches/jsdoc_tk_gui/setup/examples/run.js

http://jsdoc-toolkit.googlecode.com/
JavaScript | 71 lines | 60 code | 10 blank | 1 comment | 16 complexity | ca2d5f9083fd64b058365f68b1c2aa20 MD5 | raw file
  1. //// load required libraries
  2. try {
  3. importClass(java.lang.System);
  4. }
  5. catch (e) {
  6. throw "RuntimeException: The class java.lang.System is required to run this script.";
  7. }
  8. var __DIR__ = System.getProperty("user.dir")+Packages.java.io.File.separator;
  9. function require(lib) {
  10. try {
  11. var file = new Packages.java.io.File(__DIR__+lib);
  12. if(!file.exists()) throw "missing file.";
  13. load(__DIR__+lib);
  14. }
  15. catch (e) {
  16. print("Can't find required file '"+lib+"' in directory '"+__DIR__+"'.\nDo you need to change your working directory to jsdoc-toolkit?");
  17. quit();
  18. }
  19. }
  20. require("app/JsDoc.js");
  21. require("app/Util.js");
  22. require("app/JsIO.js");
  23. require("app/Symbol.js");
  24. require("app/JsToke.js");
  25. require("app/JsParse.js");
  26. require("app/DocTag.js");
  27. require("app/Doclet.js");
  28. require("app/DocFile.js");
  29. require("app/Dumper.js");
  30. function Main() {
  31. if (JsDoc.opt.h || JsDoc.opt._.length == 0 || JsDoc.opt.t == "") JsDoc.usage();
  32. if (typeof(JsDoc.opt.r) == "boolean") JsDoc.opt.r=10;
  33. else if (!isNaN(parseInt(JsDoc.opt.r))) JsDoc.opt.r = parseInt(JsDoc.opt.r);
  34. else JsDoc.opt.r = 1;
  35. if (JsDoc.opt.d === true || JsDoc.opt.t === true) { // like when a user enters: -d mydir
  36. LOG.warn("-d JsDoc.option malformed.");
  37. JsDoc.usage();
  38. }
  39. else if (!JsDoc.opt.d) {
  40. JsDoc.opt.d = "js_docs_out";
  41. }
  42. JsDoc.opt.d += (JsDoc.opt.d.indexOf(IO.FileSeparator)==JsDoc.opt.d.length-1)?
  43. "" : IO.FileSeparator;
  44. LOG.inform("Creating output directory: "+JsDoc.opt.d);
  45. IO.makeDir(JsDoc.opt.d);
  46. LOG.inform("Scanning for source files: recursion set to "+JsDoc.opt.r+" subdir"+((JsDoc.opt.r==1)?"":"s")+".");
  47. function isJs(element, index, array) {
  48. return /\.js$/i.test(element); // we're only interested in .js files
  49. }
  50. var srcFiles = [];
  51. for (var d = 0; d < JsDoc.opt._.length; d++) {
  52. srcFiles = srcFiles.concat(
  53. IO.ls(JsDoc.opt._[d], JsDoc.opt.r).filter(isJs)
  54. );
  55. }
  56. LOG.inform(srcFiles.length+" source file"+((srcFiles ==1)?"":"s")+" found:\n\t"+srcFiles.join("\n\t"));
  57. var jsdoc = JsDoc.parse(srcFiles, JsDoc.opt);
  58. print(Dumper.dump(jsdoc.files));
  59. }
  60. JsDoc.opt = Util.getOptions(arguments, {d:"directory", t:"template", r:"recurse", v:"verbose", h:"help", a:"allfunctions"});
  61. Main();