public function run() { $project = 'test'; // Check for requested file if (!empty($this->config->filename) && !file_exists($this->config->filename)) { throw new NoSuchFile($this->config->filename); } elseif (!empty($this->config->dirname) && !file_exists($this->config->dirname)) { throw new NoSuchDir($this->config->filename); } // Check for requested analyze $analyzer = $this->config->program; if (Analyzer::getClass($analyzer)) { $analyzers_class = array($analyzer); } else { $r = Analyzer::getSuggestionClass($analyzer); if (count($r) > 0) { echo 'did you mean : ', implode(', ', str_replace('_', '/', $r)), "\n"; } throw new NoSuchAnalyzer($analyzer); } display("Cleaning DB\n"); $clean = new CleanDb($this->gremlin, $this->config, Tasks::IS_SUBTASK); $clean->run(); $load = new Load($this->gremlin, $this->config, Tasks::IS_SUBTASK); $load->run(); unset($load); display("Project loaded\n"); $analyze = new Analyze($this->gremlin, $this->config, Tasks::IS_SUBTASK); $analyze->run(); unset($analyze); $results = new Results($this->gremlin, $this->config, Tasks::IS_SUBTASK); $results->run(); unset($results); display("Analyzed project\n"); }
public function execute(Config $config) { switch ($config->command) { case 'doctor': $doctor = new Tasks\Doctor($this->gremlin, $this->config); $doctor->run($config); break; case 'init': $task = new Tasks\Initproject($this->gremlin, $this->config); $task->run($config); break; case 'anonymize': $task = new Tasks\Anonymize($this->gremlin, $this->config); $task->run($config); break; case 'files': $task = new Tasks\Files($this->gremlin, $this->config); $task->run($config); break; case 'load': $task = new Tasks\Load($this->gremlin, $this->config); $task->run($config); break; case 'stat': $task = new Tasks\Stat($this->gremlin, $this->config); $task->run($config); break; case 'analyze': $task = new Tasks\Analyze($this->gremlin, $this->config); $task->run($config); break; case 'results': $task = new Tasks\Results($this->gremlin, $this->config); $task->run($config); break; case 'export': $task = new Tasks\Export($this->gremlin, $this->config); $task->run($config); break; case 'report': $task = new Tasks\Report2($this->gremlin, $this->config); $task->run($config); break; case 'project': $task = new Tasks\Project($this->gremlin, $this->config); $task->run($config); break; case 'magicnumber': $task = new Tasks\Magicnumber($this->gremlin, $this->config); $task->run($config); break; case 'clean': $task = new Tasks\Clean($this->gremlin, $this->config); $task->run($config); break; case 'status': $task = new Tasks\Status($this->gremlin, $this->config); $task->run($config); break; case 'help': $task = new Tasks\Help($this->gremlin, $this->config); $task->run($config); break; case 'cleandb': $task = new Tasks\CleanDb($this->gremlin, $this->config); $task->run($config); break; case 'onepage': $task = new Tasks\OnePage($this->gremlin, $this->config); $task->run($config); break; case 'update': $task = new Tasks\Update($this->gremlin, $this->config); $task->run($config); break; case 'onepagereport': $task = new Tasks\OnepageReport($this->gremlin, $this->config); $task->run($config); break; case 'phploc': $task = new Tasks\Phploc($this->gremlin, $this->config); $task->run($config); break; case 'findextlib': $task = new Tasks\FindExternalLibraries($this->gremlin, $this->config); $task->run($config); break; case 'dump': $task = new Tasks\Dump($this->gremlin, $this->config); $task->run($config); break; case 'jobqueue': $task = new Tasks\Jobqueue($this->gremlin, $this->config); $task->run($config); break; case 'queue': $task = new Tasks\Queue($this->gremlin, $this->config); $task->run($config); break; case 'test': $task = new Tasks\Test($this->gremlin, $this->config); $task->run($config); break; case 'remove': $task = new Tasks\Remove($this->gremlin, $this->config); $task->run($config); break; case 'server': $task = new Tasks\Server($this->gremlin, $this->config); $task->run($config); break; case 'upgrade': $task = new Tasks\Upgrade($this->gremlin, $this->config); $task->run($config); break; case 'version': default: $version = self::VERSION; $build = self::BUILD; $date = date('r', filemtime(__FILE__)); echo "\n ________ __ _ \n|_ __ | [ | _ / |_ \n | |_ \\_| _ __ ,--. | | / ] ,--. `| |-' \n | _| _ [ \\ [ ]`'_\\ : | '' < `'_\\ : | | \n _| |__/ | > ' < // | |, | |`\\ \\ // | |,| |, \n|________|[__]`\\_]\\'-;__/[__| \\_]\\'-;__/\\__/ \n \n\nExakat : @ 2014-2016 Damien Seguy. \nVersion : ", $version, ' - Build ', $build, ' - ', $date, "\n"; break; } }