# Activiti API Doclet
This library provides a Javadoc Doclet for the generation of Activiti API documentation.
## Generating Documentation
The generated documentation is formatted in Markdown. It works great when checked into your project stored in GitHub, Bitbucket, or similar Git-based web interface.
You can use it by defining a Javadoc plugin in your Activiti extension Maven JAR project. That plugin should be configured to use this doclet. See the snippet below.
```xml
apidocs
org.apache.maven.plugins
maven-javadoc-plugin
3.8.0
generate-doclet
generate-resources
javadoc
com.inteligr8.activiti.doclet.ActivitiDoclet
com.inteligr8.activiti
activiti-api-doclet
1.1-SNAPSHOT
false
--title 'API Documentation'
--apiName '${project.name}
**/*.java
apidocs
${basedir}
```
You can generate the docs with the following command:
```
mvn -Papidocs generate-resources
```
The documentation will be placed in `/`.
## Special Considerations
This supports many standard tags used in JavaDoc comments. This includes support for the following:
| Tag | Classes/Interfaces | Methods |
| ------------- |:------------------:|:-------:|
| `@author` | ✓ | ✓ |
| `@since` | ✓ | ✓ |
| `@version` | ✓ | ✓ |
| `@deprecated` | ✓ | ✓ |
| `@see` | ✓ | ✓ |
| `@param` | | ✓ |
| `@return` | | ✓ |
| `@throws` | | ✓ |
If the `@see` tag contains a `#` (e.g. `beanId#method`) then it will hyperlink to the specified bean and method documentation. If you use `beanId#` it will hyperlink to the bean documentation. You can use `beanId#delegate` if you want to hyperlink tot he bean and delegate method documentation.
If the `@throws` tag is a `BPMNError`, the next term is expected to be the error code, followed by the standard comment. For example, `@throws BPMNError http-404 Not found`.
The following additional non-standard tags are supported as well:
| Tag | Description |
| ------------- | ----------- |
| `@field` | A BPMN field name followed by the standard comment. This field may be used by the execution. |
| `@varIn` | An Activiti variable name followed by the standard comment. This variable may be used by the execution. |
| `@varOut` | An Activiti variable name followed by the standard comment. This variable may be set during the execution. |