# vim: set filetype=yaml.ansible : # ## Package: air ## Description: application auto reload for go ## Version: latest ## Methods: ## - source (go install) ## Helpers: go_install --- - name: Set air default facts # {{{ ansible.builtin.set_fact: air: install_methods: - source install_files: - to: bin/air install_url: github.com/air-verse/air pkg_deps: - go air_version: "{{ air_version | default('latest')}}" # }}} - name: Start air configuration when: - "'air' not in __configured" block: - name: Set air install method when: - air_install_method is undefined ansible.builtin.set_fact: air_install_method: "{{ install_method if install_method in air.install_methods else air.install_methods[0] }}" - name: Set air build facts when: - air_install_method == 'source' block: - name: Set air install package ansible.builtin.set_fact: air_go_pkg: url: "{{ air.install_url }}@{{ air_version }}" bin: "{{ path_bin }}/air" - name: Clean existing air install when: - clean_install ansible.builtin.set_fact: pkg_clean: "{{ pkg_clean + air.install_files }}" - name: Configure pkg dependencies loop: "{{ air.pkg_deps }}" loop_control: loop_var: pkg ansible.builtin.include_tasks: "pkgs/{{ pkg }}.yml" - name: Add air to install list ansible.builtin.set_fact: pkg_go: "{{ pkg_go + [air_go_pkg] }}" - name: Finalize air configuration ansible.builtin.set_fact: __configured: "{{ __configured | combine( { 'air': air_install_method } ) }}"