quentonc-jsdoc_helper 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (229) hide show
  1. data/History.txt +13 -0
  2. data/README.rdoc +64 -0
  3. data/Rakefile +46 -0
  4. data/TODO.rdoc +5 -0
  5. data/bin/jsdoc_helper +8 -0
  6. data/ext/jsdoc-toolkit/README.txt +146 -0
  7. data/ext/jsdoc-toolkit/app/frame/Chain.js +102 -0
  8. data/ext/jsdoc-toolkit/app/frame/Dumper.js +144 -0
  9. data/ext/jsdoc-toolkit/app/frame/Hash.js +84 -0
  10. data/ext/jsdoc-toolkit/app/frame/Link.js +148 -0
  11. data/ext/jsdoc-toolkit/app/frame/Namespace.js +10 -0
  12. data/ext/jsdoc-toolkit/app/frame/Opt.js +134 -0
  13. data/ext/jsdoc-toolkit/app/frame/Reflection.js +26 -0
  14. data/ext/jsdoc-toolkit/app/frame/String.js +93 -0
  15. data/ext/jsdoc-toolkit/app/frame/Testrun.js +129 -0
  16. data/ext/jsdoc-toolkit/app/frame.js +33 -0
  17. data/ext/jsdoc-toolkit/app/handlers/FOODOC.js +26 -0
  18. data/ext/jsdoc-toolkit/app/handlers/XMLDOC/DomReader.js +159 -0
  19. data/ext/jsdoc-toolkit/app/handlers/XMLDOC/XMLDoc.js +16 -0
  20. data/ext/jsdoc-toolkit/app/handlers/XMLDOC/XMLParse.js +292 -0
  21. data/ext/jsdoc-toolkit/app/handlers/XMLDOC.js +26 -0
  22. data/ext/jsdoc-toolkit/app/lib/JSDOC/DocComment.js +200 -0
  23. data/ext/jsdoc-toolkit/app/lib/JSDOC/DocTag.js +294 -0
  24. data/ext/jsdoc-toolkit/app/lib/JSDOC/JsDoc.js +126 -0
  25. data/ext/jsdoc-toolkit/app/lib/JSDOC/JsPlate.js +109 -0
  26. data/ext/jsdoc-toolkit/app/lib/JSDOC/Lang.js +144 -0
  27. data/ext/jsdoc-toolkit/app/lib/JSDOC/Parser.js +107 -0
  28. data/ext/jsdoc-toolkit/app/lib/JSDOC/PluginManager.js +33 -0
  29. data/ext/jsdoc-toolkit/app/lib/JSDOC/Symbol.js +643 -0
  30. data/ext/jsdoc-toolkit/app/lib/JSDOC/SymbolSet.js +229 -0
  31. data/ext/jsdoc-toolkit/app/lib/JSDOC/TextStream.js +41 -0
  32. data/ext/jsdoc-toolkit/app/lib/JSDOC/Token.js +18 -0
  33. data/ext/jsdoc-toolkit/app/lib/JSDOC/TokenReader.js +332 -0
  34. data/ext/jsdoc-toolkit/app/lib/JSDOC/TokenStream.js +133 -0
  35. data/ext/jsdoc-toolkit/app/lib/JSDOC/Util.js +32 -0
  36. data/ext/jsdoc-toolkit/app/lib/JSDOC/Walker.js +459 -0
  37. data/ext/jsdoc-toolkit/app/lib/JSDOC.js +101 -0
  38. data/ext/jsdoc-toolkit/app/main.js +111 -0
  39. data/ext/jsdoc-toolkit/app/plugins/commentSrcJson.js +20 -0
  40. data/ext/jsdoc-toolkit/app/plugins/frameworkPrototype.js +16 -0
  41. data/ext/jsdoc-toolkit/app/plugins/functionCall.js +10 -0
  42. data/ext/jsdoc-toolkit/app/plugins/publishSrcHilite.js +62 -0
  43. data/ext/jsdoc-toolkit/app/plugins/symbolLink.js +9 -0
  44. data/ext/jsdoc-toolkit/app/plugins/tagParamConfig.js +31 -0
  45. data/ext/jsdoc-toolkit/app/plugins/tagSynonyms.js +43 -0
  46. data/ext/jsdoc-toolkit/app/run.js +348 -0
  47. data/ext/jsdoc-toolkit/app/t/TestDoc.js +144 -0
  48. data/ext/jsdoc-toolkit/app/t/runner.js +13 -0
  49. data/ext/jsdoc-toolkit/app/test/addon.js +24 -0
  50. data/ext/jsdoc-toolkit/app/test/anon_inner.js +14 -0
  51. data/ext/jsdoc-toolkit/app/test/augments.js +31 -0
  52. data/ext/jsdoc-toolkit/app/test/augments2.js +26 -0
  53. data/ext/jsdoc-toolkit/app/test/borrows.js +41 -0
  54. data/ext/jsdoc-toolkit/app/test/borrows2.js +23 -0
  55. data/ext/jsdoc-toolkit/app/test/config.js +22 -0
  56. data/ext/jsdoc-toolkit/app/test/constructs.js +18 -0
  57. data/ext/jsdoc-toolkit/app/test/encoding.js +10 -0
  58. data/ext/jsdoc-toolkit/app/test/encoding_other.js +12 -0
  59. data/ext/jsdoc-toolkit/app/test/event.js +54 -0
  60. data/ext/jsdoc-toolkit/app/test/functions_anon.js +39 -0
  61. data/ext/jsdoc-toolkit/app/test/functions_nested.js +33 -0
  62. data/ext/jsdoc-toolkit/app/test/global.js +13 -0
  63. data/ext/jsdoc-toolkit/app/test/globals.js +25 -0
  64. data/ext/jsdoc-toolkit/app/test/ignore.js +10 -0
  65. data/ext/jsdoc-toolkit/app/test/inner.js +16 -0
  66. data/ext/jsdoc-toolkit/app/test/jsdoc_test.js +477 -0
  67. data/ext/jsdoc-toolkit/app/test/lend.js +33 -0
  68. data/ext/jsdoc-toolkit/app/test/memberof.js +19 -0
  69. data/ext/jsdoc-toolkit/app/test/memberof_constructor.js +17 -0
  70. data/ext/jsdoc-toolkit/app/test/name.js +19 -0
  71. data/ext/jsdoc-toolkit/app/test/namespace_nested.js +23 -0
  72. data/ext/jsdoc-toolkit/app/test/nocode.js +13 -0
  73. data/ext/jsdoc-toolkit/app/test/oblit_anon.js +20 -0
  74. data/ext/jsdoc-toolkit/app/test/overview.js +20 -0
  75. data/ext/jsdoc-toolkit/app/test/param_inline.js +37 -0
  76. data/ext/jsdoc-toolkit/app/test/params_optional.js +8 -0
  77. data/ext/jsdoc-toolkit/app/test/prototype.js +17 -0
  78. data/ext/jsdoc-toolkit/app/test/prototype_nested.js +9 -0
  79. data/ext/jsdoc-toolkit/app/test/prototype_oblit.js +13 -0
  80. data/ext/jsdoc-toolkit/app/test/prototype_oblit_constructor.js +24 -0
  81. data/ext/jsdoc-toolkit/app/test/public.js +10 -0
  82. data/ext/jsdoc-toolkit/app/test/shared.js +42 -0
  83. data/ext/jsdoc-toolkit/app/test/shared2.js +2 -0
  84. data/ext/jsdoc-toolkit/app/test/shortcuts.js +22 -0
  85. data/ext/jsdoc-toolkit/app/test/static_this.js +13 -0
  86. data/ext/jsdoc-toolkit/app/test/synonyms.js +31 -0
  87. data/ext/jsdoc-toolkit/app/test/tosource.js +23 -0
  88. data/ext/jsdoc-toolkit/app/test/variable_redefine.js +14 -0
  89. data/ext/jsdoc-toolkit/app/test.js +307 -0
  90. data/ext/jsdoc-toolkit/changes.txt +75 -0
  91. data/ext/jsdoc-toolkit/conf/sample.conf +31 -0
  92. data/ext/jsdoc-toolkit/java/build.xml +36 -0
  93. data/ext/jsdoc-toolkit/java/build_1.4.xml +36 -0
  94. data/ext/jsdoc-toolkit/java/classes/js.jar +0 -0
  95. data/ext/jsdoc-toolkit/java/src/JsDebugRun.java +21 -0
  96. data/ext/jsdoc-toolkit/java/src/JsRun.java +21 -0
  97. data/ext/jsdoc-toolkit/jsdebug.jar +0 -0
  98. data/ext/jsdoc-toolkit/jsrun.jar +0 -0
  99. data/ext/jsdoc-toolkit/out/jsdoc/files.html +216 -0
  100. data/ext/jsdoc-toolkit/out/jsdoc/index.html +210 -0
  101. data/ext/jsdoc-toolkit/out/jsdoc/symbols/_global_.html +306 -0
  102. data/ext/jsdoc-toolkit/out/jsdoc/symbols/src/lib_test.js.html +13 -0
  103. data/ext/jsdoc-toolkit/templates/jsdoc/allclasses.tmpl +17 -0
  104. data/ext/jsdoc-toolkit/templates/jsdoc/allfiles.tmpl +56 -0
  105. data/ext/jsdoc-toolkit/templates/jsdoc/class.tmpl +646 -0
  106. data/ext/jsdoc-toolkit/templates/jsdoc/index.tmpl +39 -0
  107. data/ext/jsdoc-toolkit/templates/jsdoc/publish.js +184 -0
  108. data/ext/jsdoc-toolkit/templates/jsdoc/static/default.css +162 -0
  109. data/ext/jsdoc-toolkit/templates/jsdoc/static/header.html +2 -0
  110. data/ext/jsdoc-toolkit/templates/jsdoc/static/index.html +19 -0
  111. data/ext/jsdoc-toolkit/templates/jsdoc/symbol.tmpl +35 -0
  112. data/features/doing_rake_jsdoc.feature +74 -0
  113. data/features/step_definitions/jsdoc_helper_steps.rb +48 -0
  114. data/features/support/env.rb +11 -0
  115. data/features/support/file_helper.rb +68 -0
  116. data/features/writing_the_rakefile.feature +36 -0
  117. data/jsdoc_helper.gemspec +41 -0
  118. data/lib/jsdoc_helper/rake/task/runner.rb +85 -0
  119. data/lib/jsdoc_helper/rake/task.rb +43 -0
  120. data/lib/jsdoc_helper.rb +50 -0
  121. data/spec/jsdoc_helper/jsdoc_helper_spec.rb +4 -0
  122. data/spec/jsdoc_helper/rake/task/runner_spec.rb +45 -0
  123. data/spec/jsdoc_helper/support/file_helper_spec.rb +93 -0
  124. data/spec/spec_helper.rb +25 -0
  125. data/test/ext/jsdoc-toolkit/README.txt +146 -0
  126. data/test/ext/jsdoc-toolkit/app/frame/Chain.js +102 -0
  127. data/test/ext/jsdoc-toolkit/app/frame/Dumper.js +144 -0
  128. data/test/ext/jsdoc-toolkit/app/frame/Hash.js +84 -0
  129. data/test/ext/jsdoc-toolkit/app/frame/Link.js +148 -0
  130. data/test/ext/jsdoc-toolkit/app/frame/Namespace.js +10 -0
  131. data/test/ext/jsdoc-toolkit/app/frame/Opt.js +134 -0
  132. data/test/ext/jsdoc-toolkit/app/frame/Reflection.js +26 -0
  133. data/test/ext/jsdoc-toolkit/app/frame/String.js +93 -0
  134. data/test/ext/jsdoc-toolkit/app/frame/Testrun.js +129 -0
  135. data/test/ext/jsdoc-toolkit/app/frame.js +33 -0
  136. data/test/ext/jsdoc-toolkit/app/handlers/FOODOC.js +26 -0
  137. data/test/ext/jsdoc-toolkit/app/handlers/XMLDOC/DomReader.js +159 -0
  138. data/test/ext/jsdoc-toolkit/app/handlers/XMLDOC/XMLDoc.js +16 -0
  139. data/test/ext/jsdoc-toolkit/app/handlers/XMLDOC/XMLParse.js +292 -0
  140. data/test/ext/jsdoc-toolkit/app/handlers/XMLDOC.js +26 -0
  141. data/test/ext/jsdoc-toolkit/app/lib/JSDOC/DocComment.js +200 -0
  142. data/test/ext/jsdoc-toolkit/app/lib/JSDOC/DocTag.js +294 -0
  143. data/test/ext/jsdoc-toolkit/app/lib/JSDOC/JsDoc.js +126 -0
  144. data/test/ext/jsdoc-toolkit/app/lib/JSDOC/JsPlate.js +109 -0
  145. data/test/ext/jsdoc-toolkit/app/lib/JSDOC/Lang.js +144 -0
  146. data/test/ext/jsdoc-toolkit/app/lib/JSDOC/Parser.js +107 -0
  147. data/test/ext/jsdoc-toolkit/app/lib/JSDOC/PluginManager.js +33 -0
  148. data/test/ext/jsdoc-toolkit/app/lib/JSDOC/Symbol.js +643 -0
  149. data/test/ext/jsdoc-toolkit/app/lib/JSDOC/SymbolSet.js +229 -0
  150. data/test/ext/jsdoc-toolkit/app/lib/JSDOC/TextStream.js +41 -0
  151. data/test/ext/jsdoc-toolkit/app/lib/JSDOC/Token.js +18 -0
  152. data/test/ext/jsdoc-toolkit/app/lib/JSDOC/TokenReader.js +332 -0
  153. data/test/ext/jsdoc-toolkit/app/lib/JSDOC/TokenStream.js +133 -0
  154. data/test/ext/jsdoc-toolkit/app/lib/JSDOC/Util.js +32 -0
  155. data/test/ext/jsdoc-toolkit/app/lib/JSDOC/Walker.js +459 -0
  156. data/test/ext/jsdoc-toolkit/app/lib/JSDOC.js +101 -0
  157. data/test/ext/jsdoc-toolkit/app/main.js +111 -0
  158. data/test/ext/jsdoc-toolkit/app/plugins/commentSrcJson.js +20 -0
  159. data/test/ext/jsdoc-toolkit/app/plugins/frameworkPrototype.js +16 -0
  160. data/test/ext/jsdoc-toolkit/app/plugins/functionCall.js +10 -0
  161. data/test/ext/jsdoc-toolkit/app/plugins/publishSrcHilite.js +62 -0
  162. data/test/ext/jsdoc-toolkit/app/plugins/symbolLink.js +9 -0
  163. data/test/ext/jsdoc-toolkit/app/plugins/tagParamConfig.js +31 -0
  164. data/test/ext/jsdoc-toolkit/app/plugins/tagSynonyms.js +43 -0
  165. data/test/ext/jsdoc-toolkit/app/run.js +348 -0
  166. data/test/ext/jsdoc-toolkit/app/t/TestDoc.js +144 -0
  167. data/test/ext/jsdoc-toolkit/app/t/runner.js +13 -0
  168. data/test/ext/jsdoc-toolkit/app/test/addon.js +24 -0
  169. data/test/ext/jsdoc-toolkit/app/test/anon_inner.js +14 -0
  170. data/test/ext/jsdoc-toolkit/app/test/augments.js +31 -0
  171. data/test/ext/jsdoc-toolkit/app/test/augments2.js +26 -0
  172. data/test/ext/jsdoc-toolkit/app/test/borrows.js +41 -0
  173. data/test/ext/jsdoc-toolkit/app/test/borrows2.js +23 -0
  174. data/test/ext/jsdoc-toolkit/app/test/config.js +22 -0
  175. data/test/ext/jsdoc-toolkit/app/test/constructs.js +18 -0
  176. data/test/ext/jsdoc-toolkit/app/test/encoding.js +10 -0
  177. data/test/ext/jsdoc-toolkit/app/test/encoding_other.js +12 -0
  178. data/test/ext/jsdoc-toolkit/app/test/event.js +54 -0
  179. data/test/ext/jsdoc-toolkit/app/test/functions_anon.js +39 -0
  180. data/test/ext/jsdoc-toolkit/app/test/functions_nested.js +33 -0
  181. data/test/ext/jsdoc-toolkit/app/test/global.js +13 -0
  182. data/test/ext/jsdoc-toolkit/app/test/globals.js +25 -0
  183. data/test/ext/jsdoc-toolkit/app/test/ignore.js +10 -0
  184. data/test/ext/jsdoc-toolkit/app/test/inner.js +16 -0
  185. data/test/ext/jsdoc-toolkit/app/test/jsdoc_test.js +477 -0
  186. data/test/ext/jsdoc-toolkit/app/test/lend.js +33 -0
  187. data/test/ext/jsdoc-toolkit/app/test/memberof.js +19 -0
  188. data/test/ext/jsdoc-toolkit/app/test/memberof_constructor.js +17 -0
  189. data/test/ext/jsdoc-toolkit/app/test/name.js +19 -0
  190. data/test/ext/jsdoc-toolkit/app/test/namespace_nested.js +23 -0
  191. data/test/ext/jsdoc-toolkit/app/test/nocode.js +13 -0
  192. data/test/ext/jsdoc-toolkit/app/test/oblit_anon.js +20 -0
  193. data/test/ext/jsdoc-toolkit/app/test/overview.js +20 -0
  194. data/test/ext/jsdoc-toolkit/app/test/param_inline.js +37 -0
  195. data/test/ext/jsdoc-toolkit/app/test/params_optional.js +8 -0
  196. data/test/ext/jsdoc-toolkit/app/test/prototype.js +17 -0
  197. data/test/ext/jsdoc-toolkit/app/test/prototype_nested.js +9 -0
  198. data/test/ext/jsdoc-toolkit/app/test/prototype_oblit.js +13 -0
  199. data/test/ext/jsdoc-toolkit/app/test/prototype_oblit_constructor.js +24 -0
  200. data/test/ext/jsdoc-toolkit/app/test/public.js +10 -0
  201. data/test/ext/jsdoc-toolkit/app/test/shared.js +42 -0
  202. data/test/ext/jsdoc-toolkit/app/test/shared2.js +2 -0
  203. data/test/ext/jsdoc-toolkit/app/test/shortcuts.js +22 -0
  204. data/test/ext/jsdoc-toolkit/app/test/static_this.js +13 -0
  205. data/test/ext/jsdoc-toolkit/app/test/synonyms.js +31 -0
  206. data/test/ext/jsdoc-toolkit/app/test/tosource.js +23 -0
  207. data/test/ext/jsdoc-toolkit/app/test/variable_redefine.js +14 -0
  208. data/test/ext/jsdoc-toolkit/app/test.js +307 -0
  209. data/test/ext/jsdoc-toolkit/changes.txt +75 -0
  210. data/test/ext/jsdoc-toolkit/conf/sample.conf +31 -0
  211. data/test/ext/jsdoc-toolkit/java/build.xml +36 -0
  212. data/test/ext/jsdoc-toolkit/java/build_1.4.xml +36 -0
  213. data/test/ext/jsdoc-toolkit/java/classes/js.jar +0 -0
  214. data/test/ext/jsdoc-toolkit/java/src/JsDebugRun.java +21 -0
  215. data/test/ext/jsdoc-toolkit/java/src/JsRun.java +21 -0
  216. data/test/ext/jsdoc-toolkit/jsdebug.jar +0 -0
  217. data/test/ext/jsdoc-toolkit/jsrun.jar +0 -0
  218. data/test/ext/jsdoc-toolkit/templates/jsdoc/allclasses.tmpl +17 -0
  219. data/test/ext/jsdoc-toolkit/templates/jsdoc/allfiles.tmpl +56 -0
  220. data/test/ext/jsdoc-toolkit/templates/jsdoc/class.tmpl +646 -0
  221. data/test/ext/jsdoc-toolkit/templates/jsdoc/index.tmpl +39 -0
  222. data/test/ext/jsdoc-toolkit/templates/jsdoc/publish.js +184 -0
  223. data/test/ext/jsdoc-toolkit/templates/jsdoc/static/default.css +162 -0
  224. data/test/ext/jsdoc-toolkit/templates/jsdoc/static/header.html +2 -0
  225. data/test/ext/jsdoc-toolkit/templates/jsdoc/static/index.html +19 -0
  226. data/test/ext/jsdoc-toolkit/templates/jsdoc/symbol.tmpl +35 -0
  227. data/test/lib/test1.js +0 -0
  228. data/test/lib/test2.js +0 -0
  229. metadata +294 -0
