39 lines
1.5 KiB
YAML
39 lines
1.5 KiB
YAML
---
|
|
- name: Ensure extra packages are installed
|
|
block:
|
|
- name: Install global Composer packages.
|
|
composer:
|
|
command: "{{ (item.state | default('present') == 'absent') | ternary('remove', 'require') }}"
|
|
arguments: "{{ item.name | default(item) }} {{ item.version | default('@stable') }}"
|
|
# Ansible 2.4 supports `global_command` making `working_dir` optional.
|
|
working_dir: "{{ lookup('env', 'COMPOSER_HOME') | default('~/.composer', true) }}"
|
|
loop: "{{ composer_packages }}"
|
|
|
|
- name: Install global NPM packages.
|
|
ansible.builtin.npm:
|
|
name: "{{ item.name | default(item) }}"
|
|
state: "{{ item.state | default('present') }}"
|
|
version: "{{ item.version | default(omit) }}"
|
|
global: true
|
|
executable: "{{ item.executable | default(omit) }}"
|
|
loop: "{{ npm_packages }}"
|
|
|
|
- name: Install global Pip packages.
|
|
ansible.builtin.pip:
|
|
name: "{{ item.name | default(item) }}"
|
|
state: "{{ item.state | default('present') }}"
|
|
version: "{{ item.version | default(omit) }}"
|
|
executable: "{{ pip_executable | default(omit) }}"
|
|
loop: "{{ pip_packages }}"
|
|
|
|
- name: Install global Ruby gems.
|
|
ansible.builtin.gem:
|
|
name: "{{ item.name | default(item) }}"
|
|
state: "{{ item.state | default('present') }}"
|
|
version: "{{ item.version | default(omit) }}"
|
|
user_install: false
|
|
install_dir: "{{ gem_dir }}"
|
|
executable: "{{ gem_executable | default(omit) }}"
|
|
loop: "{{ gem_packages }}"
|
|
tags: ['extra-packages']
|