public function run($files)
{
$resultFile = tempnam(sys_get_temp_dir(), 'phpmd');
$renderer = new JSONRenderer();
$renderer->setWriter(new StreamWriter($resultFile));
$ruleSetFactory = new RuleSetFactory();
$phpmd = new PHPMD();
if (isset($this->config['config']['file_extensions'])) {
$phpmd->setFileExtensions(explode(',', $this->config['config']['file_extensions']));
}
$rulesets = Runner::RULESETS;
if (isset($this->config['config']['rulesets'])) {
$rulesets = $this->prefixCodeDirectory($this->config['config']['rulesets']);
}
$phpmd->processFiles(implode(",", $files), $rulesets, array($renderer), $ruleSetFactory);
return $resultFile;
}