From 74f35976a74fce2c3a10de193a7241e65feb113c Mon Sep 17 00:00:00 2001 From: Francesco Abeni Date: Sat, 31 Oct 2015 11:04:54 +0100 Subject: [PATCH] Add tasks for checker tools --- RoboFile.php | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/RoboFile.php b/RoboFile.php index ed81219..a2f82ea 100644 --- a/RoboFile.php +++ b/RoboFile.php @@ -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'); + } }