1<?php 2/* 3 * $Id: BuildAll.php 2761 2007-10-07 23:42:29Z zYne $ 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, see 19 * <http://www.doctrine-project.org>. 20 */ 21 22/** 23 * Doctrine_Task_BuildAll 24 * 25 * @package Doctrine 26 * @subpackage Task 27 * @license http://www.opensource.org/licenses/lgpl-license.php LGPL 28 * @link www.doctrine-project.org 29 * @since 1.0 30 * @version $Revision: 2761 $ 31 * @author Jonathan H. Wage <jwage@mac.com> 32 */ 33class Doctrine_Task_BuildAll extends Doctrine_Task 34{ 35 public $description = 'Calls generate-models-from-yaml, create-db, and create-tables', 36 $requiredArguments = array(), 37 $optionalArguments = array(); 38 39 protected $models, 40 $tables; 41 42 public function __construct($dispatcher = null) 43 { 44 parent::__construct($dispatcher); 45 46 $this->models = new Doctrine_Task_GenerateModelsYaml($this->dispatcher); 47 $this->createDb = new Doctrine_Task_CreateDb($this->dispatcher); 48 $this->tables = new Doctrine_Task_CreateTables($this->dispatcher); 49 50 $this->requiredArguments = array_merge($this->requiredArguments, $this->models->requiredArguments, $this->createDb->requiredArguments, $this->tables->requiredArguments); 51 $this->optionalArguments = array_merge($this->optionalArguments, $this->models->optionalArguments, $this->createDb->optionalArguments, $this->tables->optionalArguments); 52 } 53 54 public function execute() 55 { 56 $this->models->setArguments($this->getArguments()); 57 $this->models->execute(); 58 59 $this->createDb->setArguments($this->getArguments()); 60 $this->createDb->execute(); 61 62 $this->tables->setArguments($this->getArguments()); 63 $this->tables->execute(); 64 } 65}