I've been reviewing the pom.xml for Digester's Maven2 build, and have a
combination of questions and proposals to make.  I want to run this by the
list before doing anything ... I've been out of the loop on Digester for
quite a while, so it's unreasonable to just barge back in without
coordinating.

* The POM declares we are targeting JDK 1.3 (or later).  I
 presume that this is still accurate?

* I'd like to update the Commons BeanUtils dependency from
 1.6 to 1.7, to pick up the decoupling from Commons Collections
 (removing the need to explicitly declare this as a dependency),
 plus the bugfixes in the later release.  Any given application
 can override this in their own application's POM, but my belief
 is that library releases should "encourage" updates of their own
 dependencies to the latest versions we have tested with.  (We
 can document that we've also tested with earlier versions, if
 desired, but Maven doesn't know how to do things like the
 either/or dependency on BeanUtils plus Collections).

* For similar reasons, I'd like to update the Commons Logging
 dependency to 1.1 (but we should test against 1.0.4 too).

* The currently declared dependency on xml-apis is problematic
 for downstream users, because it leaves the scope at its
 default setting ("compile").  If you build a webapp with Maven2,
 for example, this causes the XML parser to be included in the
 WEB-INF/lib directory, even though the servlet containers will
 essentially always provide a parser for you.  I propose to change
 this dependency to be scope "provided", which means it will be
 on the compile classpath for Digester, but *not* included as a
 runtime dependency.  The implication is that the webapp (or
 standalone app) you are building will provide a JAXP parser
 for you, if you're running on 1.3 (not an issue on 1.4 or later,
 since JAXP is included).

* The unit tests don't currently succeed when run from Maven2.
 I presume that's a bad thing :-), and will dig in to see what is
 going on.

* I'm not going to worry about the site generation, reports, or the
 assembly stuff at the moment, but I'm sure we will need to
 address those questions before we can actually do a release.

What do you thinK?

Craig

Reply via email to