The jsdoc.js file is processed twice for some reason when executing from the jsdoc3 ant task (github.com/jannon/jsdoc3-ant-task), but the arguments variable remains the same so the second pass is missing the "dirname option that was spliced out the first time. Trouble ensues.
Although the root cause of that is unknown, there's no reason not to just be safe and name the variable something else. Now, during the second pass, the arguments retains it's original value.
Plugins can now do any or all of three things:
- Add tags to the dictionary by exporting a 'defineTags' function
- Register event handlers like before, but exporting them in a 'handlers' object.
- Add a node visitor to the parser. As the parser visits nodes, it will give all attached plugin visitors an opportunity to process the node as well. This gives plugin creators an opportunity to do things with symbols that the standard parser doesn't handle (like class factory function calls)
This includes a new Rhino jar just for JSDoc3! Well, it just has a small change that causes Rhino's parser to attach jsdoc comments to function call nodes when present.
Previously, the list of source files was only added to a package doclet and passed through to the templates if there was a package.json specified. Now, that doclet is always added. If there is no package.json, then only the 'files' property of the doclet will be defined.