summaryrefslogtreecommitdiff
path: root/buildscripts/phing/classes/phing/parser/ProjectHandler.php
diff options
context:
space:
mode:
Diffstat (limited to 'buildscripts/phing/classes/phing/parser/ProjectHandler.php')
-rwxr-xr-xbuildscripts/phing/classes/phing/parser/ProjectHandler.php176
1 files changed, 0 insertions, 176 deletions
diff --git a/buildscripts/phing/classes/phing/parser/ProjectHandler.php b/buildscripts/phing/classes/phing/parser/ProjectHandler.php
deleted file mode 100755
index a027c1e6..00000000
--- a/buildscripts/phing/classes/phing/parser/ProjectHandler.php
+++ /dev/null
@@ -1,176 +0,0 @@
-<?php
-/*
- * $Id: 393b1f3d8758281af2fd0153ffc6151333457527 $
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * This software consists of voluntary contributions made by many individuals
- * and is licensed under the LGPL. For more information please see
- * <http://phing.info>.
- */
-
-require_once 'phing/parser/AbstractHandler.php';
-require_once 'phing/system/io/PhingFile.php';
-
-/**
- * Handler class for the <project> XML element This class handles all elements
- * under the <project> element.
- *
- * @author Andreas Aderhold <andi@binarycloud.com>
- * @copyright (c) 2001,2002 THYRELL. All rights reserved
- * @version $Id: 393b1f3d8758281af2fd0153ffc6151333457527 $
- * @access public
- * @package phing.parser
- */
-class ProjectHandler extends AbstractHandler {
-
- /**
- * The phing project configurator object.
- * @var ProjectConfigurator
- */
- private $configurator;
-
- /**
- * Constructs a new ProjectHandler
- *
- * @param object the ExpatParser object
- * @param object the parent handler that invoked this handler
- * @param object the ProjectConfigurator object
- * @access public
- */
- function __construct($parser, $parentHandler, $configurator) {
- $this->configurator = $configurator;
- parent::__construct($parser, $parentHandler);
- }
-
- /**
- * Executes initialization actions required to setup the project. Usually
- * this method handles the attributes of a tag.
- *
- * @param string the tag that comes in
- * @param array attributes the tag carries
- * @param object the ProjectConfigurator object
- * @throws ExpatParseException if attributes are incomplete or invalid
- * @access public
- */
- function init($tag, $attrs) {
- $def = null;
- $name = null;
- $id = null;
- $desc = null;
- $baseDir = null;
- $ver = null;
-
- // some shorthands
- $project = $this->configurator->project;
- $buildFileParent = $this->configurator->buildFileParent;
-
- foreach ($attrs as $key => $value) {
- if ($key === "default") {
- $def = $value;
- } elseif ($key === "name") {
- $name = $value;
- } elseif ($key === "id") {
- $id = $value;
- } elseif ($key === "basedir") {
- $baseDir = $value;
- } elseif ($key === "description") {
- $desc = $value;
- } elseif ($key === "phingVersion") {
- $ver = $value;
- } else {
- throw new ExpatParseException("Unexpected attribute '$key'");
- }
- }
- // these things get done no matter what
- if (null != $name) {
- $canonicalName = self::canonicalName($name);
- $this->configurator->setCurrentProjectName($canonicalName);
- $project->setUserProperty("phing.file.{$canonicalName}",
- (string) $this->configurator->getBuildFile());
- }
-
- if (!$this->configurator->isIgnoringProjectTag()) {
- if ($def === null) {
- throw new ExpatParseException(
- "The default attribute of project is required");
- }
- $project->setDefaultTarget($def);
-
- if ($name !== null) {
- $project->setName($name);
- $project->addReference($name, $project);
-
- }
-
- if ($id !== null) {
- $project->addReference($id, $project);
- }
-
- if ($desc !== null) {
- $project->setDescription($desc);
- }
-
- if($ver !== null) {
- $project->setPhingVersion($ver);
- }
-
- if ($project->getProperty("project.basedir") !== null) {
- $project->setBasedir($project->getProperty("project.basedir"));
- } else {
- if ($baseDir === null) {
- $project->setBasedir($buildFileParent->getAbsolutePath());
- } else {
- // check whether the user has specified an absolute path
- $f = new PhingFile($baseDir);
- if ($f->isAbsolute()) {
- $project->setBasedir($baseDir);
- } else {
- $project->setBaseDir($project->resolveFile($baseDir, new PhingFile(getcwd())));
- }
- }
- }
- }
- }
-
- /**
- * Handles start elements within the <project> tag by creating and
- * calling the required handlers for the detected element.
- *
- * @param string the tag that comes in
- * @param array attributes the tag carries
- * @throws ExpatParseException if a unxepected element occurs
- * @access public
- */
- function startElement($name, $attrs) {
-
- $project = $this->configurator->project;
- $types = $project->getDataTypeDefinitions();
-
- if ($name == "target") {
- $tf = new TargetHandler($this->parser, $this, $this->configurator);
- $tf->init($name, $attrs);
- } elseif (isset($types[$name])) {
- $tyf = new DataTypeHandler($this->parser, $this, $this->configurator);
- $tyf->init($name, $attrs);
- } else {
- $tf = new TaskHandler($this->parser, $this, $this->configurator);
- $tf->init($name, $attrs);
- }
- }
-
- static function canonicalName ($name) {
- return preg_replace('/\W/', '_', strtolower($name));
- }
-}
-