summaryrefslogtreecommitdiff
path: root/buildscripts/phing/classes/phing/tasks/ext/ExportPropertiesTask.php
diff options
context:
space:
mode:
Diffstat (limited to 'buildscripts/phing/classes/phing/tasks/ext/ExportPropertiesTask.php')
-rw-r--r--buildscripts/phing/classes/phing/tasks/ext/ExportPropertiesTask.php141
1 files changed, 0 insertions, 141 deletions
diff --git a/buildscripts/phing/classes/phing/tasks/ext/ExportPropertiesTask.php b/buildscripts/phing/classes/phing/tasks/ext/ExportPropertiesTask.php
deleted file mode 100644
index 8bc64bbb..00000000
--- a/buildscripts/phing/classes/phing/tasks/ext/ExportPropertiesTask.php
+++ /dev/null
@@ -1,141 +0,0 @@
-<?php
-
-/*
- * $Id: 7d96a453b74edc40fdea85ba8befe6459334016d $
- *
- * 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/Task.php";
-
-/**
- * Saves currently defined properties into a specified file
- *
- * @author Andrei Serdeliuc
- * @extends Task
- * @version $Id: 7d96a453b74edc40fdea85ba8befe6459334016d $
- * @package phing.tasks.ext
- */
-class ExportPropertiesTask extends Task
-{
- /**
- * Array of project properties
- *
- * (default value: null)
- *
- * @var array
- * @access private
- */
- private $_properties = null;
-
- /**
- * Target file for saved properties
- *
- * (default value: null)
- *
- * @var string
- * @access private
- */
- private $_targetFile = null;
-
- /**
- * Exclude properties starting with these prefixes
- *
- * @var array
- * @access private
- */
- private $_disallowedPropertyPrefixes = array(
- 'host.',
- 'phing.',
- 'os.',
- 'php.',
- 'line.',
- 'env.',
- 'user.'
- );
-
- /**
- * setter for _targetFile
- *
- * @access public
- * @param string $file
- * @return bool
- */
- public function setTargetFile($file)
- {
- if(!is_dir(dirname($file))) {
- throw new BuildException("Parent directory of target file doesn't exist");
- }
-
- if(!is_writable(dirname($file)) && (file_exists($file) && !is_writable($file))) {
- throw new BuildException("Target file isn't writable");
- }
-
- $this->_targetFile = $file;
- return true;
- }
-
- /**
- * setter for _disallowedPropertyPrefixes
- *
- * @access public
- * @param string $file
- * @return bool
- */
- public function setDisallowedPropertyPrefixes($prefixes)
- {
- $this->_disallowedPropertyPrefixes = explode(",", $prefixes);
- return true;
- }
-
- public function main()
- {
- // Sets the currently declared properties
- $this->_properties = $this->getProject()->getProperties();
-
- if(is_array($this->_properties) && !empty($this->_properties) && null !== $this->_targetFile) {
- $propertiesString = '';
- foreach($this->_properties as $propertyName => $propertyValue) {
- if(!$this->isDisallowedPropery($propertyName)) {
- $propertiesString .= $propertyName . "=" . $propertyValue . PHP_EOL;
- }
- }
-
- if(!file_put_contents($this->_targetFile, $propertiesString)) {
- throw new BuildException('Failed writing to ' . $this->_targetFile);
- }
- }
- }
-
- /**
- * Checks if a property name is disallowed
- *
- * @access protected
- * @param string $propertyName
- * @return bool
- */
- protected function isDisallowedPropery($propertyName)
- {
- foreach($this->_disallowedPropertyPrefixes as $property) {
- if(substr($propertyName, 0, strlen($property)) == $property) {
- return true;
- }
- }
-
- return false;
- }
-}