Appendix C. Optional tasks

This appendix contains a reference of all optional tasks, i.e. tasks that are not directly needed for building projects, but can assist in various aspects of development and deployment.

This reference lists the tasks alphabetically by the name of the classes that implement the tasks. So if you are searching for the reference to the <phplint> tag, for example, you will want to look at the reference of PhpLintTask.

C.1 ApiGenTask

This task runs ApiGen, a tool for creating professional API documentation from PHP source code, similar to discontinued phpDocumentor/phpDoc.

Table C.1: Attributes

NameTypeDescriptionDefaultRequired
executableStringApiGen executable name.apigenNo
actionStringApiGen action to be executed.generateNo
configStringConfig file name.n/aSource and destination are required - either set explicitly or using a config file. Attribute values set explicitly have precedence over values from a config file.
sourceStringList of source files or directories.n/a
destinationStringDestination directory.n/a
excludeStringList of masks (case sensitive) to exclude files or directories from processing.n/aNo
skipdocpathStringList of masks (case sensitive) to exclude elements from documentation generating.n/aNo
charsetStringCharacter set of source files.UTF-8No
mainStringMain project name prefix.n/aNo
titleStringTitle of generated documentation.n/aNo
baseurlStringDocumentation base URL.n/aNo
googlecseidStringGoogle Custom Search ID.n/aNo
googlecselabelStringGoogle Custom Search label.n/aNo
googleanalyticsStringGoogle Analytics tracking code.n/aNo
templateconfigStringTemplate config file name.n/aIf not set the default template is used.
templatethemeStringTemplate theme file name.n/aIf not set the default template is used.
accesslevelsStringElement access levels. Documentation only for methods and properties with the given access level will be generated.public, protectedNo
internalBooleanWhether to generate documentation for elements marked as internal and internal documentation parts or not.NoNo
phpBooleanWhether to generate documentation for PHP internal classes or not.YesNo
treeBooleanWhether to generate tree view of classes, interfaces, traits and exceptions or not.YesNo
deprecatedBooleanWhether to generate documentation for deprecated elements or not.NoNo
todoBooleanWhether to generate documentation of tasks or not.NoNo
sourcecodeBooleanWhether to generate highlighted source code files or not.YesNo
downloadBooleanWhether to generate a link to download documentation as a ZIP archive or not.NoNo
debugBooleanWhether to enable the debug mode or not.NoNo

C.1.1 Example

<apigen
  source="classes"
  destination="api"
  exclude="*/tests/*"
  title="My Project API Documentation"
  deprecated="true"
  todo="true"/>