lucene-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <wikidi...@apache.org>
Subject [Lucene-java Wiki] Update of "ReleaseTodo" by SteveRowe
Date Wed, 15 Apr 2015 21:21:05 GMT
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 SteveRowe:
https://wiki.apache.org/lucene-java/ReleaseTodo?action=diff&rev1=182&rev2=183

Comment:
Finished "Generate Backcompat Indexes" section

  
  == Generate Backcompat Indexes ==
  
- After each version of Lucene is released, compressed CFS and non-CFS indexes created with
the newly released version are added to {{{lucene/backwards-codecs/src/test/org/apache/lucene/index/}},
for use in testing backward compatibility via {{org.apache.lucene.index.TestBackwardsCompatibility}},
which is also located under the {{backwards-codecs/}} module.  These indexes are created via
methods on {{TestBackwardsCompatibility}} itself - see comments in the source for more information.
+ After each version of Lucene is released, compressed CFS and non-CFS indexes created with
the newly released version are added to {{{lucene/backwards-codecs/src/test/org/apache/lucene/index/}}},
for use in testing backward index compatibility via {{{org.apache.lucene.index.TestBackwardsCompatibility}}},
which is also located under the {{{backwards-codecs/}}} module.  These indexes are created
via methods on {{{TestBackwardsCompatibility}}} itself - see comments in the source for more
information.
  
- There is a script that automates creation of these per-release indexes, modifying {{TestBackwardsCompatibility.java}}
so that they are used properly, and then running {{TestBackwardsCompatibility}} with the new
indexes: {{dev-tools/scripts/addBackcompatIndexes.py}}.  This script should be run on the
stable branch and on trunk, and if the current release is a bugfix release, also on the release
branch.
+ There is a script ({{{dev-tools/scripts/addBackcompatIndexes.py}}}) that automates most
of the process: it downloads the source for the specified release; generates indexes for the
current release using {{{TestBackwardsCompatibility}}}; compresses the indexes and places
them in the correct place in the source tree; modifies {{{TestBackwardsCompatibility.java}}}
to include the generated indexes in the list of indexes to test; and then runs {{{TestBackwardsCompatibility}}}.
 Run this script on the stable branch and on trunk, and if the current release is a bugfix
release, also on the release branch.  On each branch, after running the script, {{{svn add}}}
the generated indexes, then {{{svn commit}}}.
  
- {{TestBackwardsCompatibility}} assumes that it will not test {{Version.LATEST}}, and will
fail if it finds indexes from this version, so make sure {{dev-tools/scripts/addVersion.py}}
has been run with the next version to be released on each of the branches - see the bullet
about adding a new version in the [[#Branching_%28_Feature_Freeze|Branching & Feature
Freeze]] section above before you run {{addBackcompatIndexes.py}}.  This will usually only
be an issue if the current release is a bugfix release (i.e. X.Y.Z, where Z>0).
+ {{{TestBackwardsCompatibility}}} will not test indexes for {{{Version.LATEST}}}, and will
fail if it finds indexes from that version, so before you run {{{addBackcompatIndexes.py}}},
make sure {{{dev-tools/scripts/addVersion.py}}} has been run with the next version to be released
on each of the branches - see item #3, about adding a new version, in the [[#Branching &
Feature Freeze|Branching & Feature Freeze]] section, above.  This will likely only be
an issue on the release branch, if the current release is a bugfix release, since {{{addVersion.py}}}
will have already been run on the stable branch and on trunk '''before''' the release process
has gotten to this point.
  
- To print the script's usage, run it with the {{{-h}}} option.
+ To print the script's usage, run it with the {{{--help}}} option: {{{python3 -u dev-tools/scripts/addBackcompatIndexes.py
--help}}}
+ 
+ The script uses a scratch directory - {{{/tmp/lucenebwc/}}} by default if you don't specify
{{{--temp-dir DIR}}} - to store the source for the current release that it downloads, along
with the generated indexes.  This directory will be removed by the script unless you specify
the {{{--no-cleanup}}} option, which is useful when running the script on multiple branches;
in the example below, the {{{--no-cleanup}}} option is included on the non-final script invocations,
but not on the final invocation, so that the scratch directory will be cleaned up after it's
no longer needed. 
  
  Here's an example for the 5.1.0 release: {{{
+ # If this were a bugfix release, e.g. 5.1.1, on the release branch we would first run addVersion.py
+ # if version 5.1.2 has not yet been added, and then addBackcompatIndexes.py:
+ #
+ #    cd /path/to/lucene/dev/branches/lucene_solr_5_1
+ #    svn up && svn stat   # Make sure there are no uncommitted changes
+ #    java7    # aliased to: export JAVA_HOME="$JAVA7_HOME" ; export PATH="$JAVA7_HOME/bin:$PATH"

+ #    ant clean
+ #    python3 -u dev-tools/scripts/addVersion.py 5.1.2  # Add the next version after the
current release
+ #    svn ci -m "Add version 5.1.2"
+ #    python3 -u dev-tools/scripts/addBackcompatIndexes.py --no-cleanup 5.1.1
+ #    svn add lucene/backward-codecs/src/test/org/apache/lucene/index/index.5.1.1-*.zip
+ #    svn stat # Look for pending mods to TestBackwardsCompatibility.java and adds of the
generated indexes
+ #    svn ci -m "Add 5.1.1 back compat test indexes"
+ #
+ # Then also execute all the commands below, substituting 5.1.1 where it says 5.1.0.
+ 
  cd /path/to/lucene/dev/branches/branch_5x
- svn up && svn stat   # Make sure no uncommitted changes
+ svn up && svn stat   # Make sure there are no uncommitted changes
- ....
+ java7     # aliased to: export JAVA_HOME="$JAVA7_HOME" ; export PATH="$JAVA7_HOME/bin:$PATH"

+ ant clean
+ python3 -u dev-tools/scripts/addBackcompatIndexes.py --no-cleanup 5.1.0
+ svn add lucene/backward-codecs/src/test/org/apache/lucene/index/index.5.1.0-*.zip
+ svn stat # Look for pending mods to TestBackwardsCompatibility.java and adds of the generated
indexes
+ svn ci -m "Add 5.1.0 back compat test indexes"
  
+ cd /path/to/lucene/dev/trunk
+ svn up && svn stat   # Make sure there are no uncommitted changes
+ java8     # aliased to: export JAVA_HOME="$JAVA8_HOME" ; export PATH="$JAVA8_HOME/bin:$PATH"

+ ant clean
+ python3 -u dev-tools/scripts/addBackcompatIndexes.py 5.1.0
+ svn add lucene/backward-codecs/src/test/org/apache/lucene/index/index.5.1.0-*.zip
+ svn stat # Look for pending mods to TestBackwardsCompatibility.java and adds of the generated
indexes
+ svn ci -m "Add 5.1.0 back compat test indexes"
  }}}
  
  == Update JIRA ==

Mime
View raw message