> Then now I would put @version 3.0.0, unless the source is (again now)
> totally shared with @version 2.2.0; in the latter case it should be
> 2.2.0.

There is a lot of shared source.  If we were using something like SourceSafe
instead of CVS, I suggest that quite a few files would be 100% common.  In
most cases, any differences are caused by one of a few factors:

 - changes to the Mailet API
 - package reshuffling (e.g., moving from james.utils to o.a.mailet)
 - interface updates for Avalon

This is likely to change as we actually start work on James v3.

> Current stable is v2, currently v2.2, first alpha would be 2.2a1
> first release candidate 2.2rc1
> Small fixes, eg bugfix, might be released as 2.2.1, larger
> changes would result in 2.3

There is no magic, but I agree that the basic idea has been
major.minor.patch, where a major change involves interface changes or
substantial structural change.  The minor version is incremented when the
update is more functional than fix.  The patch is incremented with each
update to a minor release.

We've not been using the "rc" designation so far, but that would be a good
idea, especially when bumping anything other than the patch level.

> "@version 2.2.0" matching the release version means in javadoc
> "*last changed* in version 2.2.0", so we do *not* need to change
> it for no reason when the version changes.

That is not how the @version tag has been conventionally used, or was
intended.  Sun, and the tools vendors, have referred to it as the code
version.  Sun's convention is to use the SCCS version
(http://java.sun.com/j2se/javadoc/writingdoccomments/[EMAIL PROTECTED]).
Looking at the use of @version in the JDK, that is what you will see, and
that is how I would suggest using it, e.g., @version CVS $ID$.  It doesn't
match against a release version, but it does identify the code version,
which is the real point.  The @since tag, on the other hand, refers to a
product version, not a code version.

So the header could be:

  @version [CVS] $Id$
  @since <release version>

The use of "CVS" is optional, but would clarify the intention for anyone who
though that it referred to a release version.

        --- Noel


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

Reply via email to