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