A tool to generate parser and code definitions for the IntelliJ plugin OrchidE.
The tool generates meta-information from Ansible Galaxy collections to be used by OrchidE
- for parsing Ansible playbooks and roles
- for code completion suggestions
- for various inspections to check for valid code snippets.
OrchidE-Builder packages for Ansible 4.4.0, 20210816 and newer require at least OrchidE plugin version 2020.1.5.
To use the latest definitions of Ansible Galaxy collections bundle with OrchidE:
- Download the latest definition package from releases or a specific Ansible version
- Create a directory on your filesystem - p.e.
~/.orchide
and put the downloaded .jar there. - Open IDE settings > Languages & Frameworks > OrchidE > Extension.
- Add the path to your newly created directory.
- Hit
Apply
. - Restart your IDE.
To use Ansible collections that are not part of OrchidE, that are newer or that from other sources you can create your own package. Any collection that documents the meta-information as Ansible can be used as a source.
- WSL, Linux or MacOS
- Python 3 (tested with 3.9)
- Python pip3, pipenv
- Bash
- a Java (JDK) version 8 - 14
- Apache Ant
- Git (or download this repository)
- Install Python 3, bash, java and Apache ant via your package manager
- e.g for Fedora
$ dnf install git ant pipenv
- e.g for Fedora
- Check out this repository
- Run
within the repository root folder
$ pipenv install
-
Configure the Ansible collection
- Create a new configuration file from an existing one in the res folder
- for the latest version, copy a file with date version
- for a list of collections with specific version, copy a file with Ansible version
- Add / remove collections you want
- Create a new configuration file from an existing one in the res folder
-
Run
$ ./build.sh build-4release -a <version number> $ ./build.sh build-4release -a 20210816
-
Copy the built jar (./build/dist/orchide-definitions.jar) to the OrchidE's configured extension directory. (set in Settings > Languages & Frameworks > OrchidE > Extension)
If you're missing an Ansible Galaxy collection, experience a problem or have any other issue, please file an issue. You can also reach out to me via support@orchide.dev.
This repository uses code from the Ansible project.
Thank you for the awesome Ansible project.