summaryrefslogtreecommitdiff
path: root/buildscripts/phing/README
diff options
context:
space:
mode:
authorxue <>2006-06-19 18:38:29 +0000
committerxue <>2006-06-19 18:38:29 +0000
commit588727c7e2b8954ec3dbde293cf4c4d68b119f9b (patch)
treefdcc16181a20335547953ccf1550e0006c11bf28 /buildscripts/phing/README
parent127f78a4db3cc0fbbbb92f5b1abcfdce4a9af93b (diff)
Merge from 3.0 branch till 1185.
Diffstat (limited to 'buildscripts/phing/README')
-rw-r--r--buildscripts/phing/README78
1 files changed, 78 insertions, 0 deletions
diff --git a/buildscripts/phing/README b/buildscripts/phing/README
new file mode 100644
index 00000000..c2b64302
--- /dev/null
+++ b/buildscripts/phing/README
@@ -0,0 +1,78 @@
+ _________________________
+ P H I N G
+
+
+
+ What is it?
+ -----------
+
+ Phing is a PHP based build tool. In theory it is kind of like "make"
+ without makes drawbacks and with the full portability and performance
+ of PHP. (PH)pmake (I)s (N)ot (G)numake
+
+ Why?
+ ----
+
+ Why another build tool when there is already make, gnumake, nmake, jam, ant,
+ and others? Because all those tools have limitations that the binarycloud
+ development team could not live with when developing software across
+ different platforms. Make-like tools are inherently shell-based: they
+ evaluate a set of dependencies, then execute commands not unlike what you
+ would issue on a shell.
+
+ This means that you can easily extend these tools by using or writing any
+ program for the OS that you are working on; however, this also means that
+ you limit yourself to the OS, or at least the OS type, such as Unix, that
+ you are working on.
+
+ Makefiles are inherently evil as well. Anybody who has worked on them for
+ any time has run into the dreaded tab problem. "Is my command not executing
+ because I have a space in front of my tab?!!". Tools like Jam took care of
+ this to a great degree, but still have yet another format to use and
+ remember. Of course there is the Java based build tool ant, that is very
+ good approach to what now Phing is. But still based on Java you have to have
+ at least a running JRE installation on your plattfrom.
+ Great for Java projects but we thought this is very consistent way to build
+ a PHP based project. Additionally ant does not support a autoconf tool that
+ writes out proper buildfiles based on some simple rules prior defined in a
+ XML Configuration file.
+
+ Phing is different. Instead of a model where it is extended with shell-based
+ commands, Phing is extended using PHP classes. Instead of writing shell
+ commands, the configuration files are XML-based, calling a target tree where
+ various tasks get executed. Each task is run by an object that implements
+ a particular Task action.
+
+ Of course, this removes some of the expressive power that is inherent in
+ being able to construct a shell command such as
+ % `find . -name foo -exec rm {}`
+ but it gives you the ability to be cross-platform - to work anywhere and
+ everywhere. And if you really need to execute a shell command, Phing has an <exec>
+ task that allows different commands to be executed based on the operating
+ system it is executing on.
+
+ The Latest Version
+ ------------------
+
+ Details of the latest version can be found on the Phing homepage
+ <http://phing.info/>.
+
+ Documentation
+ -------------
+
+ Documentation is available in XHTML format in the docs/ directory. In particular,
+ open the docs/phing_guide/book/index.html in a frames-compatible browser to see the
+ phing user guide.
+
+ For installing see INSTALL.<platform> files in the Phing root.
+
+ Licensing
+ ---------
+
+ This software is licensed under the terms you may find in the file
+ named "LICENSE" in this directory.
+
+ Thanks for using PHING.
+
+
+ --$Id: README,v 1.4 2004/03/20 04:14:35 hlellelid Exp $