Re: Maven 2 migration and logical modules

From: Bill Dudney (bdudne..ac.com)
Date: Fri Jul 21 2006 - 07:19:12 EDT

  • Next message: Bill Dudney: "[m2] directory structure"

    Hi Andrus,

    Comments in line...

    On Jul 20, 2006, at 9:07 PM, Andrus Adamchik wrote:

    > Hi Bill,
    >
    > You nailed it right. See more comments inline.
    >
    > On Jul 20, 2006, at 10:46 PM, Bill Dudney wrote:
    >> Module Dependencies
    >> cayenne-core - external stuff
    >> cayenne-core-java-1.5 cayenne-core
    >> cayenne-remote cayenne-core
    >> cayenne-server cayenne-core, cayenne-remote
    >> cayenne-server-java-1.5 cayenne-server
    >> cayenne-jpa cayenne-server (shouldn't this be cayenne-core-
    >> java-1.5?)
    >
    > Actually cayenne-core-java-1.5 and cayenne-server-java-1.5 are
    > optional runtime dependencies for modules that use cayenne-core and
    > cayenne-server respectively (i.e. nothing from the cayenne-*-1.5 is
    > imported anywhere else at the moment). In Maven terms this probably
    > means that this is a complimentary *runtime* dependency that always
    > goes together with compile dependency of the corresponding 1.4 piece.
    >

    When would cayenne-core-java-1.5 be a required dependency? Just
    thinking out loud on how this module is used...

    So if I'm deploying Cayenne into my web app I'd always want cayenne-
    core-java-1.5 to go into the war/WEB-INF/lib dir? I think that means
    as you say a 'runtime' dependency but to keep the user to only have
    to import one dependency we would have to introduce something that
    tied the two together. This is not absolutely necessary, its just
    that without something that ties them together users would have to
    specify cayenne-core and cayenne-core-java-1.5 both as dependencies
    instead of just one dependency. Or we would have to document when to
    include both.

    Thoughts?

    >> cayenne-webobjects cayenne-core
    >> modeler-plugin swing-plugin, cayenne-webobjects, cayenne-server
    >> swing-plugin plugin-launcher
    >> plugin-launcher - external stuff
    >
    > A question - in my previous message I split "core" modules and the
    > "modeler" modules in separate subdirectories, adding another level
    > of nesting just to keep it logically organized. This is escpecially
    > important when in the future develop more Modeler plugins.
    >
    > Is this something that will cause grief with Maven?
    >
    >

    No it will be fine, I was more trying to get the logical module
    dependency structure worked out before I tackled the directory layout.

    >> We have 3 Assemblies:
    >>
    >> Generic Java Runs Anywhere (modeler without platform specific
    >> launcher)
    >> OSX Cayenne Modeler Launcher
    >> Windows Cayenne Modeler Launcher
    >
    > Agreed.
    >
    > There is one piece remaining that I just though of - the static
    > docs, release notes and such. Where would that go? Probably a
    > separate module?
    >

    So we have the overall static docs that are not really part of any
    particular subproject or module (tutorials, the front page, the css
    and other layout goodies etc). These would go into a separate module
    but each of the subprojects could/would have their own site
    information as well then we can have maven aggregate everything into
    one site. At least that is what I'm thinking right now.

    >
    >> You can also get a free copy of 'Better Builds With Maven' from here;
    >>
    >> http://www.mergere.com/m2book_download.jsp
    >
    > Yeah, this one has been rather helpful for me.
    >
    > Andrus



    This archive was generated by hypermail 2.0.0 : Fri Jul 21 2006 - 07:19:37 EDT