You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-commits@lucene.apache.org by Apache Wiki <wi...@apache.org> on 2010/01/18 19:42:59 UTC

[Lucene-java Wiki] Update of "ReleaseTodo" by RobertMuir

Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Lucene-java Wiki" for change notification.

The "ReleaseTodo" page has been changed by RobertMuir.
http://wiki.apache.org/lucene-java/ReleaseTodo?action=diff&rev1=68&rev2=69

--------------------------------------------------

  ''Note: You need committer rights to create a new Lucene release.''
  
  = Release Process =
- 
  With the release of Lucene Java 2.2.0 a new release process was established. Prior to every major release a feature freeze phase takes place for about 1-2 weeks. At the beginning of the feature freeze the trunk is branched and no commits other than serious bug fixes, documentation or build updates are permitted. This period of time should be used for extensive testing, documentation improvements and for cleaning up old JIRA issues.
  
  = Planning =
+ On java-dev, decide on
  
- On java-dev, decide on
-    1. which JIRA issues shall be committed before a release is made; set the appropriate "Fix Version" in JIRA for these issues
+  1. which JIRA issues shall be committed before a release is made; set the appropriate "Fix Version" in JIRA for these issues
-    1. the date for branching the trunk and the start of the feature freeze phase
+  1. the date for branching the trunk and the start of the feature freeze phase
-    1. the length of the feature freeze phase
+  1. the length of the feature freeze phase
-    1. a tentative release date
+  1. a tentative release date
  
  = Branching & Feature Freeze =
