diff options
author | knut <> | 2006-03-03 23:52:08 +0000 |
---|---|---|
committer | knut <> | 2006-03-03 23:52:08 +0000 |
commit | 75636c08b8a60dcc1d5fd5a1bcfa64f582fabc98 (patch) | |
tree | ce80de5bd1a7ad7ba8e1fa970b47ef1cb54bcb7d /buildscripts/setup.php | |
parent | 42db97084f62f15e844cd8db1d32a70903490395 (diff) |
Added a setup script to automatically install Phing and friends through PEAR
Diffstat (limited to 'buildscripts/setup.php')
-rw-r--r-- | buildscripts/setup.php | 39 |
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 |