コード例 #1
0
ファイル: Phing.php プロジェクト: domenypl/symfony1-legacy
 /** 
  * Entry point allowing for more options from other front ends.
  * 
  * This method encapsulates the complete build lifecycle.
  * 
  * @param array &$args The commandline args passed to phing shell script.
  * @param array $additionalUserProperties   Any additional properties to be passed to Phing (alternative front-end might implement this).
  *                                          These additional properties will be available using the getDefinedProperty() method and will
  *                                          be added to the project's "user" properties.
  * @return void
  * @see execute()
  * @see runBuild()
  */
 public static function start(&$args, $additionalUserProperties = null)
 {
     try {
         $m = new Phing();
         $m->execute($args);
     } catch (Exception $exc) {
         $m->printMessage($exc);
         self::halt(-1);
         // Parameter error
     }
     if ($additionalUserProperties !== null) {
         $keys = $m->additionalUserProperties->keys();
         while (count($keys)) {
             $key = array_shift($keys);
             $property = $m->additionalUserProperties->getProperty($key);
             $m->setDefinedProperty($key, $property);
         }
     }
     try {
         $m->runBuild();
     } catch (Exception $exc) {
         self::halt(1);
         // Errors occured
     }
     // everything fine, shutdown
     self::halt(0);
     // no errors, everything is cake
 }
コード例 #2
0
ファイル: phing.php プロジェクト: hkilter/OpenSupplyChains
 /**
  * Entry point allowing for more options from other front ends.
  *
  * This method encapsulates the complete build lifecycle.
  *
  * @param array $args The commandline args passed to phing shell script.
  * @param array $additionalUserProperties   Any additional properties to be passed to Phing (alternative front-end might implement this).
  *                                          These additional properties will be available using the getDefinedProperty() method and will
  *                                          be added to the project's "user" properties
  * @see execute()
  * @see runBuild()
  * @throws Exception - if there is an error during build
  */
 public static function start($args, array $additionalUserProperties = null)
 {
     try {
         $m = new Phing();
         $m->execute($args);
     } catch (Exception $exc) {
         self::handleLogfile();
         throw $exc;
     }
     if ($additionalUserProperties !== null) {
         foreach ($additionalUserProperties as $key => $value) {
             $m->setDefinedProperty($key, $value);
         }
     }
     try {
         $m->runBuild();
     } catch (Exception $exc) {
         self::handleLogfile();
         throw $exc;
     }
     // everything fine, shutdown
     self::handleLogfile();
 }
コード例 #3
0
ファイル: Phing.php プロジェクト: Geeklog-Japan/geeklog-japan
 /**
  * Entry point allowing for more options from other front ends.
  *
  * This method encapsulates the complete build lifecycle.
  *
  * @param  array     $args                     The commandline args passed to phing shell script.
  * @param  array     $additionalUserProperties Any additional properties to be passed to Phing (alternative front-end might implement this).
  *                                             These additional properties will be available using the getDefinedProperty() method and will
  *                                             be added to the project's "user" properties
  * @see execute()
  * @see runBuild()
  * @throws Exception - if there is an error during build
  */
 public static function start($args, array $additionalUserProperties = null)
 {
     try {
         $m = new Phing();
         $m->execute($args);
     } catch (Exception $exc) {
         self::handleLogfile();
         self::printMessage($exc);
         self::statusExit(1);
         return;
     }
     if ($additionalUserProperties !== null) {
         foreach ($additionalUserProperties as $key => $value) {
             $m->setDefinedProperty($key, $value);
         }
     }
     // expect the worst
     $exitCode = 1;
     try {
         try {
             $m->runBuild();
             $exitCode = 0;
         } catch (ExitStatusException $ese) {
             $exitCode = $ese->getCode();
             if ($exitCode != 0) {
                 self::handleLogfile();
                 throw $ese;
             }
         }
     } catch (BuildException $exc) {
         // avoid printing output twice: self::printMessage($exc);
     } catch (Exception $exc) {
         echo $exc->getTraceAsString();
         self::printMessage($exc);
     }
     // everything fine, shutdown
     self::handleLogfile();
     self::statusExit($exitCode);
 }