Re: Shipping fat jar?

From: Andrus Adamchik (andru..bjectstyle.org)
Date: Thu Jan 04 2007 - 07:22:24 EST

  • Next message: Andrus Adamchik: "[VOTE] Re: Cayenne 2.0.2 (and 1.2.2)"

    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



    This archive was generated by hypermail 2.0.0 : Thu Jan 04 2007 - 07:22:54 EST