GEF4 is the unified effort to develop a new GEF 4.0 code base as a modernization of the current one (Draw2d and GEF (MVC) 3.x and Zest 1.x, in the following referred to as GEF proper). Being developed in parallel to maintaining the GEF proper code base, GEF4 is set up as a provisional component in order to not being bound to the same API compatibility constraints.
Development has been started by creating a new double-precsision Geometry-API (see Bugzilla 355997 for details) based on the Draw2d geometry classes as a nucleus. As this is nearing completion, creation of a new Graphics-API (see Bugzilla 386029 for details), which abstracts from a concrete windowing toolkit and can be used in SWT and AWT context (we assume that JavaFX might become interesting as an Eclipse RCP rendering possibility on the near term), is the next logical step we have started with. After this, the remaining parts of the Draw2d and Zest2 code base can be migrated, after it GEF (MFC).
Bugzilla components (for those listed above) are created one by one as parts of the remaining code base are migrated. In addition, all bugs related to GEF4 are prefixed
[GEF4]. Here is a list of all bugs currently related to GEF4.
After the Juno release, the complete source code of the GEF4 provisional component will be located in the GEF4 Git repository. Up to now it only includes the GEF4 Geometry in its current state as well as the already existing release engineering infrastructure. The source code of the Zest2 component can now be found in the Zest Git repository.
A Tycho-based build infrastructure for the GEF4 provisional component has been configured under https://hudson.eclipse.org/hudson/job/gef4-nightly-tycho. The build job is triggered hourly in case of changes to the source code repository and further once per day. It produces an update-site, which does not get promoted to downloads.eclipse.org, but can directly be consumed from:
In addition to this, integration, milestones, and release builds are promoted to downloads.eclipse.org and can be found here:
Note that while integration builds are promoted automatically once per week (every friday), milestone and release builds are published only manually on the respective occasions (not yet). Further note that these update sites are merged (so old builds are preserved), while the nightly update site gets replaced on each build.