gantsign.intellij-plugins
Ansible Role: IntelliJ Plugins
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)
- Ubuntu
RedHat Family
- Rocky Linux
- 8
- Rocky Linux
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)
ansible-galaxy install gantsign.intellij-plugins