dk: support COMPOSER_PHP=none

This commit is contained in:
Jephté Clain 2021-02-08 16:19:33 +04:00
parent b3983edd2a
commit 1d4c4b4b04
1 changed files with 18 additions and 4 deletions

22
dk
View File

@ -198,6 +198,8 @@ COMMANDES
Cette valeur doit être spécifiée avec le format de PHP_VERSION_ID i.e Cette valeur doit être spécifiée avec le format de PHP_VERSION_ID i.e
70300 pour PHP 7.3 70300 pour PHP 7.3
Spécifier 'any' ou 'force' pour forcer l'utilisation de l'image docker Spécifier 'any' ou 'force' pour forcer l'utilisation de l'image docker
Spécifier 'none' pour lancer directement composer sans passer par une
image docker.
* COMPOSER_PHP_MAX -- Version de PHP à partir de laquelle COMPOSER_IMAGE * COMPOSER_PHP_MAX -- Version de PHP à partir de laquelle COMPOSER_IMAGE
est utilisée. En d'autres termes, c'est la version maximum de PHP, à est utilisée. En d'autres termes, c'est la version maximum de PHP, à
partir de laquelle il faut passer par une image docker. L'idée est que partir de laquelle il faut passer par une image docker. L'idée est que
@ -2056,6 +2058,8 @@ function auto_composer() {
local use_image local use_image
if [ "$COMPOSER_PHP" == force -o "$COMPOSER_PHP" == any ]; then if [ "$COMPOSER_PHP" == force -o "$COMPOSER_PHP" == any ]; then
use_image=1 use_image=1
elif [ "$COMPOSER_PHP" == none ]; then
use_image=
elif [ -n "$COMPOSER_PHP_MAX" -a "$COMPOSER_PHP_MAX" != none ]; then elif [ -n "$COMPOSER_PHP_MAX" -a "$COMPOSER_PHP_MAX" != none ]; then
# Vérifier la version de PHP # Vérifier la version de PHP
php -r ' php -r '
@ -2065,10 +2069,15 @@ if (strpos($version, ".") !== false) {
$version = $version[0] * 10000 + $version[1] * 100 + (isset($version[2])? $version[2]: 0); $version = $version[0] * 10000 + $version[1] * 100 + (isset($version[2])? $version[2]: 0);
} }
exit((PHP_VERSION_ID > $version)? 0: 1); exit((PHP_VERSION_ID > $version)? 0: 1);
' -- "$COMPOSER_PHP_MAX" && use_image=1 ' -- "$COMPOSER_PHP_MAX"
case $? in
0) use_image=1;;
1) use_image=;;
*) ewarn "Erreur lors du lancement de PHP: est-il installé? Vous pouvez utiliser COMPOSER_PHP=any";;
esac
fi fi
if [ -n "$use_image" ]; then if [ -n "$use_image" -o "$COMPOSER_PHP" == none ]; then
: # ok, on a déjà décidé qu'il faut utiliser une image : # ok, on a déjà décidé
elif [ -z "$COMPOSER_PHP" ]; then elif [ -z "$COMPOSER_PHP" ]; then
# pas de version minimum, tester simplement la valeur de COMPOSER_IMAGE # pas de version minimum, tester simplement la valeur de COMPOSER_IMAGE
[ "$COMPOSER_IMAGE" != none ] && use_image=1 [ "$COMPOSER_IMAGE" != none ] && use_image=1
@ -2081,7 +2090,12 @@ if (strpos($version, ".") !== false) {
$version = $version[0] * 10000 + $version[1] * 100 + (isset($version[2])? $version[2]: 0); $version = $version[0] * 10000 + $version[1] * 100 + (isset($version[2])? $version[2]: 0);
} }
exit((PHP_VERSION_ID < $version)? 0: 1); exit((PHP_VERSION_ID < $version)? 0: 1);
' -- "$COMPOSER_PHP" && use_image=1 ' -- "$COMPOSER_PHP"
case $? in
0) use_image=1;;
1) use_image=;;
*) ewarn "Erreur lors du lancement de PHP: est-il installé? Vous pouvez utiliser COMPOSER_PHP=any";;
esac
fi fi
if [ -n "$use_image" ]; then if [ -n "$use_image" ]; then