]> git.openstreetmap.org Git - nominatim.git/blobdiff - vagrant/Install-on-Ubuntu-18.sh
Install phpunit 8 on Ubuntu 18 with composer
[nominatim.git] / vagrant / Install-on-Ubuntu-18.sh
index 7f4ca32fd06171f9bda2b7b9e12fd9938773ee33..c321ddb107abdaebc7a8805c05ea44dbcf50d92d 100755 (executable)
@@ -34,14 +34,25 @@ export DEBIAN_FRONTEND=noninteractive #DOCS:
                             python3-psycopg2 python3-tidylib git
 
 # If you want to run the test suite, you need to install the following
-# additional packages:
-
-    sudo apt-get install -y phpunit php-cgi
+# additional packages including the PHP package manager composer:
 
     pip3 install --user behave nose
 
-    composer global require "squizlabs/php_codesniffer=*"
-    sudo ln -s ~/.config/composer/vendor/bin/phpcs /usr/bin/
+    sudo apt-get install -y php-cgi php-cli php-mbstring php-xml zip unzip
+
+    curl -Ss 'https://raw.githubusercontent.com/composer/getcomposer.org/99312bc6306564ac1f0ad2c6207c129b3aff58d6/web/installer' -o /tmp/composer-setup.php
+    if echo 'e0012edf3e80b6978849f5eff0d4b4e4c79ff1609dd1e613307e16318854d24ae64f26d17af3ef0bf7cfb710ca74755a /tmp/composer-setup.php' | sha384sum --check --strict --status; then
+        mkdir -p ~/.local/bin
+        php /tmp/composer-setup.php --install-dir ~/.local/bin --filename composer
+
+        ~/.local/bin/composer global require "squizlabs/php_codesniffer=*"
+        sudo ln -s ~/.config/composer/vendor/bin/phpcs /usr/bin/
+
+        ~/.local/bin/composer global require "phpunit/phpunit=8.*"
+        sudo ln -s ~/.config/composer/vendor/bin/phpunit /usr/bin/
+    else
+        echo 'Installer corrupt. Cannot install composer, php_codesniffer and phpunit.' >&2
+    fi
 
 #
 # System Configuration