-
Notifications
You must be signed in to change notification settings - Fork 42
InstallationLegacy
Before 2020-10-21, Ultimate used Java 8 and it was necessary to use additional steps. These are detailed here. 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 IDE for RCP and RAP Developers 4.16 / 2020-06
Note: the default Eclipse version is not sufficient.
Note: you need to use 4.16 because it is the latest version that supports Java 1.8 - Java JDK (1.8)
Note: Java JRE is not sufficient.
Note: Currently, Java > 1.8 will not work. -
Optional: Maven (>3.0)
Only needed if you want to build Ultimate from the command line. - 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
- Goto
Window
->Preferences
->Maven
->Discovery
->Open Catalog
. Search forTycho Configurator
and install it. - 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
- Eclipse asks you to choose a workspace at startup. Use the directory
<ULTIMATE>/trunk/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>/trunk/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
, sectionTesting
:- Click
Synchronize
. - Click
Launch an Eclipse application
.
- Click
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.
Close Ultimate and edit the Run Configuration
you just created to extend the PATH
variable with a path to the SMT solvers we supply.
- Open the tab
Environment
. - Press button
Add..
. - Add a new variable name
PATH
and enter as value the absolute path on your filesystem to the folderreleaseScripts/default/adds
. - Save your changes.
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