public function testOneBuildToBuildAddBuilds() { $build = new Xinc_Build(new Xinc_Engine_Sunrise(), new Xinc_Project()); $buildIterator = new Xinc_Build_Iterator(); $buildIterator->add($build); $queue = new Xinc_Build_Queue(); $scheduler = new Xinc_Build_Scheduler_Default(); $build->setScheduler($scheduler); $queue->addBuilds($buildIterator); $nextBuildTime = $queue->getNextBuildTime(); $this->assertTrue($nextBuildTime != null, 'We should have a default builttime'); $nextBuild = $queue->getNextBuild(); $this->assertEquals($build, $nextBuild, 'The Builds should be equal'); }
protected function _generateChildren() { $builds = new Xinc_Build_Iterator(); $handler = Xinc_Gui_Handler::getInstance(); $statusDir = $handler->getStatusDir(); $dir = opendir($statusDir); while ($file = readdir($dir)) { $fullfile = $statusDir . DIRECTORY_SEPARATOR . $file; if (!in_array($file, array('.', '..')) && is_dir($fullfile)) { $statusfile = $fullfile . DIRECTORY_SEPARATOR . 'build.ser'; if (file_exists($statusfile)) { $project = new Xinc_Project(); $project->setName($file); try { $object = Xinc_Build_Repository::getLastBuild($project); $builds->add($object); } catch (Exception $e) { } } } } $projects = array(); while ($builds->hasNext()) { $build = $builds->next(); /** * Do we have children? */ $children = array(); foreach ($this->_subMenus as $subExtension) { $item = $subExtension->getItem($build->getProject()); if (!$item instanceof Xinc_Plugin_Repos_Gui_Menu_Extension_Item) { continue; } $children[] = $item->generate(); } $item = new Xinc_Plugin_Repos_Gui_Menu_Extension_Item('project-' . $build->getProject()->getName() . '-' . $build->getBuildTime(), $build->getLabel() . ' - ' . $build->getProject()->getName(), './dashboard/detail?project=' . $build->getProject()->getName() . '×tamp=' . $build->getBuildTime(), $build->getProject()->getName(), '', false, count($children) > 0 ? false : true, $children); $projects[] = $item->generate(); } return implode(',', $projects); }
/** * Adds a number of builds to the queue * * @param Xinc_Build_Iterator $builds */ public function addBuilds(Xinc_Build_Iterator $builds) { while ($builds->hasNext()) { $this->builds->add($builds->next()); } }