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