gantsign.intellij-plugins

Ansible Role: IntelliJ Plugins

Tests Ansible Galaxy License

This Ansible role helps you download and install plugins for IntelliJ IDEA.

Warning: This role uses internal IntelliJ IDEA APIs, so it is still considered experimental.

Requirements

  • Ansible version 2.9 or higher

  • Supported Linux Distributions:

    • Debian Family

      • Ubuntu
        • Bionic (18.04)
        • Focal (20.04)
    • RedHat Family

      • Rocky Linux
        • 8
    • Note: Other versions might work but haven't been tested.

Role Variables

You can change the following variables to customize this role (default values are shown below):

# Home directory where IntelliJ IDEA is installed
intellij_plugins_intellij_home: '{{ ansible_local.intellij.general.home }}'

# Directory for IntelliJ IDEA plugins (relative to user home)
intellij_plugins_intellij_user_plugins_dir: '{{ ansible_local.intellij.general.user_plugins_dir }}'

# Directory to store downloaded files for IntelliJ IDEA
intellij_plugins_download_dir: "{{ x_ansible_download_dir | default(ansible_env.HOME + '/.ansible/tmp/downloads') }}"

# URL for the IntelliJ IDEA plugin manager service
intellij_plugins_manager_url: 'https://plugins.jetbrains.com/pluginManager/'

# List of users to set up IntelliJ IDEA for
users: []

Users are set up like this:

users:
  - username: # Unix user name
    intellij_plugins:
      - # Plugin ID of the plugin to install

Example Playbooks

Here's a simple playbook:

- hosts: servers
  roles:
    - role: gantsign.intellij-plugins
      users:
        - username: vagrant
          intellij_plugins:
            - CheckStyle-IDEA

Here's a playbook where the IntelliJ home and user directory are specified:

- hosts: servers
  roles:
    - role: gantsign.intellij-plugins
      intellij_plugins_intellij_home: '/opt/idea/idea-community-2016.2.5'
      intellij_plugins_intellij_user_dirname: '.IdeaIC2016.2'
      users:
        - username: vagrant
          intellij_plugins:
            - CheckStyle-IDEA

More Roles From GantSign

You can find more roles from GantSign on Ansible Galaxy.

Development & Testing

This project uses Molecule for development and testing. The role is tested using Testinfra and pytest.

To develop or test, you need:

Since installing the above can be a bit tricky, this project provides a Molecule Wrapper. This is a shell script that installs Molecule and its dependencies (except for Linux) and then runs Molecule with the command you provide.

To test this role using the Molecule Wrapper, run the following command from the project root:

./moleculew test

Note: Some dependencies require sudo permission to install.

License

MIT License

Author Information

John Freeman

GantSign Ltd. Company No. 06109112 (registered in England)

Informazioni sul progetto

Role for installing IntelliJ IDEA Plugins.

Installa
ansible-galaxy install gantsign.intellij-plugins
Licenza
mit
Download
5.4k
Proprietario