Ejemplo n.º 1
0
 public function publish(Xinc_Build_Interface $build)
 {
     /**
      * We only process on success. 
      * Failed builds are not processed by this publisher
      */
     if ($build->getStatus() != Xinc_Build_Interface::PASSED) {
         return;
     }
     /**
      * Only if we recovered from a previous failed build cycle
      */
     $build->info('Last Build status: ' . $build->getLastBuild()->getStatus());
     if ($build->getLastBuild()->getStatus() !== 0) {
         return;
     }
     $published = false;
     $build->info('Publishing with OnRecovery Publishers');
     foreach ($this->arSubtasks as $task) {
         $published = true;
         $build->info('Publishing with OnRecovery Publisher: ' . get_class($task));
         $task->publish($build);
         if ($build->getStatus() != Xinc_Build_Interface::PASSED) {
             $build->error('Error while publishing on Recovery. OnRecovery-Publish-Process stopped');
             break;
         }
     }
     if (!$published) {
         $build->info('No Publishers registered for OnRecovery');
     }
 }
Ejemplo n.º 2
0
 /**
  * Calculates the next build timestamp
  * this is a build once scheduler
  *
  * @return integer
  */
 public function getNextBuildTime(Xinc_Build_Interface $build)
 {
     if ($build->getLastBuild()->getBuildTime() == null && $build->getStatus() !== Xinc_Build_Interface::STOPPED) {
         if (!isset($this->nextBuildTime)) {
             $this->nextBuildTime = time();
         }
         return $this->nextBuildTime;
     } else {
         return null;
     }
 }