Hi,
I agree this would be great for those users who want a light-weight
platform, but it may require more attention than just modifying the
manifest file, I guess. I'm assuming you were talking about adding
the "optional" keyword to dependencies in the manifest file. With
the current code, I think JWT would simply blow up if we tried to
use SVG export with, say, batik not installed. Two solutions:
- Assume that users who have these dependencies not installed
know what they do.
- Make sure to (programatically) disable the features related to
these dependencies if they're not installed.
I wonder what form this "optional OSGi dependency" will take,
especially regarding the Eclipse Update Manager.
- Will it install all dependencies by default, and allow users
to remove thoses they don't want?
- Will it NOT install the optional dependencies and therefore
require active actions from the user in order to install them?
In the second case, we definitely should disable SVG export when the
required dependencies are not available. It seems a common way doing
this is by using OSGi services (I only searched quickly and found this)
Of course, we could also avoid using the OSGi "optional dependency"
mechanism, and simply relocate the diagram export features in a new
bundle, which would use extension points. Users could choose
explicitly to install it when installing JWT in the Update manager.
This would involve a bit more work, though.
Let me know if I'm missing something :)
Regards,
Yoann
Le mar. 08 mai 2012 18:09:57 CEST, Christian Saad a écrit :
> Hi Marc, Yoann,
>
> playing around a lot with Eclipse and JWT (and several other
> Eclipse-based products) recently I've discovered that it might
not in
> all cases be desirable to force users to install very
heavyweight
> components such as GMF that themselves drag along many
dependencies,
> especially since we emphasize the customisability aspect of our
> platform. Therefore, I would propose to mark the GMF
dependencies (and
> in the future maybe other components such as ATL/JDT?) in
jwt-we
> (shown below) as optional, so that the user can choose whether
to
> install the product and enjoy a fully featured solution or to
work
> with a restricted feature set but have a more light-weight
platform.
> What do you think?
>
> Regards,
> Chris
>
> org.apache.batik.util;bundle-version="1.6.0",
> org.apache.batik.dom;bundle-version="1.6.0",
> org.apache.batik.dom.svg;bundle-version="1.6.0",
> org.apache.batik.svggen;bundle-version="1.6.0",
> org.apache.batik.ext.awt;bundle-version="1.6.0",
> org.eclipse.gmf.runtime.common.ui;bundle-version="1.5.0",
> org.eclipse.gmf.runtime.draw2d.ui;bundle-version="1.5.0",
>
org.eclipse.gmf.runtime.draw2d.ui.render;bundle-version="1.4.1",
> org.w3c.dom.svg;bundle-version="1.1.0"
|