From cefa2b28685ccbefe86d7b708b5efee6d1117e8e Mon Sep 17 00:00:00 2001 From: Theodoros Georgomanolis Date: Mon, 19 Dec 2022 20:35:42 +0200 Subject: [PATCH] Update ansible provisioners - Add Jenkinsfile vim plugin - Refactor ansible vim role --- .../ansible/roles/vim/defaults/main.yml | 61 ++++++++---- provisioners/ansible/roles/vim/tasks/main.yml | 94 +++++++------------ 2 files changed, 76 insertions(+), 79 deletions(-) diff --git a/provisioners/ansible/roles/vim/defaults/main.yml b/provisioners/ansible/roles/vim/defaults/main.yml index 8123233..f0efb82 100644 --- a/provisioners/ansible/roles/vim/defaults/main.yml +++ b/provisioners/ansible/roles/vim/defaults/main.yml @@ -1,23 +1,46 @@ --- -vim_plugin_dir: '{{ ansible_env.HOME }}/.vim' -rfvim_reinstall: false -j2vim_reinstall: false -j2vim: +vim_plugins_dir: '{{ ansible_env.HOME }}/.vim' +vim_plugins: + - filename: 'jinja.vim' + reinstall: &reinstall false + runtimepath: + - 'syntax' + - 'ftdetect' + - 'ftplugin' + - 'indent' git: - proto: 'https' - host: 'github.com' - user: 'Glench' - repo: - name: 'Vim-Jinja2-Syntax' - version: 'master' - directory: '/tmp' -rfvim: + proto: &proto 'https' + host: &host 'github.com' + user: 'Glench' + repo: + name: 'Vim-Jinja2-Syntax' + version: &version 'master' + directory: &install_dir '{{ ansible_env.HOME }}/.vim_plugins' + - filename: 'robot.vim' + reinstall: *reinstall + runtimepath: + - 'after/syntax' + - 'ftdetect' git: - proto: 'https' - host: 'github.com' - user: 'mfukar' - repo: - name: 'robotframework-vim' - version: 'master' - directory: '/tmp' + proto: *proto + host: *host + user: 'mfukar' + repo: + name: 'robotframework-vim' + version: *version + directory: *install_dir + - filename: 'Jenkinsfile.vim' + reinstall: *reinstall + runtimepath: + - 'syntax' + - 'ftdetect' + - 'indent' + git: + proto: *proto + host: *host + user: 'martinda' + repo: + name: 'Jenkinsfile-vim-syntax' + version: *version + directory: *install_dir ... diff --git a/provisioners/ansible/roles/vim/tasks/main.yml b/provisioners/ansible/roles/vim/tasks/main.yml index 1954092..9a46070 100644 --- a/provisioners/ansible/roles/vim/tasks/main.yml +++ b/provisioners/ansible/roles/vim/tasks/main.yml @@ -22,65 +22,51 @@ force: 'yes' mode: 0644 -- name: 'Ensure {{ vim_plugin_dir }}' +- name: 'Ensure {{ vim_plugins_dir }}' file: - path: '{{ vim_plugin_dir }}' + path: '{{ vim_plugins_dir }}' state: 'directory' owner: '{{ ansible_env.USER }}' group: '{{ ansible_env.USER }}' mode: 0755 -- name: 'Cleanup {{ j2vim.git.directory }}/{{ j2vim.git.repo.name }} directory' +- name: 'Cleanup plugin checkout directory' file: - path: '{{ j2vim.git.directory }}/{{ j2vim.git.repo.name }}' + path: '{{ item.git.directory }}/{{ item.git.repo.name }}' state: 'absent' - when: 'j2vim_reinstall | bool' + loop: '{{ vim_plugins }}' + when: 'item.reinstall | bool' -- name: 'Cleanup {{ rfvim.git.directory }}/{{ rfvim.git.repo.name }} directory' +- name: 'Cleanup plugin repository files under: {{ vim_plugins_dir }}' file: - path: '{{ rfvim.git.directory }}/{{ rfvim.git.repo.name }}' + path: '{{ vim_plugins_dir }}/{{ item.1 }}/{{ item.0.filename }}' state: 'absent' - when: 'rfvim_reinstall | bool' + with_subelements: + - '{{ vim_plugins }}' + - 'runtimepath' + when: 'item.0.reinstall | bool' -- name: 'Cleanup {{ j2vim.git.repo.name }} files under: {{ vim_plugin_dir }}' +- name: 'Ensure plugin directory' file: - path: '{{ vim_plugin_dir }}/{{ item }}/jinja.vim' - state: 'absent' - loop: - - 'syntax' - - 'ftdetect' - - 'ftplugin' - - 'indent' - when: 'j2vim_reinstall | bool' - -- name: 'Cleanup {{ rfvim.git.repo.name }} files under: {{ vim_plugin_dir }}' - file: - path: '{{ vim_plugin_dir }}/{{ item }}/robot.vim' - state: 'absent' - loop: - - 'after/syntax' - - 'ftdetect' - when: 'rfvim_reinstall | bool' - -- name: 'Checkout {{ j2vim.git.repo.name }} plugin' - git: - repo: '{{ j2vim.git.proto }}://{{ j2vim.git.host }}/{{ j2vim.git.user }}/{{ j2vim.git.repo.name }}.git' - dest: '{{ j2vim.git.directory }}/{{ j2vim.git.repo.name }}' - version: '{{ j2vim.git.repo.version }}' - accept_hostkey: 'yes' - update: 'no' + path: '{{ item.git.directory }}' + state: 'directory' + owner: '{{ ansible_env.USER }}' + group: '{{ ansible_env.USER }}' + mode: 0755 + loop: '{{ vim_plugins }}' -- name: 'Checkout {{ rfvim.git.repo.name }} plugin' +- name: 'Checkout VIM plugins' git: - repo: '{{ rfvim.git.proto }}://{{ rfvim.git.host }}/{{ rfvim.git.user }}/{{ rfvim.git.repo.name }}.git' - dest: '{{ rfvim.git.directory }}/{{ rfvim.git.repo.name }}' - version: '{{ rfvim.git.repo.version }}' + repo: '{{ item.git.proto }}://{{ item.git.host }}/{{ item.git.user }}/{{ item.git.repo.name }}.git' + dest: '{{ item.git.directory }}/{{ item.git.repo.name }}' + version: '{{ item.git.repo.version }}' accept_hostkey: 'yes' update: 'no' + loop: '{{ vim_plugins }}' -- name: 'Add {{ rfvim.git.repo.name }} highlighting for .resource file extension' +- name: 'Add RF-VIM plugin highlighting for .resource files' lineinfile: - path: '{{ rfvim.git.directory }}/{{ rfvim.git.repo.name }}/ftdetect/robot.vim' + path: '{{ item.git.directory }}/{{ item.git.repo.name }}/ftdetect/{{ item.filename }}' regexp: '^au.*?\.robot.*?(?