- 
-    1. Run Apache RAT ("ant rat-sources", once you've installed the RAT jars on your CLASSPATH or ant -lib path) and fix any problems.
+  1. Run Apache RAT ("ant rat-sources", once you've installed the RAT jars on your CLASSPATH or ant -lib path) and fix any problems.
-    1. If this is the first release in a series (i.e. release X.Y.0), then create a branch for the series: {{{
+  1. If this is the first release in a series (i.e. release X.Y.0), then create a branch for the series:
+  {{{
  svn copy https://svn.apache.org/repos/asf/lucene/java/trunk \
  https://svn.apache.org/repos/asf/lucene/java/branches/lucene_X_Y -m "Starting Lucene X.Y branch."
  }}}
-    1. After branching the new release series, update the default version in common-build.xml on trunk to X.Y+1-dev and the default version in common-build.xml on the branch to X.Y (remove the -dev suffix).  Also update the LUCENE_MAIN_VERSION in src/java/org/apache/lucene/util/Constants.java.
+  1. After branching the new release series, update the default version in common-build.xml on trunk to X.Y+1-dev and the default version in common-build.xml on the branch to X.Y (remove the -dev suffix).  Also update the LUCENE_MAIN_VERSION in src/java/org/apache/lucene/util/Constants.java.
-    1. Update CHANGES.txt and contrib/CHANGES.txt in trunk and the branch. Specify tentative release date and start a new section for X.Y+1-dev in the trunk's CHANGES.txt.
+  1. Update CHANGES.txt and contrib/CHANGES.txt in trunk and the branch. Specify tentative release date and start a new section for X.Y+1-dev in the trunk's CHANGES.txt.
-    1. On trunk, fix src/site/src/documentation/content/xdocs/{tabs.xml,index.xml} to reference the X.Y+1-dev version.  Rebuild the website (http://wiki.apache.org/lucene-java/HowToUpdateTheWebsite) and commit.
+  1. On trunk, fix src/site/src/documentation/content/xdocs/{tabs.xml,index.xml} to reference the X.Y+1-dev version.  Rebuild the website (http://wiki.apache.org/lucene-java/HowToUpdateTheWebsite) and commit.
-    1. On the branch, fix the same files, rebuild the website and commit.
+  1. On the branch, fix the same files, rebuild the website and commit.
-    1. Send a note to java-dev to inform the committers that the branch has been created and the feature freeze phase has started. Include Do's and Don'ts for the feature freeze phase:
+  1. Send a note to java-dev to inform the committers that the branch has been created and the feature freeze phase has started. Include Do's and Don'ts for the feature freeze phase:
-       * No new features may be committed to the branch.
+   * No new features may be committed to the branch.
-       * Documentation patches, build patches and serious bug fixes may be committed to the branch. However, you should submit *all* patches you want to commit to Jira first to give others the chance to review and possibly vote against the patch. Keep in mind that it is our main intention to keep the branch as stable as possible.
+   * Documentation patches, build patches and serious bug fixes may be committed to the branch. However, you should submit *all* patches you want to commit to Jira first to give others the chance to review and possibly vote against the patch. Keep in mind that it is our main intention to keep the branch as stable as possible.
-       * All patches that are intended for the branch should first be committed to trunk and then merged into the branch. 
+   * All patches that are intended for the branch should first be committed to trunk and then merged into the branch.
-       * Normal trunk development may continue as usual. However, if you plan to commit a big change to the trunk while the branch feature freeze is in effect, think twice: can't the addition wait a couple more days? Merges of bug fixes into the branch may become more difficult.
+   * Normal trunk development may continue as usual. However, if you plan to commit a big change to the trunk while the branch feature freeze is in effect, think twice: can't the addition wait a couple more days? Merges of bug fixes into the branch may become more difficult.
-       * *Only* Jira issues with Fix version "X.Y" and priority "Blocker" will  delay a release candidate build. 
+   * *Only* Jira issues with Fix version "X.Y" and priority "Blocker" will  delay a release candidate build.
-    
+ 
  = Staging Area and Release Candidates =
+  1. Check out the branch with: {{{svn co https://svn.apache.org/repos/asf/lucene/java/branches/lucene_X_Y}}}
+  1. Add an entry for the new version in the doap.rdf file, stored under docs/doap.rdf in the unversioned site (see http://wiki.apache.org/lucene-java/HowToUpdateTheWebsite).
+  1. If the release is < 3.0, ensure "ant test-core" passes in a 1.4 Java environment
+  1. Build the code and javadocs, and run the unit tests: ant clean javadocs test
+  1. Examine the results. Did it build without errors? Were there Javadoc warnings? Did the tests succeed? Does the demo application work correctly?
+  1. In preparation for the next step, download the Maven ant tasks JAR (eg maven-ant-tasks-2.0.9.jar) from http://maven.apache.org/download.html, and add into your CLASSPATH, or add "-lib XXX.jar" to the ant command in the next step
+  1. Remove contrib/benchmark/{work,temp} if present
+  1. Package the release with a command like: {{{ant -Dversion=2.3.0-rc1 -Dspec.version=2.3.0 clean dist dist-src generate-maven-artifacts}}}.  Make sure it finishes successfully.
+  1. Generate Changes.html by running {{{ant changes-to-html}}}, then open build/docs/changes/Changes.html with a browser and confirm it looks right.
+  1. Create a staging area on your public Apache website
+  {{{
+    ssh people.apache.org
+    mkdir public_html/staging-area
+ }}}
+  1. Copy the release candidate and changes.html to the staging area and announce on java-dev and java-user that it is available for testing.  Make sure your directory permissions disallow writing ({{{chmod -R a-w public_html/staging-area/*}}}, after copying).
+  {{{
+    ssh people.apache.org
+    mkdir public_html/staging-area/rc1
+    scp -r dist people.apache.org:public_html/staging-area/luceneX.Yrc1
+    scp -r build/docs/changes people.apache.org:public_html/staging-area/luceneX.Ychanges
+ }}}
+  1. If during the feature freeze phase bug fixes are committed to the X.Y branch then build another release candidate and announce on java-dev and java-user that everyone should use the new RC for testing.
  
-    1. Check out the branch with: {{{svn co https://svn.apache.org/repos/asf/lucene/java/branches/lucene_X_Y}}}
-    1. Add an entry for the new version in the doap.rdf file, stored under docs/doap.rdf in the unversioned site (see http://wiki.apache.org/lucene-java/HowToUpdateTheWebsite).
-    1. If the release is < 3.0, ensure "ant test-core" passes in a 1.4 Java environment
-    1. Build the code and javadocs, and run the unit tests: ant clean javadocs test
-    1. Examine the results. Did it build without errors? Were there Javadoc warnings? Did the tests succeed?
-    1. In preparation for the next step, download the Maven ant tasks JAR (eg maven-ant-tasks-2.0.9.jar) from http://maven.apache.org/download.html, and add into your CLASSPATH, or add "-lib XXX.jar" to the ant command in the next step
-    1. Remove contrib/benchmark/{work,temp} if present
-    1. Package the release with a command like: {{{ant -Dversion=2.3.0-rc1 -Dspec.version=2.3.0 clean dist dist-src generate-maven-artifacts}}}.  Make sure it finishes successfully.
-    1. Generate Changes.html by running {{{ant changes-to-html}}}, then open build/docs/changes/Changes.html with a browser and confirm it looks right.
-    1. Create a staging area on your public Apache website {{{
-    ssh people.apache.org 
-    mkdir public_html/staging-area}}}
-    1. Copy the release candidate and changes.html to the staging area and announce on java-dev and java-user that it is available for testing.  Make sure your directory permissions disallow writing ({{{chmod -R a-w public_html/staging-area/*}}}, after copying). {{{
-    ssh people.apache.org 
-    mkdir public_html/staging-area/rc1 
-    scp -r dist people.apache.org:public_html/staging-area/luceneX.Yrc1
-    scp -r build/docs/changes people.apache.org:public_html/staging-area/luceneX.Ychanges}}}
-    1. If during the feature freeze phase bug fixes are committed to the X.Y branch then build another release candidate and announce on java-dev and java-user that everyone should use the new RC for testing.
-    
  = Building the Release artifacts =
-    1. If after the last day of the feature freeze phase no blocking issues are in JIRA with "Fix Version" X.Y then it's time to build the release artifacts
+  1. If after the last day of the feature freeze phase no blocking issues are in JIRA with "Fix Version" X.Y then it's time to build the release artifacts
-    1. Guestimate the release date and update CHANGES.txt on the branch and commit it
+  1. Guestimate the release date and update CHANGES.txt on the branch and commit it
-    1. Update src/site/changes/changes2html.pl (in setup_release_dates) with the date, and commit it to trunk and branch
+  1. Update src/site/changes/changes2html.pl (in setup_release_dates) with the date, and commit it to trunk and branch
-    1. Verify that "svnversion" reports a single revision with no modified changes
+  1. Verify that "svnversion" reports a single revision with no modified changes
-    1. Remove contrib/benchmark/{work,temp} if present
+  1. Remove contrib/benchmark/{work,temp} if present
-    1. Build the release artifacts: {{{ant -Dversion=2.3.0 clean dist dist-src generate-maven-artifacts}}}
+  1. Build the release artifacts: {{{ant -Dversion=2.3.0 clean dist dist-src generate-maven-artifacts}}}
-    1. Sanity check the overall size of each artifact. EG, compare to the last release.
+  1. Sanity check the overall size of each artifact. EG, compare to the last release.
-    1. Make sure that for each release file an md5 checksum file exists.
+  1. Make sure that for each release file an md5 checksum file exists.
-    1. Sign the release (see [[http://www.apache.org/dev/mirror-step-by-step.html?Step-By-Step|Step-By-Step Guide to Mirroring Releases]] for more information). Also sign all Maven release artifacts. {{{
+  1. Sign the release (see [[http://www.apache.org/dev/mirror-step-by-step.html?Step-By-Step|Step-By-Step Guide to Mirroring Releases]] for more information). Also sign all Maven release artifacts.
+  {{{
  gpg --armor --output lucene-X.Y.Z.tar.gz.asc --detach-sig lucene-X.Y.Z.tar.gz
  }}}
-    1. Copy release files to the staging area: {{{scp -r dist people.apache.org:public_html/staging-area/luceneX.Y}}}
+  1. Copy release files to the staging area: {{{scp -r dist people.apache.org:public_html/staging-area/luceneX.Y}}}
-    1. Copy the KEYS file into the same directory.
+  1. Copy the KEYS file into the same directory.
-    1. Call a release vote on java-dev and cc general@lucene.apache.org.
+  1. Call a release vote on java-dev and cc general@lucene.apache.org .
  
  = Publishing =
+ Once [[http://www.apache.org/foundation/voting.html#ReleaseVotes|three PMC members have voted for a release]], it may be published.
  
- Once [[http://www.apache.org/foundation/voting.html#ReleaseVotes|three PMC members have voted for a release]], it may be published.
-    1. Tag the release: {{{
+  1. Tag the release:
+  {{{
  svn copy https://svn.apache.org/repos/asf/lucene/java/branches/lucene_X_Y \
  https://svn.apache.org/repos/asf/lucene/java/tags/lucene_X_Y_Z -m "Lucene Java X.Y.Z release."
  }}}
-    1. If this is a new branch (ie you are releasing X.Y.0), after tagging, commit a new "unreleased" section at the top of CHANGES.txt and contrib/CHANGES.txt onto the branch
+  1. If this is a new branch (ie you are releasing X.Y.0), after tagging, commit a new "unreleased" section at the top of CHANGES.txt and contrib/CHANGES.txt onto the branch
-    1. If this is your first release, add your key to the KEYS file. The KEYS file is located in Subversion at [WWW] https://svn.apache.org/repos/asf/lucene/java/dist and copy it to the release directory. Make sure you commit your change.
+  1. If this is your first release, add your key to the KEYS file. The KEYS file is located in Subversion at [WWW] https://svn.apache.org/repos/asf/lucene/java/dist and copy it to the release directory. Make sure you commit your change.
-    1. If this is a point release, copy the CHANGES.txt entry for this point release back to the trunk's CHANGES.txt.  Remove any duplicate entries from trunk's CHANGES.txt (ie, each issue should appear only once, in the earliest point-release that contains the fix, on the assumption that all future releases also contain the fix).
+  1. If this is a point release, copy the CHANGES.txt entry for this point release back to the trunk's CHANGES.txt.  Remove any duplicate entries from trunk's CHANGES.txt (ie, each issue should appear only once, in the earliest point-release that contains the fix, on the assumption that all future releases also contain the fix).
-    1. See [[http://jakarta.apache.org/site/convert-to-mirror.html?Step-By-Step|Guide To Distributing Existing Releases Through The ASF Mirrors]] and the links that are there.
+  1. See [[http://jakarta.apache.org/site/convert-to-mirror.html?Step-By-Step|Guide To Distributing Existing Releases Through The ASF Mirrors]] and the links that are there.
-    1. Copy the KEYS file, and the non-Maven release artifacts to the dist directory {{{people.apache.org:/www/www.apache.org/dist/lucene/java}}}, and remove the old files
+  1. Copy the KEYS file, and the non-Maven release artifacts to the dist directory {{{people.apache.org:/www/www.apache.org/dist/lucene/java}}}, and remove the old files
-    1. Copy the Maven artifacts to the distribution directory (follow the existing directory structure), to have them pushed to the central Maven repositories:   {{{people.apache.org:/www/people.apache.org/repo/m2-ibiblio-rsync-repository/org/apache/lucene}}}
+  1. Copy the Maven artifacts to the distribution directory (follow the existing directory structure), to have them pushed to the central Maven repositories:   {{{people.apache.org:/www/people.apache.org/repo/m2-ibiblio-rsync-repository/org/apache/lucene}}}
-    1. Checkout https://svn.apache.org/repos/asf/lucene/java/nightly and change the -Dversion=X.Y-SNAPSHOT in nightly.sh.  Also configure the Hudson script (http://hudson.zones.apache.org/hudson/job/Lucene-trunk/configure) and set the -Dversion=X.Y-SNAPSHOT value in the "execute shell" section.  Save this change. See http://wiki.apache.org/general/Hudson for how to get a login on hudson, or ask Grant or Michael B. for help.
+  1. Checkout https://svn.apache.org/repos/asf/lucene/java/nightly and change the -Dversion=X.Y-SNAPSHOT in nightly.sh.  Also configure the Hudson script (http://hudson.zones.apache.org/hudson/job/Lucene-trunk/configure) and set the -Dversion=X.Y-SNAPSHOT value in the "execute shell" section.  Save this change. See http://wiki.apache.org/general/Hudson for how to get a login on hudson, or ask Grant or Michael B. for help.
-    1. Wait 24 hours to give the mirrors a chance to get the new release.
+  1. Wait 24 hours to give the mirrors a chance to get the new release.
  
  = Announcing =
-    1. Checkout the top-level Lucene website from https://svn.apache.org/repos/asf/lucene/site.  Add a new item under "News", in index.xml.  Run "forrest site", confirm all looks good, then recursively copy build/site/* to publish/*, then commit the changes.  Then copy publish/* to /www/lucene.apache.org/* on people.apache.org.
+  1. Checkout the top-level Lucene website from https://svn.apache.org/repos/asf/lucene/site.  Add a new item under "News", in index.xml.  Run "forrest site", confirm all looks good, then recursively copy build/site/* to publish/*, then commit the changes.  Then copy publish/* to /www/lucene.apache.org/* on people.apache.org.
-    1. Checkout the Lucene java website from https://svn.apache.org/repos/asf/lucene/java/site.  Add a new item under "Lucene News", in index.xml.  Add a new entry for this release into both tabs.xml and site.xml.  Run "forrest site", confirm all looks good, and recursively copy build/site/* to docs/*, then commit the changes.  Copy docs/* to /www/lucene.apache.org/java/docs on people.apache.org.  Make sure .htaccess is copied!
+  1. Checkout the Lucene java website from https://svn.apache.org/repos/asf/lucene/java/site.  Add a new item under "Lucene News", in index.xml.  Add a new entry for this release into both tabs.xml and site.xml.  Run "forrest site", confirm all looks good, and recursively copy build/site/* to docs/*, then commit the changes.  Copy docs/* to /www/lucene.apache.org/java/docs on people.apache.org.  Make sure .htaccess is copied!
-    1. Copy the release specific docs to people.apache.org: {{{
+  1. Copy the release specific docs to people.apache.org:
+  {{{
    ssh people.apache.org
    tar xzf lucene-X.Y.Z.tar.gz lucene-X.Y.Z/docs
    mv lucene-X.Y.Z/docs /www/lucene.apache.org/java/X_Y_Z
-   rmdir lucene-X.Y.Z}}}
+   rmdir lucene-X.Y.Z
+ }}}
-    1. Make sure the group ownership on the site is 'lucene' by calling {{{chgrp -R lucene /www/lucene.apache.org/java}}}.  Also make files group writable and others read-only by calling {{{chmod -R g+w,o-w /www/lucene.apache.org/java}}}.
+  1. Make sure the group ownership on the site is 'lucene' by calling {{{chgrp -R lucene /www/lucene.apache.org/java}}}.  Also make files group writable and others read-only by calling {{{chmod -R g+w,o-w /www/lucene.apache.org/java}}}.
-    1. Copy the Changes.html you previously generated to the website: {{{scp -r build/docs/changes people.apache.org:/www/lucene.apache.org/java/X_Y_Z}}}
+  1. Copy the Changes.html you previously generated to the website: {{{scp -r build/docs/changes people.apache.org:/www/lucene.apache.org/java/X_Y_Z}}}
-    1. Wait for these changes to appear on Apache's main webserver (http://lucene.apache.org) before doing the next steps (see http://www.apache.org/dev/project-site.html for details on how the site is mirrored to Apache's main web servers).  Once they appear, verify all links are correct in your changes!
+  1. Wait for these changes to appear on Apache's main webserver (http://lucene.apache.org) before doing the next steps (see http://www.apache.org/dev/project-site.html for details on how the site is mirrored to Apache's main web servers).  Once they appear, verify all links are correct in your changes!
-    1. Announce the release on [[http://www.freshmeat.net]]
+  1. Announce the release on http://www.freshmeat.net
-    1. Announce the release on general@lucene.apache.org, java-dev@lucene.apache.org, java-user@lucene.apache.org and announce@apache.org mailing lists. A draft should be sent to the development list first to clarify any possible issues in the announcement. Mails to the announce list should be sent from an @apache.org email address and contain a signature.
+  1. Announce the release on general@lucene.apache.org , java-dev@lucene.apache.org , java-user@lucene.apache.org and announce@apache.org mailing lists. A draft should be sent to the development list first to clarify any possible issues in the announcement. Mails to the announce list should be sent from an @apache.org email address and contain a signature.
-    1. Ensure the latest Lucene Jar + MD5 sum file have been pushed to http://repo1.maven.org/maven2/org/apache/lucene/ by deploying the distribution to http://people.apache.org/repo/m2-ibiblio-rsync-repository/ (that is minotaur.apache.org:/www/people.apache.org/repo/m2-ibiblio-rsync-repository).  From there it will be pushed to the central Maven repositories (both Maven 1 and Maven 2) automatically in a few hours. Contact repository@apache.org if there's some problem.
+  1. Ensure the latest Lucene Jar + MD5 sum file have been pushed to http://repo1.maven.org/maven2/org/apache/lucene/ by deploying the distribution to http://people.apache.org/repo/m2-ibiblio-rsync-repository/ (that is minotaur.apache.org:/www/people.apache.org/repo/m2-ibiblio-rsync-repository).  From there it will be pushed to the central Maven repositories (both Maven 1 and Maven 2) automatically in a few hours. Contact repository@apache.org if there's some problem.
-    1. Go to the JIRA "Manage Versions" Administration page (http://issues.apache.org/jira/secure/project/ManageVersions.jspa?pid=12310110) and click Release for the version you just released.  Also add a new (unreleased) version for the next release on the trunk (for a major release) or branch (for a minor release).
+  1. Go to the JIRA "Manage Versions" Administration page (http://issues.apache.org/jira/secure/project/ManageVersions.jspa?pid=12310110) and click Release for the version you just released.  Also add a new (unreleased) version for the next release on the trunk (for a major release) or branch (for a minor release).
-    1. Go to JIRA and find all issues that were fixed in the release you just made, whose Status is Resolved, and do a bulk change to close all of these issues.  Uncheck the box that says "send an email for these changes".
+  1. Go to JIRA and find all issues that were fixed in the release you just made, whose Status is Resolved, and do a bulk change to close all of these issues.  Uncheck the box that says "send an email for these changes".
+ 
- 		
- 		
  = See Also =
- 
   * [[http://www.apache.org/dev/release.html|Apache Releases FAQ]]
  

Re: [Lucene-java Wiki] Update of "ReleaseTodo" by RobertMuir

Posted by Chris Hostetter <ho...@fucit.org>.
: nice of the wiki software to change every single line!

this type of thing seems to happen anytime you edit in GUI mode for the 
first time since the MoinMOin upgradea few months back -- it's normalizing 
all the whitespace.



-Hoss


---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-dev-help@lucene.apache.org


Re: [Lucene-java Wiki] Update of "ReleaseTodo" by RobertMuir

Posted by Robert Muir <rc...@gmail.com>.
nice of the wiki software to change every single line!

for ref, i just added one line: check that the demo app works OK

On Mon, Jan 18, 2010 at 1:42 PM, Apache Wiki <wi...@apache.org> wrote:
> Dear Wiki user,
>
> You have subscribed to a wiki page or wiki category on "Lucene-java Wiki" for change notification.
>
> The "ReleaseTodo" page has been changed by RobertMuir.
> http://wiki.apache.org/lucene-java/ReleaseTodo?action=diff&rev1=68&rev2=69
>
> --------------------------------------------------
>
>  ''Note: You need committer rights to create a new Lucene release.''
>
>  = Release Process =
> -
>  With the release of Lucene Java 2.2.0 a new release process was established. Prior to every major release a feature freeze phase takes place for about 1-2 weeks. At the beginning of the feature freeze the trunk is branched and no commits other than serious bug fixes, documentation or build updates are permitted. This period of time should be used for extensive testing, documentation improvements and for cleaning up old JIRA issues.
>
>  = Planning =
> + On java-dev, decide on
>
> - On java-dev, decide on
> -    1. which JIRA issues shall be committed before a release is made; set the appropriate "Fix Version" in JIRA for these issues
> +  1. which JIRA issues shall be committed before a release is made; set the appropriate "Fix Version" in JIRA for these issues
> -    1. the date for branching the trunk and the start of the feature freeze phase
> +  1. the date for branching the trunk and the start of the feature freeze phase
> -    1. the length of the feature freeze phase
> +  1. the length of the feature freeze phase
> -    1. a tentative release date
> +  1. a tentative release date
>
>  = Branching & Feature Freeze =
> -
> -    1. Run Apache RAT ("ant rat-sources", once you've installed the RAT jars on your CLASSPATH or ant -lib path) and fix any problems.
> +  1. Run Apache RAT ("ant rat-sources", once you've installed the RAT jars on your CLASSPATH or ant -lib path) and fix any problems.
> -    1. If this is the first release in a series (i.e. release X.Y.0), then create a branch for the series: {{{
> +  1. If this is the first release in a series (i.e. release X.Y.0), then create a branch for the series:
> +  {{{
>  svn copy https://svn.apache.org/repos/asf/lucene/java/trunk \
>  https://svn.apache.org/repos/asf/lucene/java/branches/lucene_X_Y -m "Starting Lucene X.Y branch."
>  }}}
> -    1. After branching the new release series, update the default version in common-build.xml on trunk to X.Y+1-dev and the default version in common-build.xml on the branch to X.Y (remove the -dev suffix).  Also update the LUCENE_MAIN_VERSION in src/java/org/apache/lucene/util/Constants.java.
> +  1. After branching the new release series, update the default version in common-build.xml on trunk to X.Y+1-dev and the default version in common-build.xml on the branch to X.Y (remove the -dev suffix).  Also update the LUCENE_MAIN_VERSION in src/java/org/apache/lucene/util/Constants.java.
> -    1. Update CHANGES.txt and contrib/CHANGES.txt in trunk and the branch. Specify tentative release date and start a new section for X.Y+1-dev in the trunk's CHANGES.txt.
> +  1. Update CHANGES.txt and contrib/CHANGES.txt in trunk and the branch. Specify tentative release date and start a new section for X.Y+1-dev in the trunk's CHANGES.txt.
> -    1. On trunk, fix src/site/src/documentation/content/xdocs/{tabs.xml,index.xml} to reference the X.Y+1-dev version.  Rebuild the website (http://wiki.apache.org/lucene-java/HowToUpdateTheWebsite) and commit.
> +  1. On trunk, fix src/site/src/documentation/content/xdocs/{tabs.xml,index.xml} to reference the X.Y+1-dev version.  Rebuild the website (http://wiki.apache.org/lucene-java/HowToUpdateTheWebsite) and commit.
> -    1. On the branch, fix the same files, rebuild the website and commit.
> +  1. On the branch, fix the same files, rebuild the website and commit.
> -    1. Send a note to java-dev to inform the committers that the branch has been created and the feature freeze phase has started. Include Do's and Don'ts for the feature freeze phase:
> +  1. Send a note to java-dev to inform the committers that the branch has been created and the feature freeze phase has started. Include Do's and Don'ts for the feature freeze phase:
> -       * No new features may be committed to the branch.
> +   * No new features may be committed to the branch.
> -       * Documentation patches, build patches and serious bug fixes may be committed to the branch. However, you should submit *all* patches you want to commit to Jira first to give others the chance to review and possibly vote against the patch. Keep in mind that it is our main intention to keep the branch as stable as possible.
> +   * Documentation patches, build patches and serious bug fixes may be committed to the branch. However, you should submit *all* patches you want to commit to Jira first to give others the chance to review and possibly vote against the patch. Keep in mind that it is our main intention to keep the branch as stable as possible.
> -       * All patches that are intended for the branch should first be committed to trunk and then merged into the branch.
> +   * All patches that are intended for the branch should first be committed to trunk and then merged into the branch.
> -       * Normal trunk development may continue as usual. However, if you plan to commit a big change to the trunk while the branch feature freeze is in effect, think twice: can't the addition wait a couple more days? Merges of bug fixes into the branch may become more difficult.
> +   * Normal trunk development may continue as usual. However, if you plan to commit a big change to the trunk while the branch feature freeze is in effect, think twice: can't the addition wait a couple more days? Merges of bug fixes into the branch may become more difficult.
> -       * *Only* Jira issues with Fix version "X.Y" and priority "Blocker" will  delay a release candidate build.
> +   * *Only* Jira issues with Fix version "X.Y" and priority "Blocker" will  delay a release candidate build.
> -
> +
>  = Staging Area and Release Candidates =
> +  1. Check out the branch with: {{{svn co https://svn.apache.org/repos/asf/lucene/java/branches/lucene_X_Y}}}
> +  1. Add an entry for the new version in the doap.rdf file, stored under docs/doap.rdf in the unversioned site (see http://wiki.apache.org/lucene-java/HowToUpdateTheWebsite).
> +  1. If the release is < 3.0, ensure "ant test-core" passes in a 1.4 Java environment
> +  1. Build the code and javadocs, and run the unit tests: ant clean javadocs test
> +  1. Examine the results. Did it build without errors? Were there Javadoc warnings? Did the tests succeed? Does the demo application work correctly?
> +  1. In preparation for the next step, download the Maven ant tasks JAR (eg maven-ant-tasks-2.0.9.jar) from http://maven.apache.org/download.html, and add into your CLASSPATH, or add "-lib XXX.jar" to the ant command in the next step
> +  1. Remove contrib/benchmark/{work,temp} if present
> +  1. Package the release with a command like: {{{ant -Dversion=2.3.0-rc1 -Dspec.version=2.3.0 clean dist dist-src generate-maven-artifacts}}}.  Make sure it finishes successfully.
> +  1. Generate Changes.html by running {{{ant changes-to-html}}}, then open build/docs/changes/Changes.html with a browser and confirm it looks right.
> +  1. Create a staging area on your public Apache website
> +  {{{
> +    ssh people.apache.org
> +    mkdir public_html/staging-area
> + }}}
> +  1. Copy the release candidate and changes.html to the staging area and announce on java-dev and java-user that it is available for testing.  Make sure your directory permissions disallow writing ({{{chmod -R a-w public_html/staging-area/*}}}, after copying).
> +  {{{
> +    ssh people.apache.org
> +    mkdir public_html/staging-area/rc1
> +    scp -r dist people.apache.org:public_html/staging-area/luceneX.Yrc1
> +    scp -r build/docs/changes people.apache.org:public_html/staging-area/luceneX.Ychanges
> + }}}
> +  1. If during the feature freeze phase bug fixes are committed to the X.Y branch then build another release candidate and announce on java-dev and java-user that everyone should use the new RC for testing.
>
> -    1. Check out the branch with: {{{svn co https://svn.apache.org/repos/asf/lucene/java/branches/lucene_X_Y}}}
> -    1. Add an entry for the new version in the doap.rdf file, stored under docs/doap.rdf in the unversioned site (see http://wiki.apache.org/lucene-java/HowToUpdateTheWebsite).
> -    1. If the release is < 3.0, ensure "ant test-core" passes in a 1.4 Java environment
> -    1. Build the code and javadocs, and run the unit tests: ant clean javadocs test
> -    1. Examine the results. Did it build without errors? Were there Javadoc warnings? Did the tests succeed?
> -    1. In preparation for the next step, download the Maven ant tasks JAR (eg maven-ant-tasks-2.0.9.jar) from http://maven.apache.org/download.html, and add into your CLASSPATH, or add "-lib XXX.jar" to the ant command in the next step
> -    1. Remove contrib/benchmark/{work,temp} if present
> -    1. Package the release with a command like: {{{ant -Dversion=2.3.0-rc1 -Dspec.version=2.3.0 clean dist dist-src generate-maven-artifacts}}}.  Make sure it finishes successfully.
> -    1. Generate Changes.html by running {{{ant changes-to-html}}}, then open build/docs/changes/Changes.html with a browser and confirm it looks right.
> -    1. Create a staging area on your public Apache website {{{
> -    ssh people.apache.org
> -    mkdir public_html/staging-area}}}
> -    1. Copy the release candidate and changes.html to the staging area and announce on java-dev and java-user that it is available for testing.  Make sure your directory permissions disallow writing ({{{chmod -R a-w public_html/staging-area/*}}}, after copying). {{{
> -    ssh people.apache.org
> -    mkdir public_html/staging-area/rc1
> -    scp -r dist people.apache.org:public_html/staging-area/luceneX.Yrc1
> -    scp -r build/docs/changes people.apache.org:public_html/staging-area/luceneX.Ychanges}}}
> -    1. If during the feature freeze phase bug fixes are committed to the X.Y branch then build another release candidate and announce on java-dev and java-user that everyone should use the new RC for testing.
> -
>  = Building the Release artifacts =
> -    1. If after the last day of the feature freeze phase no blocking issues are in JIRA with "Fix Version" X.Y then it's time to build the release artifacts
> +  1. If after the last day of the feature freeze phase no blocking issues are in JIRA with "Fix Version" X.Y then it's time to build the release artifacts
> -    1. Guestimate the release date and update CHANGES.txt on the branch and commit it
> +  1. Guestimate the release date and update CHANGES.txt on the branch and commit it
> -    1. Update src/site/changes/changes2html.pl (in setup_release_dates) with the date, and commit it to trunk and branch
> +  1. Update src/site/changes/changes2html.pl (in setup_release_dates) with the date, and commit it to trunk and branch
> -    1. Verify that "svnversion" reports a single revision with no modified changes
> +  1. Verify that "svnversion" reports a single revision with no modified changes
> -    1. Remove contrib/benchmark/{work,temp} if present
> +  1. Remove contrib/benchmark/{work,temp} if present
> -    1. Build the release artifacts: {{{ant -Dversion=2.3.0 clean dist dist-src generate-maven-artifacts}}}
> +  1. Build the release artifacts: {{{ant -Dversion=2.3.0 clean dist dist-src generate-maven-artifacts}}}
> -    1. Sanity check the overall size of each artifact. EG, compare to the last release.
> +  1. Sanity check the overall size of each artifact. EG, compare to the last release.
> -    1. Make sure that for each release file an md5 checksum file exists.
> +  1. Make sure that for each release file an md5 checksum file exists.
> -    1. Sign the release (see [[http://www.apache.org/dev/mirror-step-by-step.html?Step-By-Step|Step-By-Step Guide to Mirroring Releases]] for more information). Also sign all Maven release artifacts. {{{
> +  1. Sign the release (see [[http://www.apache.org/dev/mirror-step-by-step.html?Step-By-Step|Step-By-Step Guide to Mirroring Releases]] for more information). Also sign all Maven release artifacts.
> +  {{{
>  gpg --armor --output lucene-X.Y.Z.tar.gz.asc --detach-sig lucene-X.Y.Z.tar.gz
>  }}}
> -    1. Copy release files to the staging area: {{{scp -r dist people.apache.org:public_html/staging-area/luceneX.Y}}}
> +  1. Copy release files to the staging area: {{{scp -r dist people.apache.org:public_html/staging-area/luceneX.Y}}}
> -    1. Copy the KEYS file into the same directory.
> +  1. Copy the KEYS file into the same directory.
> -    1. Call a release vote on java-dev and cc general@lucene.apache.org.
> +  1. Call a release vote on java-dev and cc general@lucene.apache.org .
>
>  = Publishing =
> + Once [[http://www.apache.org/foundation/voting.html#ReleaseVotes|three PMC members have voted for a release]], it may be published.
>
> - Once [[http://www.apache.org/foundation/voting.html#ReleaseVotes|three PMC members have voted for a release]], it may be published.
> -    1. Tag the release: {{{
> +  1. Tag the release:
> +  {{{
>  svn copy https://svn.apache.org/repos/asf/lucene/java/branches/lucene_X_Y \
>  https://svn.apache.org/repos/asf/lucene/java/tags/lucene_X_Y_Z -m "Lucene Java X.Y.Z release."
>  }}}
> -    1. If this is a new branch (ie you are releasing X.Y.0), after tagging, commit a new "unreleased" section at the top of CHANGES.txt and contrib/CHANGES.txt onto the branch
> +  1. If this is a new branch (ie you are releasing X.Y.0), after tagging, commit a new "unreleased" section at the top of CHANGES.txt and contrib/CHANGES.txt onto the branch
> -    1. If this is your first release, add your key to the KEYS file. The KEYS file is located in Subversion at [WWW] https://svn.apache.org/repos/asf/lucene/java/dist and copy it to the release directory. Make sure you commit your change.
> +  1. If this is your first release, add your key to the KEYS file. The KEYS file is located in Subversion at [WWW] https://svn.apache.org/repos/asf/lucene/java/dist and copy it to the release directory. Make sure you commit your change.
> -    1. If this is a point release, copy the CHANGES.txt entry for this point release back to the trunk's CHANGES.txt.  Remove any duplicate entries from trunk's CHANGES.txt (ie, each issue should appear only once, in the earliest point-release that contains the fix, on the assumption that all future releases also contain the fix).
> +  1. If this is a point release, copy the CHANGES.txt entry for this point release back to the trunk's CHANGES.txt.  Remove any duplicate entries from trunk's CHANGES.txt (ie, each issue should appear only once, in the earliest point-release that contains the fix, on the assumption that all future releases also contain the fix).
> -    1. See [[http://jakarta.apache.org/site/convert-to-mirror.html?Step-By-Step|Guide To Distributing Existing Releases Through The ASF Mirrors]] and the links that are there.
> +  1. See [[http://jakarta.apache.org/site/convert-to-mirror.html?Step-By-Step|Guide To Distributing Existing Releases Through The ASF Mirrors]] and the links that are there.
> -    1. Copy the KEYS file, and the non-Maven release artifacts to the dist directory {{{people.apache.org:/www/www.apache.org/dist/lucene/java}}}, and remove the old files
> +  1. Copy the KEYS file, and the non-Maven release artifacts to the dist directory {{{people.apache.org:/www/www.apache.org/dist/lucene/java}}}, and remove the old files
> -    1. Copy the Maven artifacts to the distribution directory (follow the existing directory structure), to have them pushed to the central Maven repositories:   {{{people.apache.org:/www/people.apache.org/repo/m2-ibiblio-rsync-repository/org/apache/lucene}}}
> +  1. Copy the Maven artifacts to the distribution directory (follow the existing directory structure), to have them pushed to the central Maven repositories:   {{{people.apache.org:/www/people.apache.org/repo/m2-ibiblio-rsync-repository/org/apache/lucene}}}
> -    1. Checkout https://svn.apache.org/repos/asf/lucene/java/nightly and change the -Dversion=X.Y-SNAPSHOT in nightly.sh.  Also configure the Hudson script (http://hudson.zones.apache.org/hudson/job/Lucene-trunk/configure) and set the -Dversion=X.Y-SNAPSHOT value in the "execute shell" section.  Save this change. See http://wiki.apache.org/general/Hudson for how to get a login on hudson, or ask Grant or Michael B. for help.
> +  1. Checkout https://svn.apache.org/repos/asf/lucene/java/nightly and change the -Dversion=X.Y-SNAPSHOT in nightly.sh.  Also configure the Hudson script (http://hudson.zones.apache.org/hudson/job/Lucene-trunk/configure) and set the -Dversion=X.Y-SNAPSHOT value in the "execute shell" section.  Save this change. See http://wiki.apache.org/general/Hudson for how to get a login on hudson, or ask Grant or Michael B. for help.
> -    1. Wait 24 hours to give the mirrors a chance to get the new release.
> +  1. Wait 24 hours to give the mirrors a chance to get the new release.
>
>  = Announcing =
> -    1. Checkout the top-level Lucene website from https://svn.apache.org/repos/asf/lucene/site.  Add a new item under "News", in index.xml.  Run "forrest site", confirm all looks good, then recursively copy build/site/* to publish/*, then commit the changes.  Then copy publish/* to /www/lucene.apache.org/* on people.apache.org.
> +  1. Checkout the top-level Lucene website from https://svn.apache.org/repos/asf/lucene/site.  Add a new item under "News", in index.xml.  Run "forrest site", confirm all looks good, then recursively copy build/site/* to publish/*, then commit the changes.  Then copy publish/* to /www/lucene.apache.org/* on people.apache.org.
> -    1. Checkout the Lucene java website from https://svn.apache.org/repos/asf/lucene/java/site.  Add a new item under "Lucene News", in index.xml.  Add a new entry for this release into both tabs.xml and site.xml.  Run "forrest site", confirm all looks good, and recursively copy build/site/* to docs/*, then commit the changes.  Copy docs/* to /www/lucene.apache.org/java/docs on people.apache.org.  Make sure .htaccess is copied!
> +  1. Checkout the Lucene java website from https://svn.apache.org/repos/asf/lucene/java/site.  Add a new item under "Lucene News", in index.xml.  Add a new entry for this release into both tabs.xml and site.xml.  Run "forrest site", confirm all looks good, and recursively copy build/site/* to docs/*, then commit the changes.  Copy docs/* to /www/lucene.apache.org/java/docs on people.apache.org.  Make sure .htaccess is copied!
> -    1. Copy the release specific docs to people.apache.org: {{{
> +  1. Copy the release specific docs to people.apache.org:
> +  {{{
>    ssh people.apache.org
>    tar xzf lucene-X.Y.Z.tar.gz lucene-X.Y.Z/docs
>    mv lucene-X.Y.Z/docs /www/lucene.apache.org/java/X_Y_Z
> -   rmdir lucene-X.Y.Z}}}
> +   rmdir lucene-X.Y.Z
> + }}}
> -    1. Make sure the group ownership on the site is 'lucene' by calling {{{chgrp -R lucene /www/lucene.apache.org/java}}}.  Also make files group writable and others read-only by calling {{{chmod -R g+w,o-w /www/lucene.apache.org/java}}}.
> +  1. Make sure the group ownership on the site is 'lucene' by calling {{{chgrp -R lucene /www/lucene.apache.org/java}}}.  Also make files group writable and others read-only by calling {{{chmod -R g+w,o-w /www/lucene.apache.org/java}}}.
> -    1. Copy the Changes.html you previously generated to the website: {{{scp -r build/docs/changes people.apache.org:/www/lucene.apache.org/java/X_Y_Z}}}
> +  1. Copy the Changes.html you previously generated to the website: {{{scp -r build/docs/changes people.apache.org:/www/lucene.apache.org/java/X_Y_Z}}}
> -    1. Wait for these changes to appear on Apache's main webserver (http://lucene.apache.org) before doing the next steps (see http://www.apache.org/dev/project-site.html for details on how the site is mirrored to Apache's main web servers).  Once they appear, verify all links are correct in your changes!
> +  1. Wait for these changes to appear on Apache's main webserver (http://lucene.apache.org) before doing the next steps (see http://www.apache.org/dev/project-site.html for details on how the site is mirrored to Apache's main web servers).  Once they appear, verify all links are correct in your changes!
> -    1. Announce the release on [[http://www.freshmeat.net]]
> +  1. Announce the release on http://www.freshmeat.net
> -    1. Announce the release on general@lucene.apache.org, java-dev@lucene.apache.org, java-user@lucene.apache.org and announce@apache.org mailing lists. A draft should be sent to the development list first to clarify any possible issues in the announcement. Mails to the announce list should be sent from an @apache.org email address and contain a signature.
> +  1. Announce the release on general@lucene.apache.org , java-dev@lucene.apache.org , java-user@lucene.apache.org and announce@apache.org mailing lists. A draft should be sent to the development list first to clarify any possible issues in the announcement. Mails to the announce list should be sent from an @apache.org email address and contain a signature.
> -    1. Ensure the latest Lucene Jar + MD5 sum file have been pushed to http://repo1.maven.org/maven2/org/apache/lucene/ by deploying the distribution to http://people.apache.org/repo/m2-ibiblio-rsync-repository/ (that is minotaur.apache.org:/www/people.apache.org/repo/m2-ibiblio-rsync-repository).  From there it will be pushed to the central Maven repositories (both Maven 1 and Maven 2) automatically in a few hours. Contact repository@apache.org if there's some problem.
> +  1. Ensure the latest Lucene Jar + MD5 sum file have been pushed to http://repo1.maven.org/maven2/org/apache/lucene/ by deploying the distribution to http://people.apache.org/repo/m2-ibiblio-rsync-repository/ (that is minotaur.apache.org:/www/people.apache.org/repo/m2-ibiblio-rsync-repository).  From there it will be pushed to the central Maven repositories (both Maven 1 and Maven 2) automatically in a few hours. Contact repository@apache.org if there's some problem.
> -    1. Go to the JIRA "Manage Versions" Administration page (http://issues.apache.org/jira/secure/project/ManageVersions.jspa?pid=12310110) and click Release for the version you just released.  Also add a new (unreleased) version for the next release on the trunk (for a major release) or branch (for a minor release).
> +  1. Go to the JIRA "Manage Versions" Administration page (http://issues.apache.org/jira/secure/project/ManageVersions.jspa?pid=12310110) and click Release for the version you just released.  Also add a new (unreleased) version for the next release on the trunk (for a major release) or branch (for a minor release).
> -    1. Go to JIRA and find all issues that were fixed in the release you just made, whose Status is Resolved, and do a bulk change to close all of these issues.  Uncheck the box that says "send an email for these changes".
> +  1. Go to JIRA and find all issues that were fixed in the release you just made, whose Status is Resolved, and do a bulk change to close all of these issues.  Uncheck the box that says "send an email for these changes".
> +
> -
> -
>  = See Also =
> -
>   * [[http://www.apache.org/dev/release.html|Apache Releases FAQ]]
>
>



-- 
Robert Muir
rcmuir@gmail.com

---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-dev-help@lucene.apache.org