[ Index ]
 

Code source de Symfony 1.0.0

Accédez au Source d'autres logiciels libresSoutenez Angelica Josefina !

title

Body

[fermer]

/lib/vendor/phing/tasks/system/ -> ExitTask.php (source)

   1  <?php
   2  /*
   3   *  $Id: ExitTask.php 3076 2006-12-18 08:52:12Z fabien $
   4   *
   5   * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
   6   * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
   7   * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
   8   * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
   9   * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  10   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  11   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  12   * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  13   * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  14   * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  15   * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  16   *
  17   * This software consists of voluntary contributions made by many individuals
  18   * and is licensed under the LGPL. For more information please see
  19   * <http://phing.info>.
  20   */
  21   
  22  require_once 'phing/Task.php';
  23  
  24  /**
  25   * Exits the active build, giving an additional message
  26   * if available.
  27   *
  28   * @author    Hans Lellelid <hans@xmpl.org> (Phing)
  29   * @author    Nico Seessle <nico@seessle.de> (Ant)
  30   * @version   $Revision: 1.7 $
  31   * @package   phing.tasks.system
  32   */
  33  class ExitTask extends Task { 
  34  
  35      private $message;
  36      private $ifCondition;
  37      private $unlessCondition;
  38  
  39      /**
  40       * A message giving further information on why the build exited.
  41       *
  42       * @param string $value message to output
  43       */
  44      public function setMsg($value) {
  45          $this->setMessage($value);
  46      }
  47  
  48      /**
  49       * A message giving further information on why the build exited.
  50       *
  51       * @param value message to output
  52       */
  53      public function setMessage($value) {
  54          $this->message = $value;
  55      }
  56  
  57      /**
  58       * Only fail if a property of the given name exists in the current project.
  59       * @param c property name
  60       */
  61      public function setIf($c) {
  62          $this->ifCondition = $c;
  63      }
  64  
  65      /**
  66       * Only fail if a property of the given name does not
  67       * exist in the current project.
  68       * @param c property name
  69       */
  70      public function setUnless($c) {
  71          $this->unlessCondition = $c;
  72      }
  73  
  74      /**
  75       * @throws BuildException
  76       */
  77      public function main()  {
  78          if ($this->testIfCondition() && $this->testUnlessCondition()) {
  79              if ($this->message !== null) { 
  80                  throw new BuildException($this->message);
  81              } else {
  82                  throw new BuildException("No message");
  83              }
  84          }
  85      }
  86  
  87      /**
  88       * Set a multiline message.
  89       */
  90      public function addText($msg) {
  91          if ($this->message === null) {
  92              $this->message = "";
  93          }
  94          $this->message .= $this->project->replaceProperties($msg);
  95      }
  96  
  97      /**
  98       * @return boolean
  99       */
 100      private function testIfCondition() {
 101          if ($this->ifCondition === null || $this->ifCondition === "") {
 102              return true;
 103          }
 104          
 105          return $this->project->getProperty($this->ifCondition) !== null;
 106      }
 107      
 108      /**
 109       * @return boolean
 110       */
 111      private function testUnlessCondition() {
 112          if ($this->unlessCondition === null || $this->unlessCondition ===  "") {
 113              return true;
 114          }
 115          return $this->project->getProperty($this->unlessCondition) === null;
 116      }
 117  
 118  }


Généré le : Fri Mar 16 22:42:14 2007 par Balluche grâce à PHPXref 0.7