summaryrefslogtreecommitdiff
path: root/buildscripts
diff options
context:
space:
mode:
authorknut <>2006-03-03 23:52:08 +0000
committerknut <>2006-03-03 23:52:08 +0000
commit75636c08b8a60dcc1d5fd5a1bcfa64f582fabc98 (patch)
treece80de5bd1a7ad7ba8e1fa970b47ef1cb54bcb7d /buildscripts
parent42db97084f62f15e844cd8db1d32a70903490395 (diff)
Added a setup script to automatically install Phing and friends through PEAR
Diffstat (limited to 'buildscripts')
-rw-r--r--buildscripts/setup.php39
1 files changed, 39 insertions, 0 deletions
diff --git a/buildscripts/setup.php b/buildscripts/setup.php
new file mode 100644
index 00000000..59d636b8
--- /dev/null
+++ b/buildscripts/setup.php
@@ -0,0 +1,39 @@
+<?php
+/**
+ * Setup script for build system. You could run this script to install or upgrade Phing
+ * with dependencies. Please make sure to change the PEAR_CMD constant to how you want
+ * to execute the PEAR installer.
+ *
+ * @author Knut Urdalen
+ */
+
+// Where to find the PEAR installer
+define('PEAR_CMD', 'sudo pear');
+
+// Storing your preferred_state
+$preferred_state = exec(PEAR_CMD.' config-get preferred_state');
+
+// Setting preferred state temporary to development to automatically get all dependencies
+system(PEAR_CMD.' config-set preferred_state devel');
+
+// Ensure that the PEAR channel protocol is updated
+system(PEAR_CMD.' channel-update pear.php.net');
+
+// Ensure that the Phing PEAR channel is added
+system(PEAR_CMD.' channel-discover pear.phing.info');
+
+// and channel protocol is updated
+system(PEAR_CMD.' channel-update pear.phing.info');
+
+// Checking if Phing is already installed
+$result = exec(PEAR_CMD.' info phing/phing');
+if(strstr($result, 'No information found for')) { // Install
+ system(PEAR_CMD.' install --alldeps phing/phing');
+} else { // Try to upgrade
+ system(PEAR_CMD.' upgrade --alldeps phing/phing');
+}
+
+// Setting your preferred state back to what it was
+system(PEAR_CMD.' config-set preferred_state '.$preferred_state);
+
+?> \ No newline at end of file