InstallingDevVersion - gama-platform/gama GitHub Wiki
Installing the development version
This page explains how to set up an Eclipse workspace to develop GAMA from its sources. The development
version lives in the main branch of gama-platform/gama. Changes
made in other branches only reach a GAMA release through a reviewed pull request.
Most of the setup is automated by the GAMA Developer Tools, an Eclipse plugin that clones the sources, imports the projects, checks the workspace, launches GAMA and repairs generated code. This page covers both guided and manual setup. The complete reference of the tools is the GAMA Developer Tools guide.
1. Prepare the environment
| Component | Version | Notes |
|---|---|---|
| IDE | Eclipse IDE for Java and DSL Developers 2026-03 or newer | Runs on Java 21 or newer. Needs JDT, PDE and Xtext/MWE2. |
| JDK used to compile and launch GAMA | JDK 25 (full JDK, not a JRE) | For instance Eclipse Temurin 25. GAMA launches use --enable-preview, so the JDK must be exactly Java 25. |
- Download and install
Eclipse IDE for Java and DSL Developers 2026-03.
Eclipse itself and the GAMA annotation processor (
gama.processor) use Java 21-compatible bytecode: there is no need to change the Java runtime of Eclipse. - If the Plug-in Development Environment (PDE) is missing, install it with
Help > Install New Software... from the Eclipse 2026-03 update site
https://download.eclipse.org/releases/2026-03/. - Install a separate full JDK 25. The JDK 25 compiler produces Java 21-compatible bytecode for the annotation and processor projects according to their checked-in project settings.
- In Eclipse, open Preferences > Java > Installed JREs, add the JDK 25 and make it the default.
Then, in Installed JREs > Execution Environments, associate it with both
JavaSE-25andJavaSE-21.JavaSE-21is used bygama.annotations, which keeps a Java 21 compatibility target; JDK 25 can compile for both. Keep the compiler settings checked in with the projects.
2. Install the GAMA Developer Tools
- Choose Help > Install New Software... and add the update site
https://gama-platform.org/gama.devtools/. - Select GAMA Developer Tools, finish the installation and restart Eclipse.
Install them in the Eclipse IDE used for development, not in a GAMA application. A GAMA menu and a GAMA toolbar are added to Eclipse. Later updates are installed with GAMA > Update GAMA tools...; the menu item reads Update GAMA tools... (update available) when a newer version is published.
3. Recommended: use Get started...
After restarting Eclipse, choose GAMA > Get started..., or accept the startup prompt in a workspace
without a gama.core project. A closed gama.core project also suppresses the prompt. Declining it
without selecting Do not ask again in this workspace allows it to appear at the next startup.
The prompt can be re-enabled in Preferences > GAMA Developer Tools; the menu remains available.
This guided route checks prerequisites, helps register JDK 25, opens the source installers, provides an
explicit clean-and-build step, and lets you create or use a GUI launch configuration.
- Check Eclipse: review the version (2026-03 or newer), Java runtime (21+), JDT, PDE, Xtext/MWE2
and memory checks. The wizard links to installation help; it does not install Eclipse components
or change
eclipse.ini. A heap of about 2 GB (-Xmx2048mafter-vmargs) is recommended. - Configure JDK 25: select a detected full JDK 25 or browse to one. Next registers it.
Making it the workspace default and associating it with
JavaSE-25andJavaSE-21are selected by default. Eclipse continues running on its existing JVM; downloading/installing the JDK is manual. - Install sources: the page opens the core, graphical editor and community installers. Required
core projects
gama.annotations,gama.processorandgaml.grammarcannot be deselected when missing. Review checkout, branch, project, working-set and optional preference choices. This page defers the installer-scheduled clean/build; Eclipse automatic building may still occur. - Clean and build: click Clean and build now to save editors, refresh, repair plugin settings, clean/rebuild and report generated-addition, build and target-platform issues. A completed build attempt lets you continue even if errors remain; review the reported problems before proceeding.
- Run GAMA: select Run, Debug or configuration-only. The wizard uses the associated GUI launch or can generate a fresh default while retaining the old configuration. Launch validation and a cancellable workspace refresh happen before a requested launch.
The wizard is interactive and does not automatically download JDKs, install Eclipse components,
run the build, or launch GAMA. The running Eclipse installation is the PDE target; no GAMA .target
file needs to be imported. Missing bundles are diagnosed with links to Install New Software...
and Target Platform, but the wizard does not install them or create/activate a target definition.
4. Use the individual source installer
The guided wizard is recommended. You can also use the source installer directly from the GAMA menu: GAMA > Install GAMA sources > Install core plugins....
- Repository. Choose a checkout directory, the repository URL and the branch. The defaults are
https://github.com/gama-platform/gama.gitandmain. Next clones the repository, or fetches and fast-forwards an existing checkout. Git is embedded (JGit): no separate Git installation is needed. An existing checkout must be clean and fast-forwardable: the wizard refuses dirty repositories, unfinished Git operations and branches with local commits, and never stashes, resets or overwrites local changes. - Projects. The projects listed in
gama.parent/pom.xml, plusgama.parent, are preselected (unless already imported).gama.annotations,gama.processorandgaml.grammarare required: when they are not in the workspace yet, they are always imported and cannot be deselected. Projects are imported in place (not copied into the workspace) and shared with EGit. - Options.
- Working sets: additive working sets defined in the developer tools (
utils/Project sets for Gama.psf; the core installation also preselects an EXPORT working set), with an option to show working sets as roots in the Project and Package Explorers. - Preferences (opt-in):
Eclipse Preferences for Gama.epf,Cleanup rules for Gama.xmlandCode formatter rules for Gama.xml. The Eclipse preferences also contain Java compiler defaults: review this choice before importing them. - Close
gama.parent(recommended, selected by default): disables the Maven compilation of the parent project inside Eclipse. It does not remove anything from the checkout.
- Working sets: additive working sets defined in the developer tools (
- Finish imports the projects, applies the selected settings, then schedules a workspace refresh, a clean and a full build. The first build takes a while: follow it in the Progress view.
Cancelling or a failure keeps what has already been cloned or imported; nothing is rolled back.
5. Check the workspace
When the build is finished, choose GAMA > Check workspace.... It reports missing workspace projects,
target-platform bundles required by the GUI product, plugin configuration problems (annotation processing,
gaml/ source folder, plugin.xml, encoding...) and the absence of a compatible JDK 25. After confirmation,
it can repair the fixable plugin settings or open the core source installer. Nothing is changed without
confirmation.
6. Run GAMA
Use GAMA > Run GAMA > Run UI (or the blue Run icon of the GAMA toolbar).
- First launch. Run GAMA > Configure... opens: select an existing Eclipse Application launch
configuration or generate a default one (
GAMA - GUI,GAMA - Headless,GAMA - Tests) using the registered JDK 25. Defaults are generated fromgama.product/gama.product(orgama.product/gama.headless.product). Edit configuration... opens the standard Eclipse launch properties (memory, arguments, plugins); Restore generated defaults... creates a fresh configuration and keeps the old one. - Other launches. The same submenu offers Debug UI, Run headless / Debug headless (which ask
for the headless arguments, for instance
-batch experimentName "/path/model.gaml") and Run tests (a headless launch with-test). - Refresh before launch. Every launch first refreshes the whole workspace from disk, as a cancellable background job. Cancelling it, or a refresh failure, prevents the launch. If projects required by the product are missing or closed, the core installer is opened instead.
- Exit code 42. When the GAMA UI exits with status 42 (fatal failure of the mandatory GAML
initialization,
GamaBundleLoader.EXIT_GAML_INITIALIZATION_FAILEDingama.api), a dialog proposes Clean and Relaunch, Clean Only or Ignore. Recovery runs Clean GAMA plugins; the relaunch (in the original run or debug mode) only happens if everyGamlAdditionsclass was regenerated without build errors.
Keeping up to date
To update the sources, run GAMA > Install GAMA sources > Install core plugins... again on the same checkout: the wizard fetches and fast-forwards it (only fast-forward updates are performed), and lists new projects to import. Commit, stash or reconcile local changes first (with EGit or the command line). You can also pull with any Git client. After an update, run GAMA > Clean GAMA plugins.
Graphical editor and community plugins
The Install GAMA sources submenu provides two other variants of the same wizard:
- Install graphical editor... uses
gama-platform-plugins/gama.graphical.modeling,
branch
GAMA_2026-06, with all its projects preselected. - Install community plugins... lists the repositories of the
gama-platform-plugins organization that have a
GAMA_2026-06branch with Eclipse projects. Load the list and select the projects explicitly: only the repositories containing selected projects are cloned (one subdirectory per repository), and the projects are added to the COMMUNITY working set. Repositories without that branch are shown as unavailable.
Troubleshooting
| Problem | What to do |
|---|---|
Errors in many projects, missing GamlAdditions, stale generated code |
GAMA > Clean GAMA plugins (Cmd+B on macOS, Ctrl+B on Windows/Linux). It refreshes the workspace, repairs the plugins configuration, deletes the generated gaml/ folders and runs a clean and full build, then checks that every GamlAdditions.java was regenerated. Remaining problems appear in the Problems view, with quick fixes. Clean... in the GAMA context menu does the same for the selected plugins only. |
You modified gama.processor or gama.annotations |
GAMA > Repair GAMA plugins > Rebuild annotation processor regenerates gama.processor/gama.processor.jar from Generate Processor.jardesc. Then clean the GAMA plugins. |
| You modified the GAML grammar | GAMA > Repair GAMA plugins > Regenerate Xtext grammar runs gaml.grammar/src/gaml/grammar/generator/Generate_GAML_Artefacts.mwe2. gaml.grammar, gaml.compiler and gama.ui.editor must be open. |
| Bundles reported missing by Check workspace... or at launch | The installer does not resolve the PDE target platform. Review Preferences > Plug-in Development > Target Platform, and check that all the projects required by gama.product/gama.product are imported and open. The Maven build resolves the Eclipse bundles from https://download.eclipse.org/releases/2026-03/. |
| "No JDK 25" or launch failures about preview features | Register a full JDK 25 in Installed JREs, associate it with JavaSE-25 and JavaSE-21, and select it in the launch configuration. |
| A problem with the developer tools themselves | GAMA > Report an issue... opens a new issue in gama-platform/gama.devtools. |
Manual alternative (without developer tools)
For this route, use the Eclipse and JDK requirements in section 1, skip the developer-tools installation in section 2, and set up the workspace by hand:
-
Clone
https://github.com/gama-platform/gama.git(branchmain) with EGit or any Git client. -
Import the projects with File > Import... > General > Existing Projects into Workspace, selecting the root of the clone (projects are imported in place). Import at least
gama.annotations,gama.processor,gaml.grammarand the projects listed ingama.parent/pom.xml, and closegama.parent. -
Register a full JDK 25 under Preferences > Java > Installed JREs, set it as the default, and associate it with
JavaSE-25andJavaSE-21under Execution Environments. Keep the projects' checked-in compiler settings,.classpath,.factorypath,plugin.xmlandbuild.properties. Enable automatic building and run Project > Clean... on all projects. The annotation processor JAR isgama.processor/gama.processor.jar; if it needs rebuilding, opengama.processor/Generate Processor.jardescand use Create JAR, then clean the projects. Generated sources belong ingaml/; never edit them manually. -
To build a distribution from the command line, use Maven 3.9 with
JAVA_HOMEpointing to JDK 25. Check thatmvn -versionreports Java 25, then build in this order:mvn -f gama.annotations/pom.xml clean install mvn -f gama.processor/pom.xml clean install mvn -f gama.parent/pom.xml clean installThe annotations and processor retain Java 21-compatible bytecode; the rest of GAMA targets Java 25. Distributions are written to
gama.product/target/products. See Creating a release of GAMA for the developer-tools build alternative. -
Use the running Eclipse installation as the PDE target and install any missing target bundles. Launch GAMA by opening
gama.product/gama.productand using Launch an Eclipse application in its Overview tab, with a JDK 25 runtime and the product's VM arguments including--enable-preview.
Generated launch configurations, workspace checks, automatic repairs and the exit-42 recovery are then not available.