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

Difference between revisions of "GEF/GEF4"

< GEF
(Source Code)
(47 intermediate revisions by 2 users not shown)
Line 1: Line 1:
[[GEF/GEF4 | 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, [[GEF/GEF4 | GEF4]] is set up as a provisional component in order to not being bound to the same API compatibility constraints. Up to now development has been started by creating a new double-precsision Geometry API (see Bugzilla [https://bugs.eclipse.org/bugs/show_bug.cgi?id=355997 355997] for details) based on the Draw2d Geometry classes as a nucleus. Plans are to port the remaining parts of the Draw2d and GEF (MVC) 3.8 code base to it after the Juno release, as well as the up to now independently developed Zest2 code base (see [https://bugs.eclipse.org/bugs/show_bug.cgi?id=372365 bug #372365] for details).
+
[[GEF/GEF4 | GEF4]] is the unified effort to develop a new GEF 4.0 code base as a modernization of the current one (Draw2d, 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, [[GEF/GEF4 | GEF4]] is set up as a provisional component in order to not being bound to the same API compatibility constraints.  
 +
 
 +
== Current Status ==
 +
As GEF4 Geometry is now functionally complete (see Bugzilla [https://bugs.eclipse.org/bugs/show_bug.cgi?id=355997 355997] for details), work on a replacement for the core of Draw2d, namely GEF4 SwtFX, has been started (see Bugzilla [https://bugs.eclipse.org/bugs/show_bug.cgi?id=410772 410772] for details). Simultaneously, migration of the former Zest2 code base is being performed (see  [https://bugs.eclipse.org/bugs/show_bug.cgi?id=420061 420061]).
 +
 
 +
Additional information about current status and plans can also be found here:
 +
* [http://www.eclipsecon.org/2012/sites/eclipsecon.org.2012/files/GEF_Past_Present_Future_0.pdf Alexander Nyßen (2012): GEF - Past, Present, and Future, EclipseCon NA, Reston (VA), 2012]
 +
* [http://www.eclipsecon.org/europe2012/sites/eclipsecon.org.europe2012/files/GEF4_Share_And_Enjoy_0.pdf Alexander Nyßen (2012): GEF4 - Share And Enjoy..., EclipseCon Europe, Ludwigsburg, 2012]
 +
* [http://www.eclipsecon.org/2013/sessions/gef4-share-and-enjoy Alexander Nyßen (2013): GEF4 - (Continue to) Share and Enjoy..., EclipseCon NA, Boston (MA), 2013]
 +
* [[media:GEF4_SwtFX.pdf | Alexander Nyßen (2013): GEF4 SwtFX (Lightning Talks), EclipseCon Europe, Ludwigsburg, 2013 ]]
 +
== Components ==
 +
 
 +
* [[Image:Ok_green.gif]][[GEF/GEF4/Geometry | GEF4 Geometry]] - Provides different abstractions (Euclidean, Projective, Planar) for 2D geometric calculations, and conversions of planar geometries (curves, shapes, poly shapes) to/from respective SWT and AWT equivalents (as well as conversions between these SWT and AWT geometries). ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=355997 355997])
 +
 
 +
* [[Image:Progress.gif]][[GEF/GEF4/SwtFX | GEF4 SwtFX]]  - Will provide abstractions for the combined rendering of lightweight (shape and canvas figures) and non-lightweigth (SWT widgets) objects for SWT. It is inspired by concepts of JavaFX and intended to replace the core of Draw2d. ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=410772 410772])
 +
 
 +
* [[GEF/GEF4/Layouts|  GEF4 Layouts]] (planned) - Will provide a data model for layout calculations as well as basic layout algorithms. Will be based on the contents of the <code>org.eclipse.draw2d.graph</code> package as well as on the SWT/JFace independent parts of the <code>org.eclipse.zest.core.layouts</code> plug-in.( [https://bugs.eclipse.org/bugs/show_bug.cgi?id=394219 394219])
 +
 
 +
* [[Image:Progress.gif]][[GEF/GEF4/Cloudio | GEF4 Cloudio]]  - Provides support for visualizing tag clouds. (Refactored out of the Zest2 code base, see [https://bugs.eclipse.org/bugs/show_bug.cgi?id=420061 420061] for details)
 +
 
 +
* [[Image:Progress.gif]][[GEF/GEF4/Zest | GEF4 Zest]] - Original Zest2 code base, already adopted to GEF4 namespace and versioning, integrated into GEF4 Git repository and update-site. Not yet adopted/re-modularized to depend on other GEF4 components only (i.e. still dependent on Draw2d 3.x). Will be split/re-modularized, some parts will for instance be moved to [[GEF/GEF4/Layouts | GEF4 Layouts]] components ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=372365 372365])
 +
 
 +
== Bugs/Enhancements ==
 +
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 [[GEF/GEF4 | GEF4]] are prefixed <code>[GEF4]</code>. [https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced&list_id=674650&short_desc=%5BGEF4%5D&short_desc_type=casesubstring&classification=Tools&product=GEF Here] is a list of all bugs currently related to [[GEF/GEF4 | GEF4]].
  
 
== Source Code ==
 
== Source Code ==
After the Juno release, the complete source code of the [[GEF/GEF4 | GEF4]] provisional component will be located in the [http://git.eclipse.org/c/gef/org.eclipse.gef4.git/ GEF4 Git repository]. Up to now it only includes the [[GEF/GEF4/Geometry | 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 [http://git.eclipse.org/c/gef/org.eclipse.zest.git Zest Git repository].
+
The complete source code of [[GEF/GEF4 | GEF4]] is located in the [http://git.eclipse.org/c/gef/org.eclipse.gef4.git/ GEF4 Git repository]. For further information on how to obtain it and how set-up in order to contribute, please refer to the [[GEF/Contributor Guide | GEF Project Contributor Guide]].
  
== Builds/Update Sites ==
+
== Update Sites ==
A Tycho-based build infrastructure for the GEF4 provisional component has been configured under [https://hudson.eclipse.org/hudson/job/gef4-nightly-tycho 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:
+
A Tycho-based build infrastructure for the GEF4 provisional component has been configured under [https://hudson.eclipse.org/hudson/job/gef4-master https://hudson.eclipse.org/hudson/job/gef4-master]. 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:
  
* [https://hudson.eclipse.org/hudson/job/gef4-nightly-tycho/lastSuccessfulBuild/artifact/update-site https://hudson.eclipse.org/hudson/job/gef4-nightly-tycho/lastSuccessfulBuild/artifact/update-site]
+
* [https://hudson.eclipse.org/hudson/job/gef4-master/lastSuccessfulBuild/artifact/update-site https://hudson.eclipse.org/hudson/job/gef4-master/lastSuccessfulBuild/artifact/update-site]
  
 
In addition to this, integration, milestones, and release builds are promoted to downloads.eclipse.org and can be found here:
 
In addition to this, integration, milestones, and release builds are promoted to downloads.eclipse.org and can be found here:
Line 16: Line 39:
  
 
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.
 
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.
 +
 +
[[Category:GEF]]

Revision as of 04:21, 30 October 2013

GEF4 is the unified effort to develop a new GEF 4.0 code base as a modernization of the current one (Draw2d, 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.

Current Status

As GEF4 Geometry is now functionally complete (see Bugzilla 355997 for details), work on a replacement for the core of Draw2d, namely GEF4 SwtFX, has been started (see Bugzilla 410772 for details). Simultaneously, migration of the former Zest2 code base is being performed (see 420061).

Additional information about current status and plans can also be found here:

Components

  • Ok green.gif GEF4 Geometry - Provides different abstractions (Euclidean, Projective, Planar) for 2D geometric calculations, and conversions of planar geometries (curves, shapes, poly shapes) to/from respective SWT and AWT equivalents (as well as conversions between these SWT and AWT geometries). (355997)
  • Progress.gif GEF4 SwtFX - Will provide abstractions for the combined rendering of lightweight (shape and canvas figures) and non-lightweigth (SWT widgets) objects for SWT. It is inspired by concepts of JavaFX and intended to replace the core of Draw2d. (410772)
  • GEF4 Layouts (planned) - Will provide a data model for layout calculations as well as basic layout algorithms. Will be based on the contents of the org.eclipse.draw2d.graph package as well as on the SWT/JFace independent parts of the org.eclipse.zest.core.layouts plug-in.( 394219)
  • Progress.gif GEF4 Cloudio - Provides support for visualizing tag clouds. (Refactored out of the Zest2 code base, see 420061 for details)
  • Progress.gif GEF4 Zest - Original Zest2 code base, already adopted to GEF4 namespace and versioning, integrated into GEF4 Git repository and update-site. Not yet adopted/re-modularized to depend on other GEF4 components only (i.e. still dependent on Draw2d 3.x). Will be split/re-modularized, some parts will for instance be moved to GEF4 Layouts components (372365)

Bugs/Enhancements

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.

Source Code

The complete source code of GEF4 is located in the GEF4 Git repository. For further information on how to obtain it and how set-up in order to contribute, please refer to the GEF Project Contributor Guide.

Update Sites

A Tycho-based build infrastructure for the GEF4 provisional component has been configured under https://hudson.eclipse.org/hudson/job/gef4-master. 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.

Copyright © Eclipse Foundation, Inc. All Rights Reserved.