Console version of Oomph installer (also called Eclipse installer). Implements a headless installation mode from command line. This project base on patch 66353 of Mikael Karlback.
Available solutions:
- Standalone Oomph console installer (plain Oomph with console plugin installed).
- Oomph console plugin for Eclipse (can be installed on any Eclipse product from p2 repository).
Typical use cases:
- Installation Eclipse with an exact set of features/plugins and with certain preferences.
- Automation the process of installing and updating Eclipse (using CI\CD).
-
Use a console version of Oomph installer; you can download it either from Standalone Oomph console installer (choose the appropriate download for your target platform) or with mvn command. This eclipse installer is provided with
org.eclipse.oomph.console.application
application to handle command line installations:# Check Oomph console version # Linux mvn org.apache.maven.plugins:maven-dependency-plugin:3.3.0:unpack -Dartifact=com.github.a-langer:org.eclipse.oomph.console.product:LATEST:tar.gz:linux.gtk.x86_64 -DoutputDirectory=./ -Dproject.basedir=./ # MacOS x86_64 mvn org.apache.maven.plugins:maven-dependency-plugin:3.3.0:unpack -Dartifact=com.github.a-langer:org.eclipse.oomph.console.product:LATEST:tar.gz:macosx.cocoa.x86_64 -DoutputDirectory=./ -Dproject.basedir=./ # Windows (powershell) mvn "org.apache.maven.plugins:maven-dependency-plugin:3.3.0:unpack" "-Dartifact=com.github.a-langer:org.eclipse.oomph.console.product:LATEST:zip:win32.win32.x86_64" "-DoutputDirectory=./" "-Dproject.basedir=./" # Linux/MacOS binary ./eclipse-installer/eclipse-inst # Windows binary ./eclipse-instc.exe # Following examples may suit a default unix shell; adapt command and argument quoting as needed by your platform/shell
-
Install Eclipse product such as "Eclipse IDE for Java Developers" or "Eclipse IDE for PHP Developers", ex.:
# Install "Eclipse IDE for Java Developers" ./eclipse-inst -vmargs \ -Doomph.installation.location="$PWD/ide" \ -Doomph.product.id="epp.package.java" # Install "Eclipse IDE for PHP Developers" ./eclipse-inst -vmargs \ -Doomph.installation.location="$PWD/ide" \ -Doomph.product.id="epp.package.php"
-
Install Eclipse project, such as "SWTBot testing tool" or "Model Workflow Engine" (see list of projects), ex.:
# Install "SWTBot testing tool" over "Eclipse IDE for Java Developers" ./eclipse-inst -vmargs \ -Doomph.installation.location="$PWD/ide" \ -Doomph.product.id="epp.package.java" \ -Doomph.project.id="swtbot" \ -Doomph.workspace.location="$PWD/workspace" # Install "Model Workflow Engine" over "Eclipse IDE for Java Developers" ./eclipse-inst -vmargs \ -Doomph.installation.location="$PWD/ide" \ -Doomph.product.id="epp.package.java" \ -Doomph.project.id="MWE" \ -Doomph.workspace.location="$PWD/workspace"
-
Install multiple projects over product, ex.:
# Install "SWTBot testing tool", "Business Intelligence Reporting Tool" and "Model Workflow Engine" over "Eclipse IDE for Java Developers" ./eclipse-inst -vmargs \ -Doomph.installation.location="$PWD/ide" \ -Doomph.product.id="epp.package.java" \ -Doomph.project.id="swtbot,birt,MWE" \ -Doomph.workspace.location="$PWD/workspace" \ -Doomph.installer.layout="text"
-
Install product and project from custom setup model, ex.:
# Install "Bash Editor" over "Eclipse IDE for Java Developers" from setup model located in directory "$PWD/setups/" ./eclipse-inst -vmargs \ -Doomph.redirection.setups="index:/->http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/" \ -Doomph.redirection.setupsDir="index:/->$PWD/setups/" \ -Doomph.installation.location="$PWD/ide" \ -Doomph.product.id="epp.package.java" \ -Doomph.project.id="bash.editor" \ -Doomph.workspace.location="$PWD/workspace" \ -Doomph.installer.verbose=true
-
Install product and project from Oomph Configuration, ex.:
# Install "Business Intelligence Reporting Tool" over "Eclipse IDE for Eclipse Committers" from Configuration ./eclipse-inst -vmargs \ -Doomph.configuration.setups="https://raw.githubusercontent.com/eclipse/birt/master/build/org.eclipse.birt.releng/BIRTConfiguration.setup" \ -Doomph.installation.location="$PWD/ide" \ -Doomph.workspace.location="$PWD/workspace" \ -Doomph.installer.verbose=true
-
TODO Update Eclipse product and projects (not implemented yet, see 1, 2, 3).
The Console Oomph Installer settings (see also Eclipse runtime options):
-
oomph.product.id
(string, defaultnull
) - identifier of product in setup model, ex.:# For product with latest version -Doomph.product.id="epp.package.java" # Or set the specific version for product -Doomph.product.id="epp.package.java:latest"
-
oomph.product.version
(string, defaultlatest
) - version of product in setup model, if not defined inoomph.product.id
, ex.:-Doomph.product.version="latest"
-
oomph.installation.location
(string, defaultnull
) - location of product installation, ex.:-Doomph.installation.location="$PWD/ide"
-
oomph.installation.id
(string, default specific for each product) - directory inoomph.installation.location
, ex.:-Doomph.installation.id="my-inst-dir"
-
oomph.project.id
(string, defaultnull
) - identifier of project in setup model, ex.:# For single project with default stream -Doomph.project.id="swtbot" # Or set the specific stream for project -Doomph.project.id="swtbot:master" # For multiple projects with default streams -Doomph.project.id="swtbot,birt,MWE" # Or set the specific streams for multiple projects -Doomph.project.id="swtbot:master,birt:master,MWE:master"
-
oomph.project.stream
(string, defaultmaster
) - stream of all projects in setup model, if not defined inoomph.project.id
ex.:-Doomph.project.stream="master"
-
oomph.installer.layout
(since 1.0.3, string, defaultprogress
) - output layout mode, can be "progress
" or "text
", ex.:-Doomph.installer.layout=text
-
oomph.installer.verbose
(boolean, defaultfalse
) - enable verbose output instead of progress bar, ex.:-Doomph.installer.verbose=true
-
oomph.installer.ssl.insecure
(since 1.0.2, boolean, defaultfalse
) - disable check of public key certificates (e.g. self-signed ones), ex.:-Doomph.installer.ssl.insecure=true
-
oomph.workspace.location
(string, defaultoomph.installation.location
) - project workspace location, ex.:-Doomph.workspace.location="$PWD/my-workspace"
-
oomph.redirection.setups
- location of basic setup model (contain org.eclipse.setup file), will be added to eclipse.ini as "oomph.redirection.index.redirection", ex.:# Setup model from URL -Doomph.redirection.setups="index:/->http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/" # Setup model from directory -Doomph.redirection.setups="index:/->$PWD/my-custom-setups/"
-
oomph.redirection.<some_id>
overrides - location of additional setup model (also contain org.eclipse.setup file), uses for override basic setup model location, ex.:# Basic setup model location -Doomph.redirection.setups="index:/->http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/" # Additional setup model location (overrides product and project catalog) -Doomph.redirection.setupsDir="index:/->$PWD/my-custom-setups/"
-
oomph.redirection.<some_id>
additions - location of additional setup model (without org.eclipse.setup file), uses to provides you own setup without altering eclipse Oomph base setup (redirect empty redirectable.products.setup and/or redirectable.projects.setup from default config to you own definitions):# Basic setup model location -Doomph.redirection.setups="index:/->http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/" # Additional products setup models location -Doomph.redirection.productsCatalog="index:/redirectable.products.setup->$PWD/my-custom-products/products.setup" # Additional projects setup models location -Doomph.redirection.projectsCatalog="index:/redirectable.projects.setup->$PWD/my-custom-projects/projects.setup"
-
oomph.configuration.setups
(since 1.0.3, string, defaultnull
) - location of Oomph Configuration, ex.:# From file -Doomph.configuration.setups="$PWD/my-custom-setups/Configuration.setup" # From URL -Doomph.configuration.setups="https://<hostname>/setups/Configuration.setup"
NOTE: When combined with
oomph.redirection.<some_id>
product\projects must be from the same setups model as specified in Configuration for theproductVersion
orstream
. -
setup.p2.agent
(string, defaultnull
) - directory location of shared pool for features/plugins, ex.:# From command line -Dsetup.p2.agent="$HOME/.p2" # From eclipse.ini -Dsetup.p2.agent="@user.home/.p2"
-
eclipse.p2.mirrors
(boolean defaultfalse
) - use repository mirrors. -
oomph.setup.offline
(boolean defaulttrue
) - use local cache. -
user.home
andoomph.setup.user.home.redirect
- change user home directory location (for testing), ex.:-Duser.home="$PWD/new-home" -Doomph.setup.user.home.redirect=true
-
<Any jvm options>
- any jvm options will be bind to setup model variables, ex.:-Dmy.project.option1="my-value1" -Dmy.project.option2="my-value2" -Dmy.project.option3="my-value3"
- Oomph source code: git, patch headless mode.
- Oomph docs: Eclipse Oomph Authoring and Oomph Targlets.
- Example of setups models: default products, default projects, eclipsesource product, oomph playground, Arlo's project catalog.
- Tutorials: Oomph basic tutorial, Customized Eclipse IDE provisioning with Oomph, Maven Tycho for building Eclipse plug-ins, How to deploy to a Maven repository.
- VS Code - need install extension Eclipse PDE support.
- Eclipse - need install Plugin Development Environment.