All of those artifacts are our "optional dependencies", i.e. they are
required on compilation, but not required in runtime for 99% of
users. IIRC they were marked as "provided" to prevent Cayenne users
to suck up the entire ibiblio repo on their local drive :-)
But this is not ideal of course. I guess we should remove "provided"
from the top level and add them at the assembly level. In other words
we need new assembly artifacts that build "cayenne-nodeps.jar" and
"cayenne-client-nodeps.jar" with POMs that exclude optional
dependencies. Also we will need to ensure that they are excluded from
current modeler assemblies (or the Modeler jar size will jump to 20
MB :-)).
Andrus
On Oct 1, 2006, at 9:50 AM, Kevin Menard wrote:
I'm working on some Cayenne plugins for maven that should hopefully
make working with the two much nicer. I'm been having a hell of a
time with classpath-related issues. I just cracked open the parent
POM and see some dependencies are listed as being provided that we
directly rely on. Could someone please cast some light on this
issue? My guess is that they're listed as provided because some
other dependency has a transitive dependency on the same libs. If
this is the case, I propose we change this so that the dependency
graph reflects what Cayenne actually depends on. The maven book
describes ways for handling this. Incidentally, changing those
libs from "provided" to "compile" (default) fixes my classpath
woes. So, there may be a maven-related bug here, too, since
transitive dependencies are supposed to be followed.
Any insight would be appreciated, since I missed most of the maven
migration.
Thanks,
Kevin