eclipse

Ansible role eclipse

Build Status Branch Ansible Galaxy

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

GPLv3

About

Installer for eclipse of different distro-package combination and with selected plugins.

Install
ansible-galaxy install nwoetzel/ansible-role-eclipse
GitHub repository
License
gpl-3.0
Downloads
1339