@@ -0,0 +1,101 @@
1
+ /**
2
+ @overview
3
+ @date $Date: 2009-01-21 22:53:36 +0000 (Wed, 21 Jan 2009) $
4
+ @version $Revision: 771 $
5
+ @location $HeadURL: https://jsdoc-toolkit.googlecode.com/svn/tags/jsdoc_toolkit-2.1.0/jsdoc-toolkit/app/lib/JSDOC.js $
6
+ @name whateverFilename.js
7
+ */
8
+
9
+ /**
10
+ This is the main container for the JSDOC application.
11
+ @namespace
12
+ */
13
+ JSDOC = {
14
+ };
15
+
16
+ /**
17
+ @requires Opt
18
+ */
19
+ if (typeof arguments == "undefined") arguments = [];
20
+ JSDOC.opt = Opt.get(
21
+ arguments,
22
+ {
23
+ d: "directory",
24
+ c: "conf",
25
+ t: "template",
26
+ r: "recurse",
27
+ x: "ext",
28
+ p: "private",
29
+ a: "allfunctions",
30
+ e: "encoding",
31
+ n: "nocode",
32
+ o: "out",
33
+ s: "suppress",
34
+ q: "quiet",
35
+ T: "testmode",
36
+ h: "help",
37
+ v: "verbose",
38
+ "D[]": "define",
39
+ "E[]": "exclude",
40
+ "H[]": "handler"
41
+ }
42
+ );
43
+
44
+ /** The current version string of this application. */
45
+ JSDOC.VERSION = "2.1.0";
46
+
47
+ /** Print out usage information and quit. */
48
+ JSDOC.usage = function() {
49
+ print("USAGE: java -jar jsrun.jar app/run.js [OPTIONS] <SRC_DIR> <SRC_FILE> ...");
50
+ print("");
51
+ print("OPTIONS:");
52
+ print(" -a or --allfunctions\n Include all functions, even undocumented ones.\n");
53
+ print(" -c or --conf\n Load a configuration file.\n");
54
+ print(" -d=<PATH> or --directory=<PATH>\n Output to this directory (defaults to \"out\").\n");
55
+ print(" -D=\"myVar:My value\" or --define=\"myVar:My value\"\n Multiple. Define a variable, available in JsDoc as JSDOC.opt.D.myVar.\n");
56
+ print(" -e=<ENCODING> or --encoding=<ENCODING>\n Use this encoding to read and write files.\n");
57
+ print(" -E=\"REGEX\" or --exclude=\"REGEX\"\n Multiple. Exclude files based on the supplied regex.\n");
58
+ print(" -h or --help\n Show this message and exit.\n");
59
+ print(" -n or --nocode\n Ignore all code, only document comments with @name tags.\n");
60
+ print(" -o=<PATH> or --out=<PATH>\n Print log messages to a file (defaults to stdout).\n");
61
+ print(" -p or --private\n Include symbols tagged as private, underscored and inner symbols.\n");
62
+ print(" -q or --quiet\n Do not output any messages, not even warnings.\n");
63
+ print(" -r=<DEPTH> or --recurse=<DEPTH>\n Descend into src directories.\n");
64
+ print(" -s or --suppress\n Suppress source code output.\n");
65
+ print(" -t=<PATH> or --template=<PATH>\n Required. Use this template to format the output.\n");
66
+ print(" -T or --test\n Run all unit tests and exit.\n");
67
+ print(" -v or --verbose\n Provide verbose feedback about what is happening.\n");
68
+ print(" -x=<EXT>[,EXT]... or --ext=<EXT>[,EXT]...\n Scan source files with the given extension/s (defaults to js).\n");
69
+
70
+ quit();
71
+ }
72
+
73
+ /*t:
74
+ plan(4, "Testing JSDOC namespace.");
75
+
76
+ is(
77
+ typeof JSDOC,
78
+ "object",
79
+ "JSDOC.usage is a function."
80
+ );
81
+
82
+ is(
83
+ typeof JSDOC.VERSION,
84
+ "string",
85
+ "JSDOC.VERSION is a string."
86
+ );
87
+
88
+ is(
89
+ typeof JSDOC.usage,
90
+ "function",
91
+ "JSDOC.usage is a function."
92
+ );
93
+
94
+ is(
95
+ typeof JSDOC.opt,
96
+ "object",
97
+ "JSDOC.opt is a object."
98
+ );
99
+ */
100
+
101
+ if (this.IO) IO.includeDir("lib/JSDOC/");
@@ -0,0 +1,111 @@
1
+ /**
2
+ * @version $Id: main.js 769 2009-01-11 12:13:00Z micmath $
3
+ */
4
+
5
+ function main() {
6
+ IO.include("lib/JSDOC.js");
7
+ IO.includeDir("plugins/");
8
+
9
+ // process the options
10
+
11
+ // the -c option: options are defined in a configuration file
12
+ if (JSDOC.opt.c) {
13
+ eval("JSDOC.conf = " + IO.readFile(JSDOC.opt.c));
14
+
15
+ LOG.inform("Using configuration file at '"+JSDOC.opt.c+"'.");
16
+
17
+ for (var c in JSDOC.conf) {
18
+ if (c !== "D" && !defined(JSDOC.opt[c])) { // commandline overrules config file
19
+ JSDOC.opt[c] = JSDOC.conf[c];
20
+ }
21
+ }
22
+
23
+ if (typeof JSDOC.conf["_"] != "undefined") {
24
+ JSDOC.opt["_"] = JSDOC.opt["_"].concat(JSDOC.conf["_"]);
25
+ }
26
+
27
+ LOG.inform("With configuration: ");
28
+ for (var o in JSDOC.opt) {
29
+ LOG.inform(" "+o+": "+JSDOC.opt[o]);
30
+ }
31
+ }
32
+
33
+ // be verbose
34
+ if (JSDOC.opt.v) LOG.verbose = true;
35
+
36
+ // send log messages to a file
37
+ if (JSDOC.opt.o) LOG.out = IO.open(JSDOC.opt.o);
38
+
39
+ // run the unit tests
40
+ if (JSDOC.opt.T) {
41
+ LOG.inform("JsDoc Toolkit running in test mode at "+new Date()+".");
42
+ IO.include("frame/Testrun.js");
43
+ IO.include("test.js");
44
+ }
45
+ else {
46
+ // a template must be defined and must be a directory path
47
+ if (!JSDOC.opt.t && System.getProperty("jsdoc.template.dir")) {
48
+ JSDOC.opt.t = System.getProperty("jsdoc.template.dir");
49
+ }
50
+ if (JSDOC.opt.t && !JSDOC.opt.t.charAt(JSDOC.opt.t.length-1).match(/[\\\/]/)) {
51
+ JSDOC.opt.t += SYS.slash;
52
+ }
53
+
54
+ // verbose messages about the options we were given
55
+ LOG.inform("JsDoc Toolkit main() running at "+new Date()+".");
56
+ LOG.inform("With options: ");
57
+ for (var o in JSDOC.opt) {
58
+ LOG.inform(" "+o+": "+JSDOC.opt[o]);
59
+ }
60
+
61
+ // initialize and build a symbolSet from your code
62
+ JSDOC.JsDoc();
63
+
64
+ // debugger's option: dump the entire symbolSet produced from your code
65
+ if (JSDOC.opt.Z) {
66
+ LOG.warn("So you want to see the data structure, eh? This might hang if you have circular refs...");
67
+ IO.include("frame/Dumper.js");
68
+ var symbols = JSDOC.JsDoc.symbolSet.toArray();
69
+ for (var i = 0, l = symbols.length; i < l; i++) {
70
+ var symbol = symbols[i];
71
+ print("// symbol: " + symbol.alias);
72
+ print(symbol.serialize());
73
+ }
74
+ }
75
+ else {
76
+ if (typeof JSDOC.opt.t != "undefined") {
77
+ try {
78
+ // a file named "publish.js" must exist in the template directory
79
+ load(JSDOC.opt.t+"publish.js");
80
+
81
+ // and must define a function named "publish"
82
+ if (!publish) {
83
+ LOG.warn("No publish() function is defined in that template so nothing to do.");
84
+ }
85
+ else {
86
+ // which will be called with the symbolSet produced from your code
87
+ publish(JSDOC.JsDoc.symbolSet);
88
+ }
89
+ }
90
+ catch(e) {
91
+ LOG.warn("Sorry, that doesn't seem to be a valid template: "+JSDOC.opt.t+"publish.js : "+e);
92
+ }
93
+ }
94
+ else {
95
+ LOG.warn("No template or handlers given. Might as well read the usage notes.");
96
+ JSDOC.usage();
97
+ }
98
+ }
99
+ }
100
+
101
+ // notify of any warnings
102
+ if (!JSDOC.opt.q && LOG.warnings.length) {
103
+ print(LOG.warnings.length+" warning"+(LOG.warnings.length != 1? "s":"")+".");
104
+ }
105
+
106
+ // stop sending log messages to a file
107
+ if (LOG.out) {
108
+ LOG.out.flush();
109
+ LOG.out.close();
110
+ }
111
+ }
@@ -0,0 +1,20 @@
1
+ JSDOC.PluginManager.registerPlugin(
2
+ "JSDOC.commentSrcJson",
3
+ {
4
+ onDocCommentSrc: function(comment) {
5
+ var json;
6
+ if (/^\s*@json\b/.test(comment)) {
7
+ comment.src = new String(comment.src).replace("@json", "");
8
+
9
+ eval("json = "+comment.src);
10
+ var tagged = "";
11
+ for (var i in json) {
12
+ var tag = json[i];
13
+ // todo handle cases where tag is an object
14
+ tagged += "@"+i+" "+tag+"\n";
15
+ }
16
+ comment.src = tagged;
17
+ }
18
+ }
19
+ }
20
+ );
@@ -0,0 +1,16 @@
1
+ JSDOC.PluginManager.registerPlugin(
2
+ "JSDOC.frameworkPrototype",
3
+ {
4
+ onPrototypeClassCreate: function(classCreator) {
5
+ var desc = "";
6
+ if (classCreator.comment) {
7
+ desc = classCreator.comment;
8
+ }
9
+ var insert = desc+"/** @name "+classCreator.name+"\n@constructor\n@scope "+classCreator.name+".prototype */"
10
+
11
+ insert = insert.replace(/\*\/\/\*\*/g, "\n");
12
+ /*DEBUG*///print("insert is "+insert);
13
+ classCreator.addComment.data = insert;
14
+ }
15
+ }
16
+ );
@@ -0,0 +1,10 @@
1
+ JSDOC.PluginManager.registerPlugin(
2
+ "JSDOC.functionCall",
3
+ {
4
+ onFunctionCall: function(functionCall) {
5
+ if (functionCall.name == "dojo.define" && functionCall.arg1) {
6
+ functionCall.doc = "/** @lends "+eval(functionCall.arg1)+".prototype */";
7
+ }
8
+ }
9
+ }
10
+ );
@@ -0,0 +1,62 @@
1
+ JSDOC.PluginManager.registerPlugin(
2
+ "JSDOC.publishSrcHilite",
3
+ {
4
+ onPublishSrc: function(src) {
5
+ if (src.path in JsHilite.cache) {
6
+ return; // already generated src code
7
+ }
8
+ else JsHilite.cache[src.path] = true;
9
+
10
+ try {
11
+ var sourceCode = IO.readFile(src.path);
12
+ }
13
+ catch(e) {
14
+ print(e.message);
15
+ quit();
16
+ }
17
+
18
+ var hiliter = new JsHilite(sourceCode, src.charset);
19
+ src.hilited = hiliter.hilite();
20
+ }
21
+ }
22
+ );
23
+
24
+ function JsHilite(src, charset) {
25
+
26
+ var tr = new JSDOC.TokenReader();
27
+
28
+ tr.keepComments = true;
29
+ tr.keepDocs = true;
30
+ tr.keepWhite = true;
31
+
32
+ this.tokens = tr.tokenize(new JSDOC.TextStream(src));
33
+
34
+ // TODO is redefining toString() the best way?
35
+ JSDOC.Token.prototype.toString = function() {
36
+ return "<span class=\""+this.type+"\">"+this.data.replace(/</g, "&lt;")+"</span>";
37
+ }
38
+
39
+ if (!charset) charset = "utf-8";
40
+
41
+ this.header = '<html><head><meta http-equiv="content-type" content="text/html; charset='+charset+'"> '+
42
+ "<style>\n\
43
+ .KEYW {color: #933;}\n\
44
+ .COMM {color: #bbb; font-style: italic;}\n\
45
+ .NUMB {color: #393;}\n\
46
+ .STRN {color: #393;}\n\
47
+ .REGX {color: #339;}\n\
48
+ .line {border-right: 1px dotted #666; color: #666; font-style: normal;}\n\
49
+ </style></head><body><pre>";
50
+ this.footer = "</pre></body></html>";
51
+ this.showLinenumbers = true;
52
+ }
53
+
54
+ JsHilite.cache = {};
55
+
56
+ JsHilite.prototype.hilite = function() {
57
+ var hilited = this.tokens.join("");
58
+ var line = 1;
59
+ if (this.showLinenumbers) hilited = hilited.replace(/(^|\n)/g, function(m){return m+"<span class='line'>"+((line<10)? " ":"")+((line<100)? " ":"")+(line++)+"</span> "});
60
+
61
+ return this.header+hilited+this.footer;
62
+ }
@@ -0,0 +1,9 @@
1
+ JSDOC.PluginManager.registerPlugin(
2
+ "JSDOC.symbolLink",
3
+ {
4
+ onSymbolLink: function(link) {
5
+ // modify link.linkPath
6
+ // or link.linkText here
7
+ }
8
+ }
9
+ );
@@ -0,0 +1,31 @@
1
+ JSDOC.PluginManager.registerPlugin(
2
+ "JSDOC.tagParamConfig",
3
+ {
4
+ onDocCommentTags: function(comment) {
5
+ var currentParam = null;
6
+ var tags = comment.tags;
7
+ for (var i = 0, l = tags.length; i < l; i++) {
8
+
9
+ if (tags[i].title == "param") {
10
+ if (tags[i].name.indexOf(".") == -1) {
11
+ currentParam = i;
12
+ }
13
+ }
14
+ else if (tags[i].title == "config") {
15
+ tags[i].title = "param";
16
+ if (currentParam == null) {
17
+ tags[i].name = "arguments"+"."+tags[i].name;
18
+ }
19
+ else if (tags[i].name.indexOf(tags[currentParam].name+".") != 0) {
20
+ tags[i].name = tags[currentParam].name+"."+tags[i].name;
21
+ }
22
+ currentParam != null
23
+ //tags[currentParam].properties.push(tags[i]);
24
+ }
25
+ else {
26
+ currentParam = null;
27
+ }
28
+ }
29
+ }
30
+ }
31
+ );
@@ -0,0 +1,43 @@
1
+ JSDOC.PluginManager.registerPlugin(
2
+ "JSDOC.tagSynonyms",
3
+ {
4
+ onDocCommentSrc: function(comment) {
5
+ comment.src = comment.src.replace(/@methodOf\b/i, "@function\n@memberOf");
6
+ comment.src = comment.src.replace(/@fieldOf\b/i, "@field\n@memberOf");
7
+ },
8
+
9
+ onDocCommentTags: function(comment) {
10
+ for (var i = 0, l = comment.tags.length; i < l; i++) {
11
+ var title = comment.tags[i].title.toLowerCase();
12
+ var syn;
13
+ if ((syn = JSDOC.tagSynonyms.synonyms["="+title])) {
14
+ comment.tags[i].title = syn;
15
+ }
16
+ }
17
+ }
18
+ }
19
+ );
20
+
21
+ new Namespace(
22
+ "JSDOC.tagSynonyms",
23
+ function() {
24
+ JSDOC.tagSynonyms.synonyms = {
25
+ "=member": "memberOf",
26
+ "=memberof": "memberOf",
27
+ "=description": "desc",
28
+ "=exception": "throws",
29
+ "=argument": "param",
30
+ "=returns": "return",
31
+ "=classdescription": "class",
32
+ "=fileoverview": "overview",
33
+ "=extends": "augments",
34
+ "=base": "augments",
35
+ "=projectdescription": "overview",
36
+ "=classdescription": "class",
37
+ "=link": "see",
38
+ "=borrows": "inherits",
39
+ "=scope": "lends",
40
+ "=construct": "constructor"
41
+ }
42
+ }
43
+ );