eclipse
Ansible role eclipse
This Ansible Eclipse role is based on the work from Alban Andrieu which one may find here. It has been extensively rewritten to support anysier installation and configuration of plugins, different eclipse distributions and packages (downloads).
Description
This ansible roles installs a eclipse distribution and optional plugins.
Dependencies
- ansible >= 2.4
- geerlingguy.java
- GROG.package
Role Variables
All defaults should also be documented in the defaults file.
variable | required | default | description |
---|---|---|---|
eclipse_distro | yes | - | the eclipse distribution, e.g. mars, neon |
eclipse_package | yes | - | the package (i.e. which default plugins are installed), e.g. java, php, cpp ... |
eclipse_os | no | - | the operating system to install for (linux, win, macosx) - is derived using ansible_system |
eclipse_arch | no | - | the system architecture (x86, x86_64) - is derived using ansible_architecture |
eclipse_tar_file | no | - | the actual tar file downloaded - is assembled from above information, but sometimes needs overwriting, due to inconsistent rule for generating full download urls |
eclipse_mirror_id | no | - | an optional mirror_id for downloading the package, if the default behavior of picking the best one, does not work |
eclipse_plugins_custom | no | {} | a dictionary of plugin declarations (to add more to the defaults in vars/main.yml or to overwrite) - read more in defaults/main.yml |
eclipse_plugins_install | no | [] | list of plugin names to be installed, as they are defined in the vars or with the variable eclipse_plugins_custom |
package_list_eclipse | no | [] | additional apt package names that should be installed |
eclipse_download_folder_remote | no | - | when set, the file is downloaded to the installation host |
eclipse_service_release | no | set by this role | the latest known is used when not set - depending on the distro can be 'SR2' (<=luna) or just '2' (>=mars) |
eclipse_ini_overwrite | no | false | modify eclipse.ini |
eclipse_ini_flags_next_line | no | {} | a dictionary of ini flags for eclipse, e.g. '"-vm": /opt/bin/java' |
eclipse_ini_flags_vmargs | no | {} | a dictionary of vmargs for the java virtual machine, e.g. '"-XX:MaxPermSize=": "1024m"' |
eclipse_ui_id_prefs_settings | no | { SHOW_WORKSPACE_SELECTION_DIALOG: "false", RECENT_WORKSPACES: ""} | key-value pairs to insert/overwrite in the org.eclipse.ui.ide.prefs file |
Facts
variable | description |
---|---|
eclipse_install_dir | the directory eclipse is installed to |
Possibilities
It is possible to install almost any eclipse package of any distribution. Currently, incubation packages and classic distributions are not supported. Additinally, many plugins are preconfigured and can just be installed through their name.
Limitations
Eclipse packages with incubation components or classic distributions are not supported yet. (with eclipse_tar_file, one can fix it a little) Plugins need to be configured in the role, before they can be installed trough their name or repository url. Adaption for either limitation can be easily implemented.
Dependencies
This role depends on geerlingguy.java to install a jdk and to set the '-vm' argument in the eclipse.ini. This dependency can be removed from meta/main.yml - and the role will work but will require a java to be in the PATH or JAVA_HOME to be set. This role also depends on GROG.package to install some minor dependencies.
License
Installer for eclipse of different distro-package combination and with selected plugins.
ansible-galaxy install nwoetzel/ansible-role-eclipse