<?xml version="1.0" encoding="utf-8" ?>
<phpdox xmlns="http://xml.phpdox.net/config" silent="false">
    <!--  @silent: true | false to enable or disable visual output of progress -->

    <!-- Additional bootstrap files to load for additional parsers, enrichers and/or engines -->
    <!-- Place as many require nodes as you feel like in this container -->
    <!-- syntax: <require file="/path/to/file.php" /> -->
    <bootstrap />

    <!-- A phpDox project to process, you can have multiple projects in one config file -->
    <project name="phpdox" source="${basedir}/src" workdir="${basedir}/build/phpdox/xml">
        <!--  @name    - The name of the project -->
        <!--  @source  - The source directory of the application to process -->
        <!--  @workdir - The directory to store the xml data files in -->

        <!--  A phpDox config file can define additional variables (properties) per project -->
        <!--  <property name="some.name" value="the.value" /> -->

        <!--  Values can make use of previously defined properties -->
        <!--  The following are defined by default:

                ${basedir}                Directory the loaded config file is in

                ${phpDox.home}            Directory of the phpDox installation
                ${phpDox.file}            The current config file
                ${phpDox.version}         phpDox' version number

                ${phpDox.project.name}    The value of project/@name if set, otherwise 'unnamed'
                ${phpDox.project.source}  The value of project/@source if set, otherwise '${basedir}/src'
                ${phpDox.project.workdir} The value of project/@workdir if set, otherwise '${basedir}/build/phpdox/xml'

                ${phpDox.php.version}     The PHP Version of the interpreter in use

         -->

        <!--  Additional configuration for the collecting process (parsing of php code, generation of xml data) -->
        <collector publiconly="false" backend="parser" encoding="auto">
            <!--  @publiconly - Flag to disable/enable processing of non public methods and members -->
            <!--  @backend    - The collector backend to use, currently only shipping with 'parser' -->
            <!--  @encoding   - Charset encoding of source files (overwrite default 'auto' if detection fails) -->

            <!--  <include / exclude filter for filelist generator, mask must follow fnmatch() requirements  -->
            <!--  Multiple elements can be added to define more than one mask per filter -->
            <include mask="*.php" />
            <exclude mask="" />

            <!--  How to handle inheritance -->
            <inheritance resolve="true">
                <!--  @resolve - Flag to enable/disable resolving of inheritance -->

                <!--  You can define multiple (external) dependencies to be included -->
                <!--  <dependency  path="" -->
                <!--    @path  - path to a directory containing an index.xml for a dependency project -->
            </inheritance>

        </collector>

        <!--  Configuration of generation process -->
        <generator output="${basedir}/docs">
            <!-- @output - (Base-)Directory to store output data in -->

            <!-- A generation process consists of one or more build tasks and of (optional) enrich sources -->

            <enrich base="${basedir}/build">
                <!-- @base - (Base-)Directory of datafiles used for enrich process -->

                <!--<source type="...">-->
                <!-- @type - the handler for the enrichment -->
                <!--         known types by default are: build, checkstyle, git, phpcs, phploc, phpunit, pmd -->

                <!-- every enrichment source can have additional configuration nodes, most probably need a logfile -->
                <!-- <file name="path/to/log.xml" /> -->
                <!--</source> -->

                <!-- add phploc output -->
                <!--
                <source type="phploc" />
                -->

                <!-- git vcs information -->
                <!--
                <source type="git">
                    <git binary="/usr/bin/git" />
                    <history enabled="true" limit="15" cache="${phpDox.project.workdir}/gitlog.xml" />
                </source>
                -->

                <!-- PHP Code Sniffer findings -->
                <!--
                <source type="phpcs">
                    <file name="logs/phpcs.xml" />
                </source>
                -->

                <!-- PHPMessDetector -->
                <!--
                <source type="pmd">
                    <file name="pmd.xml" />
                </source>
                -->

                <!-- PHPUnit Coverage XML -->
                <!-- <source type="phpunit">  -->
                    <!-- <coverage path="" /> -->
                    <!--           @path - the directory where the xml code coverage report can be found -->
                <!--</source>-->
                <!--
                <source type="phpunit">
                    <filter directory="${phpDox.project.source}" />
                </source>
                -->

            </enrich>

            <!-- <build engine="..." enabled="true" output="..." /> -->
            <!--   @engine  - The name of the engine this build task uses, use ./phpDox - -engines to get a list of available engines -->
            <!--   @enabled - Flag to enable/disable this engine, default: enabled=true -->
            <!--   @output  - (optional) Output directory; if relative (no / as first char) it is interpreted as relative to generator/@output -->

            <!-- An engine and thus build node can have additional configuration child nodes, please check the documentation for the engine to find out more -->

            <!--  default engine "html" -->
            <build engine="html" enabled="true" output="html">
                <template dir="${phpDox.home}/templates/html" />
                <file extension="xhtml" />
            </build>

        </generator>
    </project>

</phpdox>
