Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

GEF/GEF4

This page is the entry page for all information related to the GEF4 provisional component.

Introduction

As agreed on in Bugzilla 347636, development of a new GEF 4.0 API will be started in parallel to the current GEF 3.x development branch under the following terms:

  1. After the Indigo release has been completed, a GEF experimental branch is created by forking the GEF 3.7 code-base into a Git repository (possibly located next to Zest 2.0, so that all experimental GEF components can be found in one place).
  2. The experimental branch created thereby will live parallel to the GEF HEAD branch, considering all its API as provisional unless explicitly graduated. It will not interfere with GEF HEAD, i.e. it will have its own build process and separate wiki pages for documentation of the ongoing work (similar to Zest 2.0).
  3. Committers working on the experimental branch will be responsible for ensuring fixes made to GEF HEAD also get applied to the experimental branch.
  4. Graduation of the experimental branch back into GEF HEAD will have to imply that a proper compatibility layer is in place so all GEF 3.x clients run in a 100% binary compatible method. It will furthermore have to be acknowledged by all GEF committers.
  5. Work will start without an incubator project at first, granting commit rights on the Git repository to all current GEF committers. The question of introducing an incubator project (located under GEF) will be deferred until a) community wants to actively get involved or b) Juno has been released (whatever comes first).

Current Status & Plans

Development on the GEF4 provisional component has been started by creating a new double-precsision Geometry API (see Bugzilla 355997 for details). Plans are to provide an initial version of the GEF4 Geometry component before migrating the existing Draw2d and GEF (MVC) code. It is intended to provide an initial version of the GEF4 Geometry with the Juno release and to port (the essential parts of) Draw2d and GEF MVC to it afterwards (i.e. the 3.8 Draw2d and GEF MVC code base will have to be copied and renamed to the GEF4 namespace; due to the compatibility rules that have been agreed on w.r.t. GEF proper).

Source Code

All source code of the GEF4 provisional component is located in the GEF4 Git repository. Up to now it includes the GEF4 Geometry in its current state as well as release engineering infrastructure.

Builds/Update Sites

A Tycho-based build infrastructure for the GEF4 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.

Back to the top