-
Notifications
You must be signed in to change notification settings - Fork 42
Installation
This page explains how you setup a development environment for Ultimate. If you only want to produce a binary and use some of the tools, please have a look at Build and Usage.
-
Eclipse for RCP/Plugin Developers
Note: the default Eclipse version is not sufficient.
Note: we are currently using Eclipse Oxygen. Different versions might work, but we do not know. - Java JDK (1.8)
Note: Java JRE is not sufficient.
Note: Currently Java 9 or 10 will not work. -
Maven (>3.0)
Note: comes with recent versions of Eclipse - A cloned repository of Ultimate
Note: Parts of the repository use very long paths. Check our troubleshooting section git clone fails because paths are too long beforehand.
When you first start Eclipse, create some workspace (not the Ultimate Workspace). You need to prepare Eclipse first, or else it will mess up your Ultimate Workspace settings.
You need additional software installed in Eclipse. Install it via "Help" -> "Install New Software..."
- Select the sources "Work with".
The entry is called as your Eclipse version, e.g.,Oxygen - http://download.eclipse.org/releases/oxygen
.- C/C++ Development Tools
- C/C++ Development Tools SDK
- m2e - Maven Integration for Eclipse (includes Incubating components) (automatically included for recent versions of Eclipse)
- Optional components for developing Ultimate's web frontend
- JST Server Adapters
- JST Server Adapters Extension
- Eclipse Java EE Developer Tools
- WAR Products (Incubation)
- Equinox Target Components
- Eclipse Java Web Developer Tools
- Eclipse Web Developer Tools
You also need additional m2e connectors.
- Open the m2e Marketplace with "Window" -> "Preferences" -> "Maven" -> "Discovery" -> "Open Catalog". Search and install "Tycho Configurator".
The various Ultimate plugins have to be loaded into Eclipse ("ULTIMATE" is used as abbreviation for the Ultimate trunk directory).
- Eclipse asks you to choose a workspace at startup. Use the directory "ULTIMATE/source". If the "Workspace Launcher" dialog is not shown, it can be found by selecting "File -> Switch Workspace".
- Prevent creation of
.gitignore
files (see first item here). - Set Ant properties:
- Open the dialog "Window -> Preferences -> Ant -> Runtime".
- Go to the tab "Properties" and add the following property if it is not already there (:=):
-
workspacedir
:=${workspace_loc}
-
- Choose "File -> Import -> General -> Existing Projects into Workspace".
- In "Select root directory", use the directory "ULTIMATE/source". In "Projects", a list of available projects should appear.
- Keep everything selected (you can uncheck plugins starting with
Web*
). - Click "Finish".
- If plugins starting with
Web*
have been selected, Eclipse may propose to install "jsNature". You can ignore that.
Now the "Package Explorer" should be filled with the new projects.
If you imported projects starting with Web*
, you can usually close them because they will report errors and are not relevant for most users.
If you cannot build Ultimate because some of the projects have errors (errors in projects starting with Web*
are not problematic), check the Troubleshooting section.
- Open the project "BA_SiteRepository".
- Open the file
Debug-E4.product
. - In tab "Overview", section "Testing":
- Click "Synchronize".
- Click "Launch an Eclipse application".
As a result, Ultimate with Debug View should start and you should have an entry in your Run Configurations and Run History (accessible via the "Run" menu) that you can use to run Ultimate from here on.
Different configurations (e.g., command line or CDT plugin) can be run in the same way, just select another .product
file.
- Open the "Run"->"Run Configurations..." dialog.
- Open the tab "Arguments".
- Write in field "VM Arguments": -Xmx4096M -Xms1024M.
- The first argument sets the maximum heap size to 4096M (megabyte) and the second one the initial heap size to 1024M.
- Never forget the M, otherwise Java uses bytes.
-
-agentlib:hprof=depth=7,cpu=samples
can be used for profiling. - for more options see http://stas-blogspot.blogspot.de/2011/07/most-complete-list-of-xx-options-for.html or
- use java -XX:+PrintFlagsFinal to print available -XX options.
- More diagnostic and experimental options can be added to list with following options:
- -XX:+UnlockDiagnosticVMOptions
- -XX:+UnlockExperimentalVMOptions (for Sun)
See Usage for working with the developer GUI.
See Eclipse-Settings for more settings recommendations of Eclipse.
See CodingConvention for our coding conventions.
Whoever introduces new developers: Do not forget to add her/him to the Ultimate mailing list (see Add developers).
- Home
- Ultimate Development
- Ultimate Build System
- Documentation
- Project Topics