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
70300 pour PHP 7.3
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
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
@ -2056,6 +2058,8 @@ function auto_composer() {
local use_image
if [ "$COMPOSER_PHP" == force -o "$COMPOSER_PHP" == any ]; then
use_image=1
elif [ "$COMPOSER_PHP" == none ]; then
use_image=
elif [ -n "$COMPOSER_PHP_MAX" -a "$COMPOSER_PHP_MAX" != none ]; then
# Vérifier la version de PHP
php -r '
@ -2065,10 +2069,15 @@ if (strpos($version, ".") !== false) {
$version = $version[0] * 10000 + $version[1] * 100 + (isset($version[2])? $version[2]: 0);
}
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
if [ -n "$use_image" ]; then
: # ok, on a déjà décidé qu'il faut utiliser une image
if [ -n "$use_image" -o "$COMPOSER_PHP" == none ]; then
: # ok, on a déjà décidé
elif [ -z "$COMPOSER_PHP" ]; then
# pas de version minimum, tester simplement la valeur de COMPOSER_IMAGE
[ "$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);
}
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
if [ -n "$use_image" ]; then