- name: Install packages package: name: - rust-nightly state: present - name: Install packages when: "rust_analyzer_version is defined and rust_analyzer_version == 'package'" package: name: - rust-analyzer state: present - name: Create directories when: "rust_analyzer_version is defined and rust_analyzer_version != 'package'" file: name: "{{ item }}" state: directory mode: 0755 owner: root group: wheel loop: - "/opt/rust-analyzer" - name: Clone rust-analyzer Source when: "rust_analyzer_version is defined and rust_analyzer_version != 'package'" git: repo: "https://github.com/rust-lang/rust-analyzer.git" dest: /opt/rust-analyzer version: "{{ rust_analyzer_version }}" force: true diff: false - name: Build rust-analyzer when: "rust_analyzer_version is defined and rust_analyzer_version != 'package'" command: "cargo build --release" args: creates: "/opt/rust-analyzer/target/release/rust-analyzer" chdir: /opt/rust-analyzer