Wednesday, December 17, 2008

Why Source Bundles?

I came across a question in Bugzilla on why providing source bundles is one of the "must do" items for the Galileo Simultaneous Release ? How do our clients benefit from it? It would be a nice motivating question to have answered.

The Eclipse platform went to source bundles in Eclipse 3.4 / Ganymede. The PDE build has documentation in place and it is supposed to be a "trivial" item for projects to adopt.

The benefit is that it helps to solve the long pathname limit issue on windows. In the Microsoft API (with some exceptions), the maximum length for a path is MAX_PATH, which is defined as 260 characters.

As an example, In Ganymede, there exists the source folder
[eclipse]\plugins\org.eclipse.draw2d.source_3.4.0.v20080115-33-7w3119163_\src\org.eclipse.draw2d_3.4.0.v20080529\ . Because of the path length limit, "C:\Program File\Some Vendor\Some Product\eclipse" may not be an option to install your Eclipse based application that includes GEF source. At worst, the length of "Some
Vendor\Some Product\eclipse" is significantly limited.

By adopting source bundles, the path is reduced to \plugins\org.eclipse.draw2d.source_3.4.0.v20080529.jar , a significant reduction in path length for Galileo.

Saturday, December 13, 2008

Draw2D Enhancements in GEF 3.5 M4

Marc Gobeil has just finished completing some Draw2D Enhancements for GEF 3.5 M4. Marc completed adding anti-alias support and filling out the missing SWT line attributes in the Draw2D graphics implementation. Draw2D now supports fractional line widths, line offsets, line cap and line mitres.

Marc also provided a pretty cool Draw2d example that demonstrates the various line and drawing options available in Draw2d. Check out a couple of screenshots below: