I wrote something up Friday on my bus ride home, but I wanted to check the
details (CVS tag names, directory names, capitalization, stuff like that)
before I sent it out when I was next online.  Unfortunately I've since been
laid up with a nasty flu, and have Doctor's orders to stay in bed again
tomorrow.  Sigh.  I've attached the draft.

Doug

> -----Original Message-----
> From: Peter Carlson
> [mailto:[EMAIL PROTECTED]]
> Sent: Tuesday, April 09, 2002 11:35 AM
> To: Doug Cutting
> Subject: Building a release
> 
> 
> 
> Doug have you got a chance to put together the release docs.
> I'll do the work, I just need the know how.
> It seems like a good time to create the RC5.
> 
> --Peter
> 
> 
> --
> To unsubscribe, e-mail:   
> <mailto:[EMAIL PROTECTED]>
> For additional commands, e-mail: 
> <mailto:[EMAIL PROTECTED]>
> 

Following are the steps to perform a lucene release.

These assume that you have the appropriate privledges.  These also
assume that the time is right to perform such a release, and that you
know the name of the release you'll be making.

??? Note that release versions are formatted slightly differently in
different places, e.g., dashes are used in file names, underscores are
used in CVS tags, and dots in directory names.

 X. Update the CHANGES.txt file.

    Check the email archives, and make sure that there's an entry in
    this file for every significant CVS commit message.

 X. Update default.properties so that the version property names the
    next release (one beyond the one currently being built) with -dev
    appended.  So if you're making release 1.2rc5, then the version
    property should default to 1.2-rc6-dev.

 X. Commit these changes.

 X. Start with a clean CVS tree.  The surest way to do this is to
    check out a new copy from CVS, with the command:

      cvs -d :ext:$[EMAIL PROTECTED]:/home/cvs co jakarta-lucene

    If you don't do this, at least do:

      ant clean
      cvs update -d

    The latter should confirm that everything is up to date, and that
    you don't have any extraneous files lying around.

 X. Build the release with a command like:

       ant -Dversion=1_2rc5 dist dist-src

 X. Examine the results.  Did it build without errors?  Unpack the
    release somewhere, examine the files, run some simple tests.  Do
    not proceed further until you are confident that this release is
    of appropriate quality.

 X. Tag the files in CVS with the release name.  

    Release tags are of the following form:
      lucene<major>_<minor><suffix>
    where <major> is the major release number, <minor> is the minor
    release number and <suffix> is one of "beta<x>", "rc<x>" or
    "final", where <x> is the beta or release candidate version.

    The release is tagged with a command like:

       cvs tag lucene1_2rc5

  X. Make a new release directory on www.apache.org.

       ssh www.apache.org mkdir /www/jakarta.apache.org/???/lucene/1.2rc5

  X. Copy the files to the release directory:

       scp *.gz *.zip www.apache.org:/www/jakarta.apache.org/???

  X. Start a new, empty section in CHANGES.txt for the next release.


Much of this could probably become a shell script.

Doug

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

Reply via email to