phpUnderControl
~~~~~~~~~~~~~~~
:Author: Manuel Pichler
:Date: Thu, 26 Feb 2009 19:19:29 +0100
:Revision: 13
:Copyright: CC by-nc-sa
===================
Documentation - FAQ
===================
.. contents:: Table of Contents
:depth: 3
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. ::
If you use the *artifacts* folder for output you must add a second argument to
the *graph* command. ::
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`__.
__ http://nohn.org/blog/view/id/cruisecontrol_ant_and_phpunit
__ http://sourceforge.net/project/showfiles.php?group_id=23523
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.
__ http://ant.apache.org/manual/CoreTasks/exec.html
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.
__ http://www.phpunit.de/browser/phpUnderControl/trunk/docs/build.xml
__ http://www.phpunit.de/browser/phpUnderControl/trunk/docs/config.xml
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 tags ::
...
...
...
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
2009-02-26 11:49:28,667 [btpool0-6] INFO ArtifactsLinkTag - project is /php-under-control
2009-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.
__ http://www.phpunit.de/browser/phpUnderControl/trunk/docs/config.xml#L141