[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [equinox-dev] customization approaches

On Tuesday 24 October 2006 22:49, Jeff McAffer wrote:

> By way of more context, the idea behind the customization work is to
> reconcile difference in views between producers and consumers.  Producers
> create code, markup, ... according to their view of the world.  Consumers
> then take the bundles (in this case) and compose them to make a system. It
> happens frequently to us that the consumer's view is quite different than
> the producers.  We can say "too bad" or we can allow consumers to
> customize the product to their needs.  Curently the main culprits in this
> area are plugin.xml and manifest.mf and to a certain degree the code
> itself.  The proposal here would allow people to contribute arbitrary
> transformation mechanisms (xslt, sed, scripted, ...) and others to
> contribute arbitrary transformations to be run by the transformers on
> particular kinds of product artifacts.

Personally, I don't know enough to have an opinion about how these 'noble' 
concerns should be used for Eclipse/RCP...

> Can you say more about your concerns?

I think Peter is refering to at least the case of Maven1, possibly others;

Maven 1.0 used a POM, just like Maven2, but with the distinct difference that 
it was not a 'static' file, it was a so called Jelly Script. That means that 
I could intertwine code into the POM declarations and hence make things quite 

 <j:useBean var="person" 
            project="${project.name}" />

and suddenly declarations become 'unknown' except for a particular point in 
time and in a scope that will only be known when it is executed, and may 
never reveal the same result twice.

Some 'clever' people used this extensively, and things became a mess for those 
who tried to extract some 'info' from the POM for downstream use. 

Obviously, the creators realized the problems later, and had that completely 
removed in Maven2 (thank <name-your-deity>)...

In respect of the principle that you want to apply for RCP development, could 
you give an example of the 'difference in views between producer and 
consumer' ??


P.S.  +1 for more committers in Equinox.