dev@glassfish.java.net

Re: GlassFish jars to maven repository

From: Kohsuke Kawaguchi <Kohsuke.Kawaguchi_at_Sun.COM>
Date: Tue, 02 May 2006 12:46:57 -0700

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