On Jan 4, 2007, at 12:52 AM, Craig L Russell wrote:
How about a very low tech approach. Create a file as part of the
deployment (or a web page for that matter), which lists every
dependency, the appropriate version (or range of versions), and
the URL of the place to get the jar. We do that in our own project
so that we can easily track what we are using and where we got it
from.
Doesn't the cayenne maven pom do this?
Here is a problem with that - Cayenne POM specifies lots of
dependencies that 99.9% of users will never need, but they are needed
to compile Cayenne (e.g. JGroups for clustering). So the "fat" jar
was a subset of compile dependencies that included only things that
are absolutely needed to run Cayenne (with the rest of them mentioned
in specific documentation). In fact "third-party" library directory
is now built from POM, but we have to do manual filtering :-/
<dependencySet>
<outputDirectory>lib/third-party</outputDirectory>
<!-- Include only a minimal set of dependencies to run cayenne-
server -->
<includes>
<include>asm:asm</include>
<include>asm:asm-commons</include>
<include>com.caucho:hessian</include>
<include>commons-collections:commons-collections</include>
<include>commons-lang:commons-lang</include>
<include>commons-logging:commons-logging</include>
<include>org.objectstyle.ashwood:ashwood</include>
<include>velocity:velocity</include>
</includes>
</dependencySet>
Andrus