A Jenkins installation is available for Chamilo at

Installation of Jenkins PHP

Jenkins has been installed following (quite strictly) the instructions here: and (in particular for the template).

The Jenkins server runs on port 8080.
The directory that was used for the installation is /home/ywarnier, so apparently any

java -jar jenkins-cli.jar -s http://localhost:8080 [something]

has to be launched from this directory.

I removed the PHPUnit call block from the build.xml file.

I then used this page: to figure out how to run the build from the SimpleTest results, and modified the Chamilo tests/ directory to include the necessary scripts.
I had to

apt-get install xsltproc

in order to make the conversion from SimpleTest XML to JUnit XML.

Finally, in order to install a series of libraries and scripts that were normally not available, I used:

Several errors occurred when first launching the process. Between others:

[exec] PHP Fatal error:  Call to undefined method PHP_Depend_Code_ASTArguments::getType() in /usr/share/php/PHP/Depend/Code/AbstractCallable.php on line 300

...led me to hack the Depend library (line 297) to add a method_exist() check.


[exec] PHP Fatal error:  Maximum function nesting level of '8192' reached, aborting! in /usr/share/php/PHP/Depend/Code/ASTNode.php on line 425
[exec] PHP Stack trace:
[exec] PHP 1. {main}() /usr/bin/pdepend:0
[exec] PHP 2. PHP_Depend_TextUI_Command::main() /usr/bin/pdepend:78
[exec] PHP 3. PHP_Depend_TextUI_Command->run() /usr/share/php/PHP/Depend/TextUI/Command.php:676
[exec] PHP 4. PHP_Depend_TextUI_Runner->run() /usr/share/php/PHP/Depend/TextUI/Command.php:206
[exec] PHP 5. PHP_Depend->analyze() /usr/share/php/PHP/Depend/TextUI/Runner.php:331
[exec] PHP 6. PHP_Depend->_performAnalyzeProcess() /usr/share/php/PHP/Depend.php:314
[exec] PHP 7. PHP_Depend_Metrics_Coupling_Analyzer->analyze() /usr/share/php/PHP/Depend.php:593
[exec] PHP 8. PHP_Depend_Metrics_Coupling_Analyzer->_analyze() /usr/share/php/PHP/Depend/Metrics/Coupling/Analyzer.php:193
[exec] PHP 9. PHP_Depend_Code_Package->accept() /usr/share/php/PHP/Depend/Metrics/Coupling/Analyzer.php:213
[exec] PHP 10. PHP_Depend_Visitor_AbstractVisitor->visitPackage() /usr/share/php/PHP/Depend/Code/Package.php:338
[exec] PHP 11. PHP_Depend_Code_Function->accept() /usr/share/php/PHP/Depend/Visitor/AbstractVisitor.php:238
[exec] PHP 12. PHP_Depend_Metrics_Coupling_Analyzer->visitFunction() /usr/share/php/PHP/Depend/Code/Function.php:164
[exec] PHP 13. PHP_Depend_Code_AbstractCallable->getDependencies() /usr/share/php/PHP/Depend/Metrics/Coupling/Analyzer.php:282
[exec] PHP 14. PHP_Depend_Code_AbstractCallable->findChildrenOfType() /usr/share/php/PHP/Depend/Code/AbstractCallable.php:283
[exec] PHP 15. PHP_Depend_Code_ASTNode->findChildrenOfType() /usr/share/php/PHP/Depend/Code/AbstractCallable.php:216
[exec] PHP 16. PHP_Depend_Code_ASTNode->findChildrenOfType() /usr/share/php/PHP/Depend/Code/ASTNode.php:425
[exec] PHP 17. PHP_Depend_Code_ASTNode->findChildrenOfType() /usr/share/php/PHP/Depend/Code/ASTNode.php:425


The definition of the Mess Detecto was made with

Updated by Yannick Warnier over 6 years ago ยท 10 revisions