Was re:kml.jar 

> -----Original Message-----
> From: Richard S. Hall [mailto:[EMAIL PROTECTED] 
> Sent: Thursday, August 25, 2005 5:19 PM
> To: oscar-dev@incubator.apache.org
> Subject: Re: kxml.jar
> 
> I am not against using Maven, but I figured we would wait for 
> an official Maven 2 release.
> 

For *trivial* tasks like compiling code and building jar artifacts,
Maven2 is quite enough mature to proceed with current code base.  Maven2
is still in the alpha-beta phase at this point (I believe) mainly
because there is still a host of Maven1 plugins that still need
converted to Maven2, and maybe some of the more sophisticated project
management facilities are still being tweaked.

The current Felix code base has a *very* simple Ant build file, and
replicating this functionality using the current Maven2 is no big deal.
The only caveat IMO is that as a community we should wait until the
maven-2.0-beta-1 is released (because there will be code in that release
that makes the maven-osgi-plugin work).  IMO we don't have to wait until
the 2.0 final release of Maven in order to start using it compile our
code and build jars/bundles.  Some of the really nice project management
facilities or extensions may have to wait until the final version, but
we certainly wouldn't be "taking a step backwards" from the current Ant
build to Maven2 -- quite the contrary.

IMO, the big question isn't whether we use Ant and/or Maven2 alpha/beta
to compile/jar, but the issues that McAffer keeps bringing up, and
that's project/framework/bundle organization -- that is one
project/bundle.

The Ant build file currently compiles all the code as one unit, then
jars up three libs (moduleloader.jar, osgi.jar, and felix.jar) and three
bundles (bundlerepository.jar, shell.jar, and shellui.jar).  The
questions I have is do we think these sets of artifacts still make
sense, or do we want to consider organizing the same code into different
artifacts.  That is, do we consider pulling out the interfaces into one
or more api jars that we can version separately from the implementations
of those interfaces?

As a quick *mavenization* test, I attempted to use maven to separately
build the three lib artifacts, but it is clear that re-organization is
likely because there are circular dependencies with the three current
libs -- that is code in osgi.jar depends on code in felix.jar, and code
in felix.jar depends on code in osgi.jar.  If we want to decouple
aspects of the *core* framework code in order to separate concerns, then
we are going to have to tackle how we want to organize the code base
from an artifact build and dependency perspective.  The fact that we
have circular dependencies between at least two of the lib jars is
indication enough to me that we at least have a little work to do in
code/project organization realm.  The extent of that work depends on how
far down the SoC path we feel is important.

In the end, mavenization can't proceed until these questions are
resolved, not because the maven2 code base is sitting at an alpha/beta
state instead of a final state.

Flame away...

-tbennett

Reply via email to