Add tasks for checker tools

This commit is contained in:
Francesco Abeni 2015-10-31 11:04:54 +01:00
parent 3f6288b460
commit 74f35976a7
1 changed files with 48 additions and 0 deletions

View File

@ -156,6 +156,30 @@ class RoboFile extends \Robo\Tasks
->stopOnFail();
}
public function runChecker($tool = null)
{
if ($tool === null) {
$this->say('You have to specify a tool name as argument. Valid tools are phpmd, phpcs, phpcpd.');
return false;
}
if (!in_array($tool, array('phpmd', 'phpcs', 'phpcpd') )) {
$this->say('The tool you required is not known. Valid tools are phpmd, phpcs, phpcpd.');
return false;
}
switch ($tool) {
case 'phpmd':
return $this->runPhpmd();
case 'phpcs':
return $this->runPhpcs();
case 'phpcpd':
return $this->runPhpcpd();
}
}
/**
* Creates a testing Joomla site for running the tests (use it before run:test)
*
@ -314,4 +338,28 @@ class RoboFile extends \Robo\Tasks
$this->say('Trying to kill the selenium server.');
$this->_exec("curl http://$host:$port/selenium-server/driver/?cmd=shutDownSeleniumServer");
}
/**
* Run the phpmd tool
*/
private function runPhpmd()
{
return $this->_exec('phpmd' . $this->extension . ' ' . __DIR__ . '/src xml cleancode,codesize,controversial,design,naming,unusedcode');
}
/**
* Run the phpcs tool
*/
private function runPhpcs()
{
$this->_exec('phpcs' . $this->extension . ' ' . __DIR__ . '/src');
}
/**
* Run the phpcpd tool
*/
private function runPhpcpd()
{
$this->_exec('phpcpd' . $this->extension . ' ' . __DIR__ . '/src');
}
}