-
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.
Migration from Java 11 to Java 21
- Eclipse IDE for RCP and RAP Developers (version >= 2024.09)
- Java JDK 21
Note: Java JRE is not sufficient.
Note: You may also use the Java version integrated into Eclipse -
Optional: Maven >=3.6
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.
- Eclipse asks you to choose a workspace at startup.
-
Important: Use the directory
<ULTIMATE>/trunk/source
. - If the "Workspace Launcher" dialog is not shown, it can be found by selecting
File
->Switch Workspace
.
-
Important: Use the directory
- Import the predefined settings:
- Go
Window
->Preferences
->Import
(icon on the bottom left) and select<ULTIMATE>/releaseScripts/eclipse_settings.epf
- Restart Eclipse (as suggested)
- Go
- Check Java Formatter settings (should be already imported, but fails in some cases)
- Go
Window
->Preferences
->Java
->Code Style
->Formatter
- If the active profile is not
Ultimate
, clickImport...
and choose<ULTIMATE>/releaseScripts/coding-conventions/eclipse-java-formatter.xml
- Go
- Go to
Window
->Preferences
->Java
->Installed JREs
and select a compatible JDK >= 21 - Import all Ultimate plugins
- Choose
File
->Import
->General
->Existing Projects into Workspace
. - In
Select root directory
, use the directory<ULTIMATE>/trunk/source
. InProjects
, a list of available projects should appear. - Keep everything selected.
- Click
Finish
. If plugins starting withWeb*
have been selected, Eclipse may propose to install "jsNature". You can ignore that.
- Choose
- Load new target platform
- Navigate to the project
BA_SiteRepository
- Open the
*.target
file that matches your operating system (i.e., for Windows openUltimate_E4.32_Java21_Win32.target
) - Select
Set as Active Target Platform
(its a link in the upper right corner) - Wait until the target platform is loaded (this might take some time)
- Navigate to the project
- Clean and rebuild Ultimate
- Open
Project
->Clean...
. - Select
Clean all projects
,Start a build immediately
, andBuild the entire workspace
- Click
Clean
- Open
Now the "Package Explorer" view should be filled with the new projects and you should have no errors in the Problems
view.
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
- Open the tab
Environment
. - Press button
Add..
. - Add a new variable name
PATH
and enter as value${workspace_loc}/../../releaseScripts/default/adds
(or the absolute path on your filesystem to the folderreleaseScripts/default/adds
). - Open the tab
Configuration
and uncheckClear the configuration before launching
(to speedup the launch) - 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)
- Open the desired Java test-class in Eclipse (e.g.
RegressionTestSuite
) - Go to
Run
and selectJUnit Plug-in Test
- Cancel the launch immediately (it would take really long and may fail)
- Edit the
Run Configuration
you just created- Go to
Arguments
and add-Dequinox.resolver.revision.batch.size=1
to VM arguments - Open the tab
Configuration
and uncheckClear the configuration before launching
(to speedup the launch) - Go to
Plug-ins
and clickValidate Plug-ins
- If
No problems were detected
, you may just save the run configuration (Apply
) - Otherwise chose
Launch with:
Plug-ins selected below
and uncheck plug-ins until validation succeeds (usually plug-ins containingxmlrpc
,jasper
andwebapp
can and should be disabled), thenApply
- Go to
See Usage for working with the developer GUI.
See Eclipse-Settings for more settings recommendations of Eclipse.
See CodingConvention for our coding conventions.
- Update your Eclipse IDE for RCP and RAP Developers to version >= 2024.09
- Update the
dev
branch of your Ultimate repository to the newest version - Import the predefined settings:
- Go
Window
->Preferences
->Import
(icon on the bottom left) and select<ULTIMATE>/releaseScripts/eclipse_settings.epf
- Restart Eclipse (as suggested)
- Go
- Check Java Formatter settings (should be already imported, but fails in some cases)
- Go
Window
->Preferences
->Java
->Code Style
->Formatter
- If the active profile is not
Ultimate
, clickImport...
and choose<ULTIMATE>/releaseScripts/coding-conventions/eclipse-java-formatter.xml
- Go
- Go to
Window
->Preferences
->Java
->Installed JREs
and select a compatible JDK >= 21 (you may use the one integrated into Eclipse) - Delete obsolete Libary plugins:
rm -r trunk/source/Library-JavaBDD/ trunk/source/Library-ojAlgo/
- Load new target platform
- Navigate to the project
BA_SiteRepository
- Open the
*.target
file that matches your operating system (i.e., for Windows openUltimate_E4.32_Java21_Win32.target
) - Select
Set as Active Target Platform
(its a link in the upper right corner) - Wait until the target platform is loaded (this might take some time)
- Navigate to the project
- Clean and rebuild Ultimate
- Open
Project
->Clean...
. - Select
Clean all projects
,Start a build immediately
, andBuild the entire workspace
- Click
Clean
- Open
- Adapt your run configurations
- Note In particular for JUnit and JUnit Plug-in Test run configurations, it might be easier to delete them and recreate them as needed.
- Select a run configuration, e.g.,
Debug-E4.product
- In
Main
(orJRE
for JUnit run configurations), changeExecution environment
to JavaSE-21 - In
Plug-ins
, click onAdd Required Plug-ins
- In
Configuration
, uncheckClear the configuration before launching
(to speedup the launch) - Repeat for all run configurations you want to keep
- Home
- Ultimate Development
- Ultimate Build System
- Documentation
- Project Topics