|--> bin/ PHP_CodeBrowser scripts
|--> src/ Source files for PHP_CodeBrowser
| |--> Plugins/ Plugins for different error handling/types
|
|--> templates/ Template files for PHP_CodeBrowser
| |--> css/ Used CSS by templates, Color definition for errors
| |--> img/ Used images for PHP_CodeBrowser
| |--> js/ Used javascript for PHP_CodeBrowser
|
|--> tests/ PHPUnit test suite
|
|--> package.xml PEAR package information file
|
|--> LICENCE Licence information
|--> README Structure and install information
|--> CHANGELOG Update information
$ git clone git://github.com/mayflowergmbh/PHP_CodeBrowser.git
$ pear config-set preferred_state alpha
$ pear channel-discover pear.phpunit.de
$ pear install --alldeps phpunit/PHP_CodeBrowser
Usage: phpcb(.php|.bat) --log <dir> --output <dir> [--source <dir>]
--log Path to xml log files, e.g. generated by phpunit
--output Path to output directory (must differ from source directory)
--source (opt) Path to project source
In case the optional --source
parameter is used the given target directory will be parsed. Errors from log files will be merged into the parsed file list from the target directory.
Otherwise only files from error logs will be parsed.
...
<!-- phpcb should be called after xml file generation -->
<target name="build" depends="...,phpcb" />
...
<target name="phpcb">
<exec executable="phpcb">
<arg line="--log path/to/log/dir
--output path/to/output/dir/
--source path/to/source/dir/" />
</exec>
</target>
...
Open /path/to/defined/output/index.html
.
<publishers>
<artifactspublisher dir="path/to/output" dest="artifacts/${project.name}" subdirectory="PhpCbIdentifier" />
...
</publishers>
<cruisecontrol:tab name="PHP_CodeBrowser" label="PHP_CodeBrowser">
<cruisecontrol:artifactsLink>
<iframe src="<%=request.getContextPath() %>/<%= artifacts_url %>/PhpCbIdentifier/index.html" class="tab-content">
</iframe>
</cruisecontrol:artifactsLink>
</cruisecontrol:tab>
Have a look at the standard template for Hudson jobs for PHP projects to see how PHP_CodeBrowser can be used together with Hudson.
If you have any questions you may get in contact with: Elger Thiele or Thorsten Rinne