Simon Nash wrote:

Jeremy Boynes wrote:

On Jan 10, 2007, at 4:45 AM, Simon Nash wrote:

Jeremy Boynes wrote:

On Jan 9, 2007, at 1:27 AM, Jim Marino wrote:

I know very little about Maven except to follow how it expects projects to be structured and behave or it will inflict untold amounts of pain (which is probably fair given its goal of trying to standardize project build structures) :-) Here is how I picture things will work:

+1 on the general description (snipped for brevity).


+1 on Jim's general description as well.  I see the key points as:
 1) Downstream modules (including the current HEAD versions) will
    normally depend on released versions of upstream modules, not
    on SNAPSHOTs.
 2) Upstream modules will release often, so that downstream modules
don't normally need to create a SNAPSHOT dependency to get important
    new function.
 3) Where a downstream module does introduce a SNAPSHOT dependency,
    it becomes responsible for tracking that dependency and adjusting
    as necessary to keep up with updated SNAPSHOT versions of the
    upstream module.
 4) We will use classloader isolation and multiple version support
    to manage the issue of incompatible dependencies, where possible.
    This won't deal with all cases, such as kernel SPI changes,
    where only one copy (I presume) can be loaded.



I'd add an addition point:
5) Upstream modules should avoid incompatible changes between SPI versions. When they are needed, some heads-up should be provided so that downstream users are not unduly impacted. This really applies to inter-SNAPSHOT changes - we'd want to avoid such changes between releases as much as possible but within a release cycle you may want to refactor things a couple times.

+1

Sorry, I pressed Send a bit hastily.

A refinement of this principle is that when making "incompatible"
changes, it is sometimes possible to make them in a way that provides
some level of backwards compatibility.  For example, if renaming a
method or adding a new parameter, the old method name or signature
can be kept around for a while rather than deleting it immediately.

  Simon



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to