dev@glassfish.java.net

Re: Glassfish Build Process Feedback/Enhancements

From: Matthew L Daniel <mdaniel_at_scdi.com>
Date: Thu, 26 Jan 2006 22:01:16 -0500

> We are starting the discussion on current GlassFish build framework,
> issues faced around this and bring enhancements to the workspace. Please
> share your experience on GlassFish build framework.

As I have mentioned before, I think it's great that Glassfish started
with Maven instead of an Ant or (worse) Makefile based build system.

However, (also as I have mentioned before) I believe that the way
Glassfish is using Maven is suboptimal. The boundary between Maven and
Ant causes a lot of friction, in my experience. The build doesn't behave
like a Maven build because it calls out to Ant almost immediately. The
build doesn't behave like an Ant build because the invocation is buried
under the Maven covers. That friction makes the build rough on both
camps.

It is also non-standard the way the Glassfish build unpacks and copies
around external jars as part of the build. I keep meaning to take some
metrics on the build, but it _feels_ like the build spends 80% of its
time updating the [15 MEG] appserv-rt.jar. That just can't be healthy.

I believe strongly that Maven2 (aka M2) should be involved in the
discussions moving forward. Trying to "sort out" the M1 build is likely
to result in more Jelly scripting, which is what M2 is trying to avoid.

Also, I have formed a strong opinion about the need for the build to be
SCM aware. I can think of two or three build breakages caused by an
incomplete (read: missing files) commit.

I have lots more to say about the SCM provider used by Glassfish, but
I'll leave that for another discussion.

Finally, I have heard the explanation of why the build system is the
way it is, so I hope no one takes this as incendiary or anything other
than one person's observation as a (more or less) outsider.

  -- /v\atthew