From bb4a077d84208194346875e2784ba59aeb2cb708 Mon Sep 17 00:00:00 2001 From: Simon Schneider Date: Fri, 12 Apr 2019 15:55:28 +0200 Subject: [PATCH] feat(php/ng): support for php cli multiversion --- php/ng/cli/ini.sls | 11 +++++++++++ php/ng/cli/init.sls | 11 +++++++++++ php/ng/cli/install.sls | 11 +++++++++++ 3 files changed, 33 insertions(+) diff --git a/php/ng/cli/ini.sls b/php/ng/cli/ini.sls index 6844192..15c7727 100644 --- a/php/ng/cli/ini.sls +++ b/php/ng/cli/ini.sls @@ -11,5 +11,16 @@ {% endif %} {% endfor %} +{% set pillar_php_ng_version = salt['pillar.get']('php:ng:version', '7.0') %} +{% if pillar_php_ng_version is iterable and pillar_php_ng_version is not string %} + {% for version in pillar_php_ng_version %} + {% set first_version = pillar_php_ng_version[0]|string %} + {% set ini = php.lookup.cli.ini|replace(first_version, version) %} +php_cli_ini_{{ version }}: + {{ php_ini(ini, php.cli.ini.opts, settings) }} + {% endfor %} +{% else %} + php_cli_ini: {{ php_ini(php.lookup.cli.ini, php.cli.ini.opts, settings) }} +{% endif %} diff --git a/php/ng/cli/init.sls b/php/ng/cli/init.sls index 06bc3e9..621d2c3 100644 --- a/php/ng/cli/init.sls +++ b/php/ng/cli/init.sls @@ -4,8 +4,19 @@ include: - php.ng.cli.install - php.ng.cli.ini +{% set pillar_php_ng_version = salt['pillar.get']('php:ng:version', '7.0') %} +{% if pillar_php_ng_version is iterable and pillar_php_ng_version is not string %} +extend: + {% for version in pillar_php_ng_version %} + php_cli_ini_{{ version }}: + file: + - require: + - sls: php.ng.cli.install + {% endfor %} +{% else %} extend: php_cli_ini: file: - require: - sls: php.ng.cli.install +{% endif %} diff --git a/php/ng/cli/install.sls b/php/ng/cli/install.sls index ee4d463..a281933 100644 --- a/php/ng/cli/install.sls +++ b/php/ng/cli/install.sls @@ -3,8 +3,18 @@ {%- if salt['grains.get']('os_family') == "Debian" %} {% set current_php = salt['alternatives.show_current']('php') %} +{% set pillar_php_ng_version = salt['pillar.get']('php:ng:version', '7.0') %} +{% if pillar_php_ng_version is iterable and pillar_php_ng_version is not string %} + {% if 'alternatives_version' in salt['pillar.get']('php:ng') %} + {% set phpng_version = salt['pillar.get']('php:ng:alternatives_version') %} + {% else %} + {% set phpng_version = false %} + {% endif %} +{% else %} {% set phpng_version = salt['pillar.get']('php:ng:version', '7.0')|string %} +{% endif %} +{% if phpng_version %} php_{{ phpng_version }}_link: alternatives.set: - name: php @@ -15,3 +25,4 @@ php_{{ phpng_version }}_link: - which php - test {{ current_php }} != $(which php{{ phpng_version }}) {% endif %} +{% endif %}