Info | HTML | Text

Documentation - FAQ

Invalid File or Directory artifacts/BankAccount/.../coverage/index.html

If you get this or a similar error message, then your CruiseControl installation contains a directory named artifacts. If this directory exists, CruiseControl will always look for project artifacts in this directory. Simply change the artifactpublisher-tags in your config.xml from logs/${project.name} to artifacts/${project.name}. Now CruiseControl will move the generated contents into the expected directory.

How do I perform a phpUnderControl update

Even if the command name install is a little bit confusing, this command does both jobs, a fresh install or an update of an existing installation.

I updated phpUnderControl, but I still get no shiny Metric-Charts

You have updated phpUnderControl, but you still get the old metric charts. You must adjust the publishers-section of the config.xml for your existing projects to get new shiny charts, generated by phpUnderControl, from this.

<publishers> <execute command="phpuc graph logs/${project.name}"/> </publishers>

If you use the artifacts folder for output you must add a second argument to the graph command.

<publishers> <execute command="phpuc graph logs/${project.name} artifacts/${project.name}" /> </publishers>

This example is based on the PEAR installer and expects that phpuc is in the PATH environment variable. If you use the svn checkout, please change phpuc to phpuc.php.

No tag "jmxbase" defined in tag library imported with prefix "cruisecontrol"

When you try to open the phpUnderControl dashboard and get this error message, then the used CruiseControl version is to old. The referenced tutorial mentions the version 2.4.1 that was ok and up to date in 2006, but please update your CruiseControl installation to a more recent version.

I get an error about an invalid checkstyle.xml document

This could happen if you don't specify the optional @error attribute for the ant exec task. If this attribute is not specified every output, including all errors and warning, is logged into the checkstyle.xml document.

Are there any example configurations for phpUnderControl?

Yes, phpUnderControl provides two full documented build.xml and config.xml files that can be found in the docs directory.

PWC6033: Unable to compile class for JSP

After the last upgrade of phpUnderControl the dashboard only displays an error message "Type cannot be resolved"

PWC6033: Unable to compile class for JSP PWC6197: An error occurred at line: 63 in the jsp file: /dashboard.jsp PWC6199: Generated servlet error: ProjectInfos cannot be resolved to a type ...

Since version 0.4.7 phpUnderControl provides a php-under-control.jar file that is placed in the WEB-INF directory. This modification requires a CruiseControl restart, to let CruiseControl recognize the new jar files.

Why some parts of CruiseControl should not be public accessible

The CruiseControl dashboard contains a handy feature to edit the config.xml file online. This means everybody who has access to a public available CruiseControl instance can modify this file online. Therefore you should use something like mod_proxy to only allow access to the required sections of your CruiseControl installation.

CruiseControl does not detect executable like phpdoc, phpcs, phpunit

You must add the .bat extension to the different PEAR executables when you use the windows operating system. So if you get an error message like:

BUILD FAILED D:\CC\projects\php\build.xml:113: Execute failed: java.io.IOException: Cannot run program "phpdoc" (in directory "D:\CC\projects\php"): CreateProcess error=2, The system cannot find the file specified

try to add a .bat extension to the @executable attribute of the <exec /> tags

... <target name="phpdoc"> <exec executable="phpdoc.bat" dir="${basedir}"> ... </exec> </target> ...

NullPointerException when accessing artifacts

CruiseControl throws a NullPointerException when you access a page that contains artifacts or artifact links.

[cc]Feb-26 11:49:28 tifactsLinkTag- project is /php-under-control 02-26 11:49:28,667 [btpool0-6] INFO ArtifactsLinkTag - project is /php-under-control 02-26 11:49:28.805:/cruisecontrol:WARN: http://arwen:8080/cruisecontrol/error.jsp: (null) java.lang.NullPointerException at net.sourceforge.cruisecontrol.taglib.CruiseControlTagSupport.getXMLFile(CruiseControlTagSupport.java:134) at net.sourceforge.cruisecontrol.taglib.CruiseControlTagSupport.findLogFile(CruiseControlTagSupport.java:127) at net.sourceforge.cruisecontrol.taglib.ArtifactsLinkTag.getTimeString(ArtifactsLinkTag.java:98)

This will happen when your CruiseControl installation contains an /artifacts directory but your config.xml setup publishes artifacts into the /logs directory.