Address Solr Changes.html problems: 1) In solr/CHANGES.txt, add a 'Versions of Major Components' section to the 6.2.0 and 6.1.0 releases; 2) In addVersion.py: when adding a new version to solr/CHANGES.txt, add a line referring to LUCENE_CHANGES.txt, and add a 'Versions of Major Components' section with versions interpolated from ivy-versions.properties; and 3) In changes2html.pl: allow section names to have up to 6 words (to handle 'Upgrading from Solr any prior release')

This commit is contained in:
Steve Rowe 2016-06-13 20:13:14 -04:00
parent 03838732c1
commit 816b502025
3 changed files with 51 additions and 9 deletions

View File

@ -20,8 +20,10 @@ from scriptutil import *
import argparse
import re
from configparser import ConfigParser, ExtendedInterpolation
from textwrap import dedent
def update_changes(filename, new_version):
def update_changes(filename, new_version, init_changes = '(No Changes)\n\n'):
print(' adding new section to %s...' % filename, end='', flush=True)
matcher = re.compile(r'\d+\.\d+\.\d+\s+===')
def edit(buffer, match, line):
@ -30,7 +32,7 @@ def update_changes(filename, new_version):
match = new_version.previous_dot_matcher.search(line)
if match is not None:
buffer.append(line.replace(match.group(0), new_version.dot))
buffer.append('(No Changes)\n\n')
buffer.append(init_changes)
buffer.append(line)
return match is not None
@ -184,14 +186,38 @@ def read_config():
print ("branch_type is %s " % c.branch_type)
return c
# Hack ConfigParser, designed to parse INI files, to parse & interpolate Java .properties files
def parse_properties_file(filename):
contents = open(filename, encoding='ISO-8859-1').read().replace('%', '%%') # Escape interpolation metachar
parser = ConfigParser(interpolation=ExtendedInterpolation()) # Handle ${property-name} interpolation
parser.read_string("[DUMMY_SECTION]\n" + contents) # Add required section
return dict(parser.items('DUMMY_SECTION'))
def get_solr_init_changes():
return dedent('''
Consult the LUCENE_CHANGES.txt file for additional, low level, changes in this release.
Versions of Major Components
---------------------
Apache Tika %(org.apache.tika.version)s
Carrot2 %(/org.carrot2/carrot2-mini)s
Velocity %(/org.apache.velocity/velocity)s and Velocity Tools %(/org.apache.velocity/velocity-tools)s
Apache UIMA %(org.apache.uima.version)s
Apache ZooKeeper %(/org.apache.zookeeper/zookeeper)s
Jetty %(org.eclipse.jetty.version)s
(No Changes)\n\n
''' % parse_properties_file('lucene/ivy-versions.properties'))
def main():
c = read_config()
print('\nAdding new version %s' % c.version)
update_changes('lucene/CHANGES.txt', c.version)
update_changes('solr/CHANGES.txt', c.version)
add_constant(c.version, not c.matching_branch)
update_changes('solr/CHANGES.txt', c.version, get_solr_init_changes())
add_constant(c.version, not c.matching_branch)
if c.matching_branch:
print('\nUpdating latest version')

View File

@ -117,10 +117,10 @@ for (my $line_num = 0 ; $line_num <= $#lines ; ++$line_num) {
}
# Section heading: no leading whitespace, initial word capitalized,
# five words or less, and no trailing punctuation,
# six words or less, and no trailing punctuation,
# except colons - don't match the one otherwise matching
# non-section-name by excluding "StandardTokenizer"
if ( /^(?!.*StandardTokenizer)([A-Z]\S*(?:\s+\S+){0,4})(?<![-.;!()])\s*$/
if ( /^(?!.*StandardTokenizer)([A-Z]\S*(?:\s+\S+){0,5})(?<![-.;!()])\s*$/
and not $in_major_component_versions_section) {
my $heading = $1;
$heading =~ s/:$//; # Strip trailing colon, if any

View File

@ -18,8 +18,14 @@ See the Quick Start guide at http://lucene.apache.org/solr/quickstart.html
================== 6.2.0 ==================
Upgrading from Solr any prior release
----------------------
Versions of Major Components
---------------------
Apache Tika 1.7
Carrot2 3.12.0
Velocity 1.7 and Velocity Tools 2.0
Apache UIMA 2.3.1
Apache ZooKeeper 3.4.6
Jetty 9.3.8.v20160314
Detailed Change List
----------------------
@ -29,7 +35,6 @@ New Features
* SOLR-9187: Support dates and booleans in /export handler, support boolean DocValues fields
Bug Fixes
----------------------
@ -39,6 +44,17 @@ Bug Fixes
================== 6.1.0 ==================
Consult the LUCENE_CHANGES.txt file for additional, low level, changes in this release.
Versions of Major Components
---------------------
Apache Tika 1.7
Carrot2 3.12.0
Velocity 1.7 and Velocity Tools 2.0
Apache UIMA 2.3.1
Apache ZooKeeper 3.4.6
Jetty 9.3.8.v20160314
Upgrading from Solr any prior release
----------------------