C.115 VisualizerTask

The VisualizerTask generates a graphical representation of your current buildfile. This allows you to see all available targets but also the calls and dependencies among targets.

VisualizerTask is able to represent:

Table C.150: Basic attributes

NameTypeDescriptionDefaultRequired
format String Diagram's format. Supported formats are: png, svg, puml and eps. png no
destination String Location where the diagram will be saved. It could be a file or directory path.Same location as current buildfile no
server String PlantUML server.http://www.plantuml.com/plantumlno

If you have network connectivity issues, you should try puml format. This format doesn't needs Internet connection to generate a diagram.

C.115.1 Examples

Using VisualizerTask with default values:

<visualizer/>

Setting diagram's format to svg:

<visualizer format="svg"/>

Save diagram into resources/images/ directory:

<visualizer destination="resources/images/"/>

C.115.2 Limitations

  • Special target naming is not interpreted by VisualizerTask, targets' names are used as is. Please read Target Overriding for more details.

  • As said before, VisualizerTask depends on a remote PlantUML server. Even if only buildfile's name and targets' names are sent to server, please be sure you are not sending any sensible information.

  • PlantUML limits image width and height to 4096 pixels. Overcoming this limitation will require to configure your own PlantUML server and to configure it according to PlantUML FAQ instructions.

C.115.3 Requirements

To work properly, VisualizerTask needs to have the following installed:

C.115.4 Advanced HTTP configuration

As said before VisualizerTask needs a remote server to generate the diagrams. In order to configure the connection with remote server, several attributes and nested tags are available.

Because VisualizerTask relies on an internal Phing's library, these attributes and nested tags are shared among these tasks: HttpGetTask, HttpRequestTask and VisualizerTask.

HTTP attributes

Use the following attributes if your PlanUML server requires an authentication mechanism.

Table C.151: Attributes

NameTypeDescriptionDefaultRequired
authUserStringThe authentication user namen/aNo
authPasswordStringThe authentication passwordn/aNo
authSchemeStringThe authentication schemebasicNo

Supported Nested Tags

  • config

    Holds additional config data. See HTTP_Request2 documentation for supported values.

    Table C.152: Attributes

    NameTypeDescriptionDefaultRequired
    nameStringConfig parameter namen/aYes
    valueMixedConfig valuen/aYes

  • header

    Holds additional header name and value.

    Table C.153: Attributes

    NameTypeDescriptionDefaultRequired
    nameStringHeader namen/aYes
    valueStringHeader valuen/aYes

Global configuration

In addition to configuring a particular instance of HTTP_Request2 via nested <config> tags it is also possible to set default configuration values for HttpGetTask / HttpRequestTask / VisualizerTask by setting phing.http.* properties.

<property name="phing.http.proxy" value="socks5://localhost:1080/"/>

<!-- This request will go through the default proxy -->
<visualizer/>

<visualizer>
    <!-- This proxy will be used instead of the default one -->
    <config name="proxy" value="http://foo:[email protected]:3128/"/>
    <header name="user-agent" value="Phing VisualizerTask"/>
</visualizer>