Dinesh Patil wrote:
> Thanks Kohsuke,
> I believe glassfish directory structure is not complex to get familiar
> :-) ,
I've been saying this, but I'll say it again.
Glassfish is very very hard to build. It's so hard that it takes a
hands-on-lab to explain. It's almost to the point that it's crazy. I'm
sure Glassfish is great in many ways, but its build system is not one of
them.
Granted, it's probably because of historical reasons that I don't know,
and I certainly understand if you are saying we can't just change them
at this point, but I hope people still realize that it's far from "not
complex to get familiar with".
I saw so many wrong things I don't know where to start, but just to give
you a few ideas...
- It uses both Maven and Ant, when one would have been suffice. It
requires people to be familiar with both for no reason. Build
scripts need to bend over backward to bridge them together.
- It uses Maven but it doesn't follow any Maven convention. For example,
none of the POMs list the proper dependency, not even in
the bootstrap module. It got all sorts of non-standard targets, and
none of the usual Maven goals seem to work.
So the net result is not only do people need to be familiar with Maven
and Ant, but they also need to be familiar with a particular way
Glassfish uses them.
If it were following Maven conventions, I didn't have to do anything
to push jars to the repository. All you needed to do was
"maven javanet:deploy-jar"
And didn't you guys decided to stop using Maven some time back?
- The root glassfish directory doesn't have neither build.xml nor
project.xml. That' the first place people look at. When there are
30+ modules there, how are people supposed to know that "bootstrap"
is the key?
- I never understood why it needs to download Glassfish when it's
supposed to be building one.
I can go on and on ...
--
Kohsuke Kawaguchi
Sun Microsystems kohsuke.kawaguchi_at_sun.com