On Sat, 2008-03-15 at 20:37 +0100, simon wrote:
> On Sat, 2008-03-15 at 14:35 -0500, Leonardo Uribe wrote:
> > Ok there are no objections, so I will start to commit this stuff right
> > now.
> > 
> 
> I object!
> 
> I thought that was obvious from the work of the last week..

Ok, just wanted to get that first mail out quickly. Now here's a bit
more detail...

Firstly, I appreciate all the work Leonardo has been doing. This is
nothing personal, I just don't agree with the particular direction.

I don't object to the idea of generating faces-config.xml,
facelets-taglib.xml or the jsp Tag classes. Doing all this is a really
good idea.

I'm not so wild about generating component classes, but after our
earlier discussions I think we agreed on a solution that is not
unreasonable:
  * generate the concrete classes, bei
  * No java1.5 code in the generated classes

But I'm really not happy about the existence of a "build" project full
of xml files. I think this will really hurt tomahawk and core, by making
it harder to understand the code, and by completely separating the
classes from the property definitions.

And I'm not at all happy with the quality of the myfaces-faces-plugin
code. This is not due to any particular programmer doing a bad job; it's
just a reflection of the code's history: originally an ant task, then a
maven1 plugin, then a maven2 plugin, and originally focussed
specifically on trinidad code generation. I've had a look at the code,
and it's really not nice.

So I think that moving everything to the myfaces-faces-plugin is a very
bad idea. Let's take the lessons learned from the existing plugin and do
it better instead. It's not a whole lot of work.

Tobago has had a config-file-generator plugin for a while, driven from
java15 annotations in the code. Bernd has enhanced this in just a few
days to generate code as well; it's just "prototype" for the moment, but
does work. The approach taken by Tobago is IMO much better than the
myfaces-faces-plugin, and we should use something similar. Well, ideally
we should all use something identical; that's not going to happen
straight away I think, but by creating a build plugin for core/tomahawk
that uses a similar approach we leave the possibility of unifying these
in the future.

I'm not as fast a worker as Bernd, but have got part of the way there
already and don't think it would take too many more days of work. I
think the code already commmitted at least proves the basic principles
work.

Regards,
Simon


Reply via email to