You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by dw...@apache.org on 2021/03/10 10:02:49 UTC

[lucene] branch branch_6_3 created (now 8aed049)

This is an automated email from the ASF dual-hosted git repository.

dweiss pushed a change to branch branch_6_3
in repository https://gitbox.apache.org/repos/asf/lucene.git.


      at 8aed049  LUCENE-7794: buildAndPushRelease.py should run validate and documentation-lint

This branch includes the following new commits:

     new 10dbe4d  Add 6.3.0 back compat test indexes
     new 94ffce6  LUCENE-7542: Release smoker should fail when CHANGES.txt has a release section for a future release
     new 3c88514  LUCENE-7543: Make changes-to-html target an offline operation, by moving the Lucene and Solr DOAP RDF files into the Git source repository under dev-tools/doap/ and then pulling release dates from those files, rather than from JIRA.
     new 45f34c9  LUCENE-7543: Added note to dev-tools/doap/README.txt about maintaining the website .htaccess file.  Cleaned up DOAP files: added full Aapache license reference; added info about canonical URLs; dropped useles stylesheet processing instruction.
     new 8fba114  LUCENE-7543: fixed canonical URL in comment
     new e803d20  LUCENE-7543: Parse DOAP RDF files with Ant <xmlproperty> rather than Perl XML::Simple
     new d395502  LUCENE-7543: Update dev-tools/README.txt to include new dev-tools/ directories including doap/; add missing 1.4.1 and 4.9.1 release notes to Solr's CHANGES.txt; fix names of 3.6.1, 3.6.2, 4.0-ALPHA and 4.0-BETA releases in Solr's DOAP file to refer to solr instead of lucene.
     new 071f554  LUCENE-7542: Remove debug printing of parsed versions
     new 6fa26fe  LUCENE-7543: Treat product name passed into changes2html.pl case-insensitively, and validate that the product name is either 'lucene' or 'solr'
     new 74ddf78  LUCENE-7748: buildAndPushRelease.py should fail if the project DOAP files are missing releases that are less than the release being produced
     new daa52a2  LUCENE-7793: smokeTestRelease.py should run documentation-lint
     new 8aed049  LUCENE-7794: buildAndPushRelease.py should run validate and documentation-lint

The 12 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[lucene] 04/12: LUCENE-7543: Added note to dev-tools/doap/README.txt about maintaining the website .htaccess file. Cleaned up DOAP files: added full Aapache license reference; added info about canonical URLs; dropped useles stylesheet processing instruction.

Posted by dw...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

dweiss pushed a commit to branch branch_6_3
in repository https://gitbox.apache.org/repos/asf/lucene.git

commit 45f34c99dad9bc62ea4a1ab5b1ca8515801e9e48
Author: Steve Rowe <sa...@apache.org>
AuthorDate: Mon Nov 21 18:03:40 2016 -0500

    LUCENE-7543: Added note to dev-tools/doap/README.txt about maintaining the website .htaccess file.  Cleaned up DOAP files: added full Aapache license reference; added info about canonical URLs; dropped useles stylesheet processing instruction.
---
 dev-tools/doap/README.txt |  3 +++
 dev-tools/doap/lucene.rdf | 28 +++++++++++++++++++++-------
 dev-tools/doap/solr.rdf   | 28 +++++++++++++++++++++-------
 3 files changed, 45 insertions(+), 14 deletions(-)

diff --git a/dev-tools/doap/README.txt b/dev-tools/doap/README.txt
index f2a9a9c..9726d2f 100644
--- a/dev-tools/doap/README.txt
+++ b/dev-tools/doap/README.txt
@@ -2,4 +2,7 @@ This folder contains the DOAP[1] files for each project.
 
 Upon release, these files should be updated to include new release details.
 
+NOTE: If this folder's contents are moved elsewhere, the website .htaccess
+file will need to be updated.
+
 [1] DOAP: https://github.com/edumbill/doap
diff --git a/dev-tools/doap/lucene.rdf b/dev-tools/doap/lucene.rdf
index 8f70467..b6643ba 100644
--- a/dev-tools/doap/lucene.rdf
+++ b/dev-tools/doap/lucene.rdf
@@ -1,21 +1,35 @@
+<!--
+   Licensed to the Apache Software Foundation (ASF) under one
+   or more contributor license agreements.  See the NOTICE file
+   distributed with this work for additional information
+   regarding copyright ownership.  The ASF licenses this file
+   to you under the Apache License, Version 2.0 (the
+   "License"); you may not use this file except in compliance
+   with the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing,
+   software distributed under the License is distributed on an
+   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+   KIND, either express or implied.  See the License for the
+   specific language governing permissions and limitations
+   under the License.    
+-->
 <?xml version="1.0"?>
-<?xml-stylesheet type="text/xsl"?>
 <rdf:RDF xml:lang="en"
          xmlns="http://usefulinc.com/ns/doap#"
          xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
          xmlns:asfext="http://projects.apache.org/ns/asfext#"
          xmlns:foaf="http://xmlns.com/foaf/0.1/">
 <!--
-  =======================================================================
-
-   Copyright (c) 2016 The Apache Software Foundation.
-   All rights reserved.
+  This file's canonical URL is: http://lucene.apache.org/lucene/doap.rdf
 
-  =======================================================================
+  Note that the canonical URL may redirect to other non-canonical locations.
 -->
   <Project rdf:about="http://lucene.apache.org/core/">
     <created>2001-09-01</created>
-    <license rdf:resource="http://www.apache.org/licenses/LICENSE-2.0.txt"/>
+    <license rdf:resource="http://www.apache.org/licenses/LICENSE-2.0"/>
     <name>Apache Lucene Core</name>
     <homepage rdf:resource="http://lucene.apache.org/core/" />
     <asfext:pmc rdf:resource="http://lucene.apache.org" />
diff --git a/dev-tools/doap/solr.rdf b/dev-tools/doap/solr.rdf
index 1483c64..87f2463 100644
--- a/dev-tools/doap/solr.rdf
+++ b/dev-tools/doap/solr.rdf
@@ -1,21 +1,35 @@
+<!--
+   Licensed to the Apache Software Foundation (ASF) under one
+   or more contributor license agreements.  See the NOTICE file
+   distributed with this work for additional information
+   regarding copyright ownership.  The ASF licenses this file
+   to you under the Apache License, Version 2.0 (the
+   "License"); you may not use this file except in compliance
+   with the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing,
+   software distributed under the License is distributed on an
+   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+   KIND, either express or implied.  See the License for the
+   specific language governing permissions and limitations
+   under the License.    
+-->
 <?xml version="1.0"?>
-<?xml-stylesheet type="text/xsl"?>
 <rdf:RDF xml:lang="en"
          xmlns="http://usefulinc.com/ns/doap#"
          xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
          xmlns:asfext="http://projects.apache.org/ns/asfext#"
          xmlns:foaf="http://xmlns.com/foaf/0.1/">
 <!--
-  =======================================================================
-
-   Copyright (c) 2007 The Apache Software Foundation.
-   All rights reserved.
+  This file's canonical URL is: http://lucene.apache.org/solr/doap.rdf
 
-  =======================================================================
+  Note that the canonical URL may redirect to other non-canonical locations.
 -->
   <Project rdf:about="http://lucene.apache.org/solr/">
     <created>2006-01-17</created>
-    <license rdf:resource="http://www.apache.org/licenses/LICENSE-2.0.txt"/>
+    <license rdf:resource="http://www.apache.org/licenses/LICENSE-2.0"/>
     <name>Apache Solr</name>
     <homepage rdf:resource="http://lucene.apache.org/solr/" />
     <asfext:pmc rdf:resource="http://lucene.apache.org" />


[lucene] 06/12: LUCENE-7543: Parse DOAP RDF files with Ant rather than Perl XML::Simple

Posted by dw...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

dweiss pushed a commit to branch branch_6_3
in repository https://gitbox.apache.org/repos/asf/lucene.git

commit e803d20758f772c01b2c4e1dc8fa3fc2a73c0e88
Author: Steve Rowe <sa...@apache.org>
AuthorDate: Mon Nov 21 20:48:32 2016 -0500

    LUCENE-7543: Parse DOAP RDF files with Ant <xmlproperty> rather than Perl XML::Simple
---
 dev-tools/doap/lucene.rdf           |  2 +-
 dev-tools/doap/solr.rdf             |  2 +-
 lucene/common-build.xml             |  9 ++++++--
 lucene/site/changes/changes2html.pl | 44 +++++++++++++++++++++----------------
 4 files changed, 34 insertions(+), 23 deletions(-)

diff --git a/dev-tools/doap/lucene.rdf b/dev-tools/doap/lucene.rdf
index d1293a4..4fd2942 100644
--- a/dev-tools/doap/lucene.rdf
+++ b/dev-tools/doap/lucene.rdf
@@ -1,3 +1,4 @@
+<?xml version="1.0"?>
 <!--
    Licensed to the Apache Software Foundation (ASF) under one
    or more contributor license agreements.  See the NOTICE file
@@ -16,7 +17,6 @@
    specific language governing permissions and limitations
    under the License.    
 -->
-<?xml version="1.0"?>
 <rdf:RDF xml:lang="en"
          xmlns="http://usefulinc.com/ns/doap#"
          xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
diff --git a/dev-tools/doap/solr.rdf b/dev-tools/doap/solr.rdf
index 87f2463..cc729dc 100644
--- a/dev-tools/doap/solr.rdf
+++ b/dev-tools/doap/solr.rdf
@@ -1,3 +1,4 @@
+<?xml version="1.0"?>
 <!--
    Licensed to the Apache Software Foundation (ASF) under one
    or more contributor license agreements.  See the NOTICE file
@@ -16,7 +17,6 @@
    specific language governing permissions and limitations
    under the License.    
 -->
-<?xml version="1.0"?>
 <rdf:RDF xml:lang="en"
          xmlns="http://usefulinc.com/ns/doap#"
          xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
diff --git a/lucene/common-build.xml b/lucene/common-build.xml
index 3dd4cf8..2c83669 100644
--- a/lucene/common-build.xml
+++ b/lucene/common-build.xml
@@ -2503,21 +2503,26 @@ ${ant.project.name}.test.dependencies=${test.classpath.list}
    -->
   <macrodef name="build-changes">
     <attribute name="changes.product"/>
+    <attribute name="doap.property.prefix" default="doap.@{changes.product}"/>
     <attribute name="changes.src.file" default="CHANGES.txt"/>
     <attribute name="changes.src.doap" default="${dev-tools.dir}/doap/@{changes.product}.rdf"/>
+    <attribute name="changes.version.dates" default="build/@{doap.property.prefix}.version.dates.csv"/>
     <attribute name="changes.target.dir" default="${changes.target.dir}"/>
     <attribute name="lucene.javadoc.url" default="${lucene.javadoc.url}"/>
     <sequential>
       <mkdir dir="@{changes.target.dir}"/>
+      <xmlproperty keeproot="false" file="@{changes.src.doap}" collapseAttributes="false" prefix="@{doap.property.prefix}"/>
+      <echo file="@{changes.version.dates}" append="false">${@{doap.property.prefix}.Project.release.Version.revision}&#xA;</echo>
+      <echo file="@{changes.version.dates}" append="true">${@{doap.property.prefix}.Project.release.Version.created}&#xA;</echo>
       <exec executable="${perl.exe}" input="@{changes.src.file}" output="@{changes.target.dir}/Changes.html"
             failonerror="true" logError="true">
         <arg value="-CSD"/>
         <arg value="${changes.src.dir}/changes2html.pl"/>
         <arg value="@{changes.product}"/>
-        <arg value="@{changes.src.doap}"/>
+        <arg value="@{changes.version.dates}"/>
         <arg value="@{lucene.javadoc.url}"/>
       </exec>
-      <delete file="@{changes.target.dir}/jiraVersionList.json"/>
+      <delete file="@{changes.version.dates}"/>
       <copy todir="@{changes.target.dir}">
         <fileset dir="${changes.src.dir}" includes="*.css"/>
       </copy>
diff --git a/lucene/site/changes/changes2html.pl b/lucene/site/changes/changes2html.pl
index b3f8fdb..11a0fab 100755
--- a/lucene/site/changes/changes2html.pl
+++ b/lucene/site/changes/changes2html.pl
@@ -23,7 +23,6 @@
 
 use strict;
 use warnings;
-use XML::Simple;
 
 my $jira_url_prefix = 'http://issues.apache.org/jira/browse/';
 my $github_pull_request_prefix = 'https://github.com/apache/lucene-solr/pull/';
@@ -823,26 +822,33 @@ sub get_release_date {
 # Pulls release dates from the project DOAP file.
 #
 sub setup_release_dates {
-  my %release_dates;
+  my %release_dates = ();
   my $file = shift;
-
-  my $project_info = XMLin($file)->{Project};
-  my $version;
+print STDERR "file: $file\n";
+  open(FILE, "<$file") || die "could not open $file: $!";
+  my $version_list = <FILE>;
+  my $created_list = <FILE>;
+  close(FILE);
+
+  $version_list =~ s/^\s+|\s+$//g;
+  my @versions = split /\s*,\s*/, $version_list;
+  $created_list =~ s/^\s+|\s+$//g;
+  my @created = split /\s*,\s*/, $created_list; 
+
+  if (scalar(@versions) != scalar(@created)) {
+    die $file . " contains" . scalar(@versions) . " versions but " . scalar(@created) . " creation dates.";
+  }
   my $date;
-  for my $release (@{$project_info->{release}}) {
-    $version = $release->{Version};
-    if ($version->{created}) {
-      $date = normalize_date($version->{created});
-      my $version_name = $version->{revision};
-      $release_dates{$version->{revision}} = $date;
-      if ($version_name =~ /^([1-9]\d*\.\d+)([^.0-9].*|$)/) {
-        my $padded_version_name = "$1.0$2";             # Alias w/trailing ".0"
-        $release_dates{$padded_version_name} = $date;
-      } elsif ($version_name =~ /\.0(?=[^.0-9]|$)/) {
-        my $trimmed_version_name = $version_name;
-        $trimmed_version_name =~ s/\.0(?=[^.0-9]|$)//;  # Alias w/o trailing ".0"
-        $release_dates{$trimmed_version_name} = $date;
-      }
+  for my $pos (0..$#versions) {
+    $date = normalize_date($created[$pos]);
+    $release_dates{$versions[$pos]} = $date;
+    if ($versions[$pos] =~ /^([1-9]\d*\.\d+)([^.0-9].*|$)/) {
+      my $padded_version_name = "$1.0$2";             # Alias w/trailing ".0"
+      $release_dates{$padded_version_name} = $date;
+    } elsif ($versions[$pos] =~ /\.0(?=[^.0-9]|$)/) {
+      my $trimmed_version_name = $versions[$pos];
+      $trimmed_version_name =~ s/\.0(?=[^.0-9]|$)//;  # Alias w/o trailing ".0"
+      $release_dates{$trimmed_version_name} = $date;
     }
   }
   return %release_dates;


[lucene] 07/12: LUCENE-7543: Update dev-tools/README.txt to include new dev-tools/ directories including doap/; add missing 1.4.1 and 4.9.1 release notes to Solr's CHANGES.txt; fix names of 3.6.1, 3.6.2, 4.0-ALPHA and 4.0-BETA releases in Solr's DOAP file to refer to solr instead of lucene.

Posted by dw...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

dweiss pushed a commit to branch branch_6_3
in repository https://gitbox.apache.org/repos/asf/lucene.git

commit d39550245fdf647caf5322b1b8e16a11d14660da
Author: Steve Rowe <sa...@apache.org>
AuthorDate: Tue Nov 22 11:55:00 2016 -0500

    LUCENE-7543: Update dev-tools/README.txt to include new dev-tools/ directories including doap/; add missing 1.4.1 and 4.9.1 release notes to Solr's CHANGES.txt; fix names of 3.6.1, 3.6.2, 4.0-ALPHA and 4.0-BETA releases in Solr's DOAP file to refer to solr instead of lucene.
---
 dev-tools/README.txt    |  11 ++--
 dev-tools/doap/solr.rdf |   8 +--
 solr/CHANGES.txt        | 141 ++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 152 insertions(+), 8 deletions(-)

diff --git a/dev-tools/README.txt b/dev-tools/README.txt
index 0bce328..404ce8b 100644
--- a/dev-tools/README.txt
+++ b/dev-tools/README.txt
@@ -6,7 +6,10 @@ as to the usefulness of the tools.
 Description of dev-tools/ contents:
 
 ./size-estimator-lucene-solr.xls -- Spreadsheet for estimating memory and disk usage in Lucene/Solr
-./eclipse -- Used to generate project descriptors for the Eclipse IDE.
-./idea -- Similar to Eclipse, but for IntelliJ's IDEA IDE.
-./maven -- Mavenizes the Lucene/Solr packages
-./scripts -- Odds and ends for building releases, etc.
+./doap/     -- Lucene and Solr project descriptors in DOAP RDF format.
+./eclipse/  -- Used to generate project descriptors for the Eclipse IDE.
+./git/      -- Git documentation and resources.
+./idea/     -- Used to generate project descriptors for IntelliJ's IDEA IDE.
+./maven/    -- Mavenizes the Lucene/Solr packages
+./netbeans/ -- Used to generate project descriptors for the Netbeans IDE.
+./scripts/  -- Odds and ends for building releases, etc.
diff --git a/dev-tools/doap/solr.rdf b/dev-tools/doap/solr.rdf
index cc729dc..95a792d 100644
--- a/dev-tools/doap/solr.rdf
+++ b/dev-tools/doap/solr.rdf
@@ -362,28 +362,28 @@
     </release>
     <release>
       <Version>
-        <name>lucene-4.0-BETA</name>
+        <name>solr-4.0-BETA</name>
         <created>2012-08-13</created>
         <revision>4.0-BETA</revision>
       </Version>
     </release>
     <release>
       <Version>
-        <name>lucene-4.0-ALPHA</name>
+        <name>solr-4.0-ALPHA</name>
         <created>2012-07-03</created>
         <revision>4.0-ALPHA</revision>
       </Version>
     </release>
     <release>
       <Version>
-        <name>lucene-3.6.2</name>
+        <name>solr-3.6.2</name>
         <created>2012-12-25</created>
         <revision>3.6.2</revision>
       </Version>
     </release>
     <release>
       <Version>
-        <name>lucene-3.6.1</name>
+        <name>solr-3.6.1</name>
         <created>2012-07-22</created>
         <revision>3.6.1</revision>
       </Version>
diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt
index 7d19b99..b2875e9 100644
--- a/solr/CHANGES.txt
+++ b/solr/CHANGES.txt
@@ -5307,6 +5307,31 @@ Other Changes
 * SOLR-6391: Improve message for CREATECOLLECTION failure due to missing
   numShards (Anshum Gupta)
 
+==================  4.9.1 ==================
+
+Versions of Major Components
+---------------------
+Apache Tika 1.5 (with upgraded Apache POI 3.10.1)
+Carrot2 3.9.0
+Velocity 1.7 and Velocity Tools 2.0
+Apache UIMA 2.3.1
+Apache ZooKeeper 3.4.6
+
+Detailed Change List
+----------------------
+
+Other Changes
+---------------------
+
+* SOLR-6503: Removed support for parsing netcdf files in Solr Cell because
+  of license issues. If you need support for this format, download the parser
+  JAR yourself (version 4.2) and add it to contrib/extraction/lib folder:
+  http://www.unidata.ucar.edu/software/thredds/current/netcdf-java/
+  (Uwe Schindler)
+
+* SOLR-6388: Force upgrade of Apache POI dependency in Solr Cell to version
+  3.10.1 to fix CVE-2014-3529 and CVE-2014-3574.  (Uwe Schindler)
+
 ==================  4.9.0 ==================
 
 Versions of Major Components
@@ -11694,6 +11719,122 @@ Documentation
 * SOLR-1792: Documented peculiar behavior of TestHarness.LocalRequestFactory
   (hossman)
 
+================== Release 1.4.1 ==================
+Release Date:  See http://lucene.apache.org/solr for the official release date.
+
+Upgrading from Solr 1.4
+-----------------------
+
+This is a bug fix release - no changes are required when upgrading from Solr 1.4.
+However, a reindex is needed for some of the analysis fixes to take effect.
+
+Versions of Major Components
+----------------------------
+Apache Lucene 2.9.3
+Apache Tika 0.4
+Carrot2 3.1.0
+
+Lucene Information
+----------------
+
+Since Solr is built on top of Lucene, many people add customizations to Solr
+that are dependent on Lucene.  Please see http://lucene.apache.org/java/2_9_3/,
+especially http://lucene.apache.org/java/2_9_3/changes/Changes.html for more
+information on the version of Lucene used in Solr.
+
+Bug Fixes
+----------------------
+
+* SOLR-1934: Upgrade to Apache Lucene 2.9.3 to obtain several bug
+  fixes from the previous 2.9.1.  See the Lucene 2.9.3 release notes
+  for details.  (hossman, Mark Miller)
+
+* SOLR-1432: Make the new ValueSource.getValues(context,reader) delegate
+  to the original ValueSource.getValues(reader) so custom sources
+  will work. (yonik)
+
+* SOLR-1572: FastLRUCache correctly implemented the LRU policy only
+  for the first 2B accesses. (yonik)
+
+* SOLR-1595: StreamingUpdateSolrServer used the platform default character
+  set when streaming updates, rather than using UTF-8 as the HTTP headers
+  indicated, leading to an encoding mismatch. (hossman, yonik)
+
+* SOLR-1660: CapitalizationFilter crashes if you use the maxWordCountOption
+  (Robert Muir via shalin)
+
+* SOLR-1662: Added Javadocs in BufferedTokenStream and fixed incorrect cloning
+  in TestBufferedTokenStream (Robert Muir, Uwe Schindler via shalin)
+
+* SOLR-1711: SolrJ - StreamingUpdateSolrServer had a race condition that
+  could halt the streaming of documents. The original patch to fix this
+  (never officially released) introduced another hanging bug due to
+  connections not being released.  (Attila Babo, Erik Hetzner via yonik)
+
+* SOLR-1748, SOLR-1747, SOLR-1746, SOLR-1745, SOLR-1744: Streams and Readers
+  retrieved from ContentStreams are not closed in various places, resulting
+  in file descriptor leaks.
+  (Christoff Brill, Mark Miller)
+
+* SOLR-1580: Solr Configuration ignores 'mergeFactor' parameter, always
+  uses Lucene default. (Lance Norskog via Mark Miller)
+
+* SOLR-1777: fieldTypes with sortMissingLast=true or sortMissingFirst=true can
+  result in incorrectly sorted results.  (yonik)
+
+* SOLR-1797: fix ConcurrentModificationException and potential memory
+  leaks in ResourceLoader. (yonik)
+
+* SOLR-1798: Small memory leak (~100 bytes) in fastLRUCache for every
+  commit. (yonik)
+
+* SOLR-1522: Show proper message if <script> tag is missing for DIH
+  ScriptTransformer (noble)
+
+* SOLR-1538: Reordering of object allocations in ConcurrentLRUCache to eliminate
+  (an extremely small) potential for deadlock.
+  (gabriele renzi via hossman)
+
+* SOLR-1558: QueryElevationComponent only works if the uniqueKey field is
+  implemented using StrField.  In previous versions of Solr no warning or
+  error would be generated if you attempted to use QueryElevationComponent,
+  it would just fail in unexpected ways.  This has been changed so that it
+  will fail with a clear error message on initialization. (hossman)
+
+* SOLR-1563: Binary fields, including trie-based numeric fields, caused null
+  pointer exceptions in the luke request handler. (yonik)
+
+* SOLR-1579: Fixes to XML escaping in stats.jsp
+  (David Bowen and hossman)
+
+* SOLR-1582: copyField was ignored for BinaryField types (gsingers)
+
+* SOLR-1596: A rollback operation followed by the shutdown of Solr
+  or the close of a core resulted in a warning:
+  "SEVERE: SolrIndexWriter was not closed prior to finalize()" although
+  there were no other consequences. (yonik)
+
+* SOLR-1651: Fixed Incorrect dataimport handler package name in SolrResourceLoader
+  (Akshay Ukey via shalin)
+
+* SOLR-1936: The JSON response format needed to escape unicode code point
+  U+2028 - 'LINE SEPARATOR' (Robert Hofstra, yonik)
+
+* SOLR-1852: Fix WordDelimiterFilterFactory bug where position increments
+  were not being applied properly to subwords.  (Peter Wolanin via Robert Muir)
+
+* SOLR-1706: fixed WordDelimiterFilter for certain combinations of options
+  where it would output incorrect tokens. (Robert Muir, Chris Male)
+
+* SOLR-1948: PatternTokenizerFactory should use parent's args (koji)
+
+* SOLR-1870: Indexing documents using the 'javabin' format no longer
+  fails with a ClassCastException whenSolrInputDocuments contain field
+  values which are Collections or other classes that implement
+  Iterable. (noble, hossman)
+
+* SOLR-1769 Solr 1.4 Replication - Repeater throwing NullPointerException (noble)
+
 ================== Release 1.4.0 ==================
 Release Date:  See http://lucene.apache.org/solr for the official release date.
 


[lucene] 11/12: LUCENE-7793: smokeTestRelease.py should run documentation-lint

Posted by dw...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

dweiss pushed a commit to branch branch_6_3
in repository https://gitbox.apache.org/repos/asf/lucene.git

commit daa52a2f5137aa8514ad9986920ba423d23ff6b1
Author: Steve Rowe <sa...@apache.org>
AuthorDate: Fri Apr 28 09:58:02 2017 -0400

    LUCENE-7793: smokeTestRelease.py should run documentation-lint
---
 dev-tools/scripts/smokeTestRelease.py | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/dev-tools/scripts/smokeTestRelease.py b/dev-tools/scripts/smokeTestRelease.py
index 83746de..6282226 100644
--- a/dev-tools/scripts/smokeTestRelease.py
+++ b/dev-tools/scripts/smokeTestRelease.py
@@ -707,8 +707,10 @@ def verifyUnpacked(java, project, artifact, unpackPath, gitRevision, version, te
         print('      %s' % line.strip())
       raise RuntimeError('source release has WARs...')
 
-    print('    run "ant validate"')
-    java.run_java8('ant validate', '%s/validate.log' % unpackPath)
+    # Can't run documentation-lint in lucene src, because dev-tools is missing
+    validateCmd = 'ant validate' if project == 'lucene' else 'ant validate documentation-lint';
+    print('    run "%s"' % validateCmd)
+    java.run_java8(validateCmd, '%s/validate.log' % unpackPath)
 
     if project == 'lucene':
       print("    run tests w/ Java 8 and testArgs='%s'..." % testArgs)


[lucene] 08/12: LUCENE-7542: Remove debug printing of parsed versions

Posted by dw...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

dweiss pushed a commit to branch branch_6_3
in repository https://gitbox.apache.org/repos/asf/lucene.git

commit 071f554e8a9f269a701f926e6beeaffcd60b82fc
Author: Steve Rowe <sa...@apache.org>
AuthorDate: Wed Nov 30 14:04:58 2016 -0500

    LUCENE-7542: Remove debug printing of parsed versions
---
 dev-tools/scripts/smokeTestRelease.py | 1 -
 1 file changed, 1 deletion(-)

diff --git a/dev-tools/scripts/smokeTestRelease.py b/dev-tools/scripts/smokeTestRelease.py
index 3def8fc..83746de 100644
--- a/dev-tools/scripts/smokeTestRelease.py
+++ b/dev-tools/scripts/smokeTestRelease.py
@@ -497,7 +497,6 @@ def versionToTuple(version, name):
     versionTuple = versionTuple[:-2] + ('100',)
   elif versionTuple[-1].lower()[:2] == 'rc':
     versionTuple = versionTuple[:-2] + (versionTuple[-1][2:],)
-  print('%s: %s' % (version, versionTuple))
   return versionTuple
 
 


[lucene] 03/12: LUCENE-7543: Make changes-to-html target an offline operation, by moving the Lucene and Solr DOAP RDF files into the Git source repository under dev-tools/doap/ and then pulling release dates from those files, rather than from JIRA.

Posted by dw...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

dweiss pushed a commit to branch branch_6_3
in repository https://gitbox.apache.org/repos/asf/lucene.git

commit 3c885149db7a71572ffd5ff296d08dd38180f593
Author: Steve Rowe <sa...@apache.org>
AuthorDate: Mon Nov 21 16:47:40 2016 -0500

    LUCENE-7543: Make changes-to-html target an offline operation, by moving the Lucene and Solr DOAP RDF files into the Git source repository under dev-tools/doap/ and then pulling release dates from those files, rather than from JIRA.
---
 dev-tools/doap/README.txt           |   5 +
 dev-tools/doap/lucene.rdf           | 707 ++++++++++++++++++++++++++++++++++++
 dev-tools/doap/solr.rdf             | 455 +++++++++++++++++++++++
 lucene/CHANGES.txt                  |   9 +
 lucene/build.xml                    |   5 +-
 lucene/common-build.xml             |   5 +-
 lucene/site/changes/changes2html.pl |  96 ++---
 solr/build.xml                      |   4 +-
 8 files changed, 1212 insertions(+), 74 deletions(-)

diff --git a/dev-tools/doap/README.txt b/dev-tools/doap/README.txt
new file mode 100644
index 0000000..f2a9a9c
--- /dev/null
+++ b/dev-tools/doap/README.txt
@@ -0,0 +1,5 @@
+This folder contains the DOAP[1] files for each project.
+
+Upon release, these files should be updated to include new release details.
+
+[1] DOAP: https://github.com/edumbill/doap
diff --git a/dev-tools/doap/lucene.rdf b/dev-tools/doap/lucene.rdf
new file mode 100644
index 0000000..8f70467
--- /dev/null
+++ b/dev-tools/doap/lucene.rdf
@@ -0,0 +1,707 @@
+<?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl"?>
+<rdf:RDF xml:lang="en"
+         xmlns="http://usefulinc.com/ns/doap#"
+         xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+         xmlns:asfext="http://projects.apache.org/ns/asfext#"
+         xmlns:foaf="http://xmlns.com/foaf/0.1/">
+<!--
+  =======================================================================
+
+   Copyright (c) 2016 The Apache Software Foundation.
+   All rights reserved.
+
+  =======================================================================
+-->
+  <Project rdf:about="http://lucene.apache.org/core/">
+    <created>2001-09-01</created>
+    <license rdf:resource="http://www.apache.org/licenses/LICENSE-2.0.txt"/>
+    <name>Apache Lucene Core</name>
+    <homepage rdf:resource="http://lucene.apache.org/core/" />
+    <asfext:pmc rdf:resource="http://lucene.apache.org" />
+
+    <shortdesc>Apache Lucene is a high-performance, full-featured text search engine library</shortdesc>
+    <description>Apache Lucene is a high-performance, full-featured text search engine library written entirely in Java. It is a technology suitable for nearly any application that requires full-text search, especially cross-platform.
+    </description>
+    <bug-database rdf:resource="http://issues.apache.org/jira/browse/LUCENE" />
+    <mailing-list rdf:resource="http://lucene.apache.org/core/discussion.html" />
+    <download-page rdf:resource="http://lucene.apache.org/core/downloads.html" />
+    <programming-language>Java</programming-language>
+
+    <!--
+        The ASF has a finite set of categories projects should use,
+        but the list does grow occasionally, and we should keep an eye
+        on it and adjust which ones we list as appropriate.
+    -->
+    <category rdf:resource="http://projects.apache.org/category/database" />
+    <category rdf:resource="http://projects.apache.org/category/library" />
+    <category rdf:resource="http://projects.apache.org/category/search" />
+
+    <wiki rdf:resource="http://wiki.apache.org/lucene-java/"/>
+
+    <repository>
+      <GitRepository>
+        <location rdf:resource="https://git-wip-us.apache.org/repos/asf/lucene-solr.git"/>
+      </GitRepository>
+    </repository>
+
+    <maintainer>
+      <foaf:Person>
+        <foaf:name>Apache Lucene Team</foaf:name>
+        <foaf:mbox rdf:resource="mailto:dev@lucene.apache.org"/>
+      </foaf:Person>
+    </maintainer>
+
+    <release>
+      <Version>
+        <name>lucene-6.3.0</name>
+        <created>2016-11-08</created>
+        <revision>6.3.0</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-6.2.1</name>
+        <created>2016-09-20</created>
+        <revision>6.2.1</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-6.2.0</name>
+        <created>2016-08-25</created>
+        <revision>6.2.0</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-6.1.0</name>
+        <created>2016-06-17</created>
+        <revision>6.1.0</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-6.0.1</name>
+        <created>2016-05-28</created>
+        <revision>6.0.1</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-6.0.0</name>
+        <created>2016-04-08</created>
+        <revision>6.0.0</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-5.5.3</name>
+        <created>2016-09-09</created>
+        <revision>5.5.3</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-5.5.2</name>
+        <created>2016-06-25</created>
+        <revision>5.5.2</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-5.5.1</name>
+        <created>2016-05-05</created>
+        <revision>5.5.1</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-5.5.0</name>
+        <created>2016-02-22</created>
+        <revision>5.5.0</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-5.4.1</name>
+        <created>2016-01-23</created>
+        <revision>5.4.1</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-5.4.0</name>
+        <created>2015-12-14</created>
+        <revision>5.4.0</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-5.3.2</name>
+        <created>2016-01-23</created>
+        <revision>5.3.2</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-5.3.1</name>
+        <created>2015-09-24</created>
+        <revision>5.3.1</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-5.3.0</name>
+        <created>2015-08-21</created>
+        <revision>5.3.0</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-5.2.1</name>
+        <created>2015-06-15</created>
+        <revision>5.2.1</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-5.2.0</name>
+        <created>2015-06-07</created>
+        <revision>5.2.0</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-5.1.0</name>
+        <created>2015-04-14</created>
+        <revision>5.1.0</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-5.0.0</name>
+        <created>2015-02-20</created>
+        <revision>5.0.0</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-4.10.4</name>
+        <created>2015-03-03</created>
+        <revision>4.10.4</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-4.10.3</name>
+        <created>2014-12-29</created>
+        <revision>4.10.3</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-4.10.2</name>
+        <created>2014-10-31</created>
+        <revision>4.10.2</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-4.10.1</name>
+        <created>2014-09-29</created>
+        <revision>4.10.1</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-4.10.0</name>
+        <created>2014-09-03</created>
+        <revision>4.10.0</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-4.9.1</name>
+        <created>2014-09-22</created>
+        <revision>4.9.1</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-4.9.0</name>
+        <created>2014-06-25</created>
+        <revision>4.9.0</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-4.8.1</name>
+        <created>2014-05-20</created>
+        <revision>4.8.1</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-4.8.0</name>
+        <created>2014-04-28</created>
+        <revision>4.8.0</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-4.7.2</name>
+        <created>2014-04-15</created>
+        <revision>4.7.2</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-4.7.1</name>
+        <created>2014-04-02</created>
+        <revision>4.7.1</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-4.7.0</name>
+        <created>2014-02-26</created>
+        <revision>4.7.0</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-4.6.1</name>
+        <created>2014-01-28</created>
+        <revision>4.6.1</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-4.6.0</name>
+        <created>2013-11-22</created>
+        <revision>4.6.0</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-4.5.1</name>
+        <created>2013-10-24</created>
+        <revision>4.5.1</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-4.5</name>
+        <created>2013-10-05</created>
+        <revision>4.5</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-4.4</name>
+        <created>2013-07-23</created>
+        <revision>4.4</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-4.3.1</name>
+        <created>2013-06-18</created>
+        <revision>4.3.1</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-4.3</name>
+        <created>2013-05-06</created>
+        <revision>4.3</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-4.2.1</name>
+        <created>2013-04-03</created>
+        <revision>4.2.1</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-4.2</name>
+        <created>2013-03-11</created>
+        <revision>4.2</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-4.1</name>
+        <created>2013-01-22</created>
+        <revision>4.1</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-4.0</name>
+        <created>2012-10-12</created>
+        <revision>4.0</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-4.0-BETA</name>
+        <created>2012-08-13</created>
+        <revision>4.0-BETA</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-4.0-ALPHA</name>
+        <created>2012-07-03</created>
+        <revision>4.0-ALPHA</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-3.6.2</name>
+        <created>2012-12-25</created>
+        <revision>3.6.2</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-3.6.1</name>
+        <created>2012-07-22</created>
+        <revision>3.6.1</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-3.6</name>
+        <created>2012-04-12</created>
+        <revision>3.6</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-3.5</name>
+        <created>2011-11-11</created>
+        <revision>3.5</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-3.4</name>
+        <created>2011-09-15</created>
+        <revision>3.4</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-3.3</name>
+        <created>2011-07-10</created>
+        <revision>3.3</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-3.2</name>
+        <created>2011-06-03</created>
+        <revision>3.2</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-3.1</name>
+        <created>2011-03-31</created>
+        <revision>3.1</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-3.0.3</name>
+        <created>2010-12-03</created>
+        <revision>3.0.3</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-3.0.2</name>
+        <created>2010-06-18</created>
+        <revision>3.0.2</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-3.0.1</name>
+        <created>2010-02-26</created>
+        <revision>3.0.1</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-3.0</name>
+        <created>2009-11-25</created>
+        <revision>3.0</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-2.9.4</name>
+        <created>2010-12-03</created>
+        <revision>2.9.4</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-2.9.3</name>
+        <created>2010-06-18</created>
+        <revision>2.9.3</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-2.9.2</name>
+        <created>2010-02-26</created>
+        <revision>2.9.2</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-2.9.1</name>
+        <created>2009-11-06</created>
+        <revision>2.9.1</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-2.9</name>
+        <created>2009-09-25</created>
+        <revision>2.9</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-2.4.1</name>
+        <created>2009-03-09</created>
+        <revision>2.4.1</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-2.4</name>
+        <created>2008-10-08</created>
+        <revision>2.4</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-2.3.2</name>
+        <created>2008-05-06</created>
+        <revision>2.3.2</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-2.3.1</name>
+        <created>2008-02-22</created>
+        <revision>2.3.1</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-2.3</name>
+        <created>2008-01-23</created>
+        <revision>2.3</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-2.2</name>
+        <created>2007-06-19</created>
+        <revision>2.2</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-2.1</name>
+        <created>2007-02-17</created>
+        <revision>2.1</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-2.0.0</name>
+        <created>2006-05-26</created>
+        <revision>2.0.0</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-1.9.1</name>
+        <created>2006-03-02</created>
+        <revision>1.9.1</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-1.9-final</name>
+        <created>2006-02-27</created>
+        <revision>1.9 final</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-1.9-rc1</name>
+        <created>2006-02-21</created>
+        <revision>1.9 RC1</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-1.4.3</name>
+        <created>2004-12-07</created>
+        <revision>1.4.3</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-1.4.2</name>
+        <created>2004-10-01</created>
+        <revision>1.4.2</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-1.4.1</name>
+        <created>2004-08-02</created>
+        <revision>1.4.1</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-1.4-final</name>
+        <created>2004-07-01</created>
+        <revision>1.4 final</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-1.4-rc3</name>
+        <created>2004-05-11</created>
+        <revision>1.4 RC3</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-1.4-rc2</name>
+        <created>2004-03-30</created>
+        <revision>1.4 RC2</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-1.4-rc1</name>
+        <created>2004-03-29</created>
+        <revision>1.4 RC1</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-1.3-final</name>
+        <created>2003-12-26</created>
+        <revision>1.3 final</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-1.3-rc3</name>
+        <created>2003-11-25</created>
+        <revision>1.3 RC3</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-1.3-rc2</name>
+        <created>2003-10-22</created>
+        <revision>1.3 RC2</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-1.3-rc1</name>
+        <created>2003-03-24</created>
+        <revision>1.3 RC1</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-1.2-final</name>
+        <created>2002-06-13</created>
+        <revision>1.2 final</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-1.2-rc5</name>
+        <created>2002-05-14</created>
+        <revision>1.2 RC5</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-1.2-rc4</name>
+        <created>2002-02-14</created>
+        <revision>1.2 RC4</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-1.2-rc3</name>
+        <created>2002-01-27</created>
+        <revision>1.2 RC3</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-1.2-rc2</name>
+        <created>2001-10-19</created>
+        <revision>1.2 RC2</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-1.2-rc1</name>
+        <created>2001-10-02</created>
+        <revision>1.2 RC1</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-1.01b</name>
+        <created>2001-06-02</created>
+        <revision>1.01b</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-1.0</name>
+        <created>2000-10-04</created>
+        <revision>1.0</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-0.04</name>
+        <created>2000-04-19</created>
+        <revision>0.04</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-0.01</name>
+        <created>2000-03-30</created>
+        <revision>0.01</revision>
+      </Version>
+    </release>
+  </Project>
+</rdf:RDF>
diff --git a/dev-tools/doap/solr.rdf b/dev-tools/doap/solr.rdf
new file mode 100644
index 0000000..1483c64
--- /dev/null
+++ b/dev-tools/doap/solr.rdf
@@ -0,0 +1,455 @@
+<?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl"?>
+<rdf:RDF xml:lang="en"
+         xmlns="http://usefulinc.com/ns/doap#"
+         xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+         xmlns:asfext="http://projects.apache.org/ns/asfext#"
+         xmlns:foaf="http://xmlns.com/foaf/0.1/">
+<!--
+  =======================================================================
+
+   Copyright (c) 2007 The Apache Software Foundation.
+   All rights reserved.
+
+  =======================================================================
+-->
+  <Project rdf:about="http://lucene.apache.org/solr/">
+    <created>2006-01-17</created>
+    <license rdf:resource="http://www.apache.org/licenses/LICENSE-2.0.txt"/>
+    <name>Apache Solr</name>
+    <homepage rdf:resource="http://lucene.apache.org/solr/" />
+    <asfext:pmc rdf:resource="http://lucene.apache.org" />
+
+    <shortdesc>Solr is a full-text search server</shortdesc>
+    <description>Solr is an open source enterprise search server based on the Lucene Java search library, with XML/HTTP and JSON, Ruby, and Python APIs, hit highlighting, faceted search, caching, replication, and a web administration interface.
+    </description>
+    <bug-database rdf:resource="http://issues.apache.org/jira/browse/SOLR" />
+    <mailing-list rdf:resource="http://lucene.apache.org/solr/discussion.html" />
+    <download-page rdf:resource="http://lucene.apache.org/solr/downloads.html" />
+    <programming-language>Java</programming-language>
+
+    <!--
+        The ASF has a finite set of categories projects should use,
+        but the list does grow occasionally, and we should keep an eye
+        on it and adjust which ones we list as appropriate.
+    -->
+    <category rdf:resource="http://projects.apache.org/category/web-framework" />
+    <category rdf:resource="http://projects.apache.org/category/network-server" />
+    <category rdf:resource="http://projects.apache.org/category/search" />
+
+    <wiki rdf:resource="http://wiki.apache.org/solr/"/>
+
+    <repository>
+      <GitRepository>
+        <location rdf:resource="https://git-wip-us.apache.org/repos/asf/lucene-solr.git"/>
+      </GitRepository>
+    </repository>
+
+    <maintainer>
+      <foaf:Person>
+        <foaf:name>Apache Solr Team</foaf:name>
+        <foaf:mbox rdf:resource="mailto:dev@lucene.apache.org"/>
+      </foaf:Person>
+    </maintainer>
+    
+    <release>
+      <Version>
+        <name>solr-6.3.0</name>
+        <created>2016-11-08</created>
+        <revision>6.3.0</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>solr-6.2.1</name>
+        <created>2016-09-20</created>
+        <revision>6.2.1</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>solr-6.2.0</name>
+        <created>2016-08-25</created>
+        <revision>6.2.0</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>solr-6.1.0</name>
+        <created>2016-06-17</created>
+        <revision>6.1.0</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>solr-6.0.1</name>
+        <created>2016-05-28</created>
+        <revision>6.0.1</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>solr-6.0.0</name>
+        <created>2016-04-08</created>
+        <revision>6.0.0</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>solr-5.5.3</name>
+        <created>2016-09-09</created>
+        <revision>5.5.3</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>solr-5.5.2</name>
+        <created>2016-06-25</created>
+        <revision>5.5.2</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>solr-5.5.1</name>
+        <created>2016-05-05</created>
+        <revision>5.5.1</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>solr-5.5.0</name>
+        <created>2016-02-22</created>
+        <revision>5.5.0</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>solr-5.4.1</name>
+        <created>2016-01-23</created>
+        <revision>5.4.1</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>solr-5.4.0</name>
+        <created>2015-12-14</created>
+        <revision>5.4.0</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>solr-5.3.2</name>
+        <created>2016-01-23</created>
+        <revision>5.3.2</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>solr-5.3.1</name>
+        <created>2015-09-24</created>
+        <revision>5.3.1</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>solr-5.3.0</name>
+        <created>2015-08-21</created>
+        <revision>5.3.0</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>solr-5.2.1</name>
+        <created>2015-06-15</created>
+        <revision>5.2.1</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>solr-5.2.0</name>
+        <created>2015-06-07</created>
+        <revision>5.2.0</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>solr-5.1.0</name>
+        <created>2015-04-14</created>
+        <revision>5.1.0</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>solr-5.0.0</name>
+        <created>2015-02-20</created>
+        <revision>5.0.0</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>solr-4.10.4</name>
+        <created>2015-03-03</created>
+        <revision>4.10.4</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>solr-4.10.3</name>
+        <created>2014-12-29</created>
+        <revision>4.10.3</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>solr-4.10.2</name>
+        <created>2014-10-31</created>
+        <revision>4.10.2</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>solr-4.10.1</name>
+        <created>2014-09-29</created>
+        <revision>4.10.1</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>solr-4.10.0</name>
+        <created>2014-09-03</created>
+        <revision>4.10.0</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>solr-4.9.1</name>
+        <created>2014-09-22</created>
+        <revision>4.9.1</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>solr-4.9.0</name>
+        <created>2014-06-25</created>
+        <revision>4.9.0</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>solr-4.8.1</name>
+        <created>2014-05-20</created>
+        <revision>4.8.1</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>solr-4.8.0</name>
+        <created>2014-04-28</created>
+        <revision>4.8.0</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>solr-4.7.2</name>
+        <created>2014-04-15</created>
+        <revision>4.7.2</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>solr-4.7.1</name>
+        <created>2014-02-26</created>
+        <revision>4.7.1</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>solr-4.7.0</name>
+        <created>2014-02-26</created>
+        <revision>4.7.0</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>solr-4.6.1</name>
+        <created>2014-01-28</created>
+        <revision>4.6.1</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>solr-4.6.0</name>
+        <created>2013-11-22</created>
+        <revision>4.6.0</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>solr-4.5.1</name>
+        <created>2013-10-24</created>
+        <revision>4.5.1</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>solr-4.5</name>
+        <created>2013-10-05</created>
+        <revision>4.5</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>solr-4.4</name>
+        <created>2013-07-23</created>
+        <revision>4.4</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>solr-4.3.1</name>
+        <created>2013-06-18</created>
+        <revision>4.3.1</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>solr-4.3</name>
+        <created>2013-05-06</created>
+        <revision>4.3</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>solr-4.2.1</name>
+        <created>2013-04-03</created>
+        <revision>4.2.1</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>solr-4.2</name>
+        <created>2013-03-11</created>
+        <revision>4.2</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>solr-4.1</name>
+        <created>2013-01-22</created>
+        <revision>4.1</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>solr-4.0</name>
+        <created>2012-10-12</created>
+        <revision>4.0</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-4.0-BETA</name>
+        <created>2012-08-13</created>
+        <revision>4.0-BETA</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-4.0-ALPHA</name>
+        <created>2012-07-03</created>
+        <revision>4.0-ALPHA</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-3.6.2</name>
+        <created>2012-12-25</created>
+        <revision>3.6.2</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>lucene-3.6.1</name>
+        <created>2012-07-22</created>
+        <revision>3.6.1</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>solr-3.6</name>
+        <created>2012-04-12</created>
+        <revision>3.6</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>solr-3.5</name>
+        <created>2011-11-11</created>
+        <revision>3.5</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>solr-3.4</name>
+        <created>2011-09-15</created>
+        <revision>3.4</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>solr-3.3</name>
+        <created>2011-07-10</created>
+        <revision>3.3</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>solr-3.2</name>
+        <created>2011-06-03</created>
+        <revision>3.2</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>solr-3.1</name>
+        <created>2011-03-31</created>
+        <revision>3.1</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>solr-1.4.1</name>
+        <created>2010-6-25</created>
+        <revision>1.4.1</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>solr-1.4.0</name>
+        <created>2009-11-10</created>
+        <revision>1.4.0</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>solr-1.3.0</name>
+        <created>2008-09-16</created>
+        <revision>1.3.0</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>solr-1.2.0</name>
+        <created>2007-06-06</created>
+        <revision>1.2.0</revision>
+      </Version>
+    </release>
+    <release>
+      <Version>
+        <name>solr-1.1.0</name>
+        <created>2006-12-22</created>
+        <revision>1.1.0</revision>
+      </Version>
+    </release>
+  </Project>
+</rdf:RDF>
diff --git a/lucene/CHANGES.txt b/lucene/CHANGES.txt
index e133f3a..4476e41 100644
--- a/lucene/CHANGES.txt
+++ b/lucene/CHANGES.txt
@@ -3,6 +3,15 @@ Lucene Change Log
 For more information on past and future Lucene versions, please see:
 http://s.apache.org/luceneversions
 
+======================= Lucene 6.3.1 =======================
+
+Build
+
+* LUCENE-7543: Make changes-to-html target an offline operation, by moving the
+  Lucene and Solr DOAP RDF files into the Git source repository under
+  dev-tools/doap/ and then pulling release dates from those files, rather than
+  from JIRA. (Mano Kovacs, hossman, Steve Rowe)
+
 ======================= Lucene 6.3.0 =======================
 
 API Changes
diff --git a/lucene/build.xml b/lucene/build.xml
index 383fbeb..1b1a8cb 100644
--- a/lucene/build.xml
+++ b/lucene/build.xml
@@ -355,13 +355,14 @@
     
     <build-changes changes.src.file="${local.src.export.dir}/CHANGES.txt"
                    changes.target.dir="${local.src.export.dir}/docs/changes"
-                   changes.product="LUCENE"/>
+                   changes.product="lucene"/>
     <tar tarfile="${source.package.file}" compression="gzip" longfile="gnu">
       <tarfileset prefix="lucene-${version}" dir="${local.src.export.dir}"/>
     </tar>
     <make-checksums file="${source.package.file}"/>
   </target>
 
+
   <!-- ================================================================== -->
   <!-- Packages the sources from local working copy with tar-gzip     -->
   <!-- ================================================================== -->
@@ -476,7 +477,7 @@
   </target>
 
   <target name="changes-to-html">
-    <build-changes changes.product="LUCENE"/>
+    <build-changes changes.product="lucene"/>
   </target>
 
   <target name="pitest-modules" depends="compile-test">
diff --git a/lucene/common-build.xml b/lucene/common-build.xml
index 0fa6b3f..3dd4cf8 100644
--- a/lucene/common-build.xml
+++ b/lucene/common-build.xml
@@ -2504,18 +2504,17 @@ ${ant.project.name}.test.dependencies=${test.classpath.list}
   <macrodef name="build-changes">
     <attribute name="changes.product"/>
     <attribute name="changes.src.file" default="CHANGES.txt"/>
+    <attribute name="changes.src.doap" default="${dev-tools.dir}/doap/@{changes.product}.rdf"/>
     <attribute name="changes.target.dir" default="${changes.target.dir}"/>
     <attribute name="lucene.javadoc.url" default="${lucene.javadoc.url}"/>
     <sequential>
       <mkdir dir="@{changes.target.dir}"/>
-      <get src="https://issues.apache.org/jira/rest/api/2/project/@{changes.product}"
-        dest="@{changes.target.dir}/jiraVersionList.json" httpusecaches="false"/>
       <exec executable="${perl.exe}" input="@{changes.src.file}" output="@{changes.target.dir}/Changes.html"
             failonerror="true" logError="true">
         <arg value="-CSD"/>
         <arg value="${changes.src.dir}/changes2html.pl"/>
         <arg value="@{changes.product}"/>
-        <arg value="@{changes.target.dir}/jiraVersionList.json"/>
+        <arg value="@{changes.src.doap}"/>
         <arg value="@{lucene.javadoc.url}"/>
       </exec>
       <delete file="@{changes.target.dir}/jiraVersionList.json"/>
diff --git a/lucene/site/changes/changes2html.pl b/lucene/site/changes/changes2html.pl
index d71f296..b3f8fdb 100755
--- a/lucene/site/changes/changes2html.pl
+++ b/lucene/site/changes/changes2html.pl
@@ -23,9 +23,8 @@
 
 use strict;
 use warnings;
+use XML::Simple;
 
-# JIRA REST API documentation: <http://docs.atlassian.com/jira/REST/latest/>
-my $project_info_url = 'https://issues.apache.org/jira/rest/api/2/project';
 my $jira_url_prefix = 'http://issues.apache.org/jira/browse/';
 my $github_pull_request_prefix = 'https://github.com/apache/lucene-solr/pull/';
 my $bugzilla_url_prefix = 'http://issues.apache.org/bugzilla/show_bug.cgi?id=';
@@ -45,7 +44,7 @@ my @releases = ();
 my @lines = <STDIN>;                        # Get all input at once
 
 #
-# Cmdline args:  <LUCENE|SOLR>  <JIRA-release-dates-json>  <lucene-javadoc-url>(only from Solr)
+# Cmdline args:  <LUCENE|SOLR>  <project-DOAP-rdf-file>  <lucene-javadoc-url>(only from Solr)
 #
 my $product = $ARGV[0];
 my %release_dates = &setup_release_dates($ARGV[1]);
@@ -804,10 +803,6 @@ sub get_release_date {
     # Handle '1.2 RC6', which should be '1.2 final'
     $release = '1.2 final' if ($release eq '1.2 RC6');
 
-    if (not exists($release_dates{$release})) {
-      $release =~ s/\.0\.0/\.0/;
-    }
-
     $reldate = ( exists($release_dates{$release}) 
                ? $release_dates{$release}
                : 'unknown');
@@ -825,60 +820,46 @@ sub get_release_date {
 # Returns a list of alternating release names and dates, for use in populating
 # the %release_dates hash.
 #
-# Pulls release dates via the JIRA REST API.  JIRA does not list
-# X.Y RCZ releases independently from releases X.Y, so the RC dates
-# as well as those named "final" are included below.
+# Pulls release dates from the project DOAP file.
 #
 sub setup_release_dates {
   my %release_dates;
   my $file = shift;
-  if (uc($product) eq 'LUCENE') {
-    %release_dates
-       = ( '0.01' => '2000-03-30',      '0.04' => '2000-04-19',
-           '1.0' => '2000-10-04',       '1.01b' => '2001-06-02',
-           '1.2 RC1' => '2001-10-02',   '1.2 RC2' => '2001-10-19',
-           '1.2 RC3' => '2002-01-27',   '1.2 RC4' => '2002-02-14',
-           '1.2 RC5' => '2002-05-14',   '1.2 final' => '2002-06-13',
-           '1.3 RC1' => '2003-03-24',   '1.3 RC2' => '2003-10-22',
-           '1.3 RC3' => '2003-11-25',   '1.3 final' => '2003-12-26',
-           '1.4 RC1' => '2004-03-29',   '1.4 RC2' => '2004-03-30',
-           '1.4 RC3' => '2004-05-11',   '1.4 final' => '2004-07-01',
-           '1.4.1' => '2004-08-02',     '1.4.2' => '2004-10-01',
-           '1.4.3' => '2004-12-07',     '1.9 RC1' => '2006-02-21',
-           '1.9 final' => '2006-02-27', '1.9.1' => '2006-03-02',
-           '2.0.0' => '2006-05-26',     '2.1.0' => '2007-02-14',
-           '2.2.0' => '2007-06-19',     '2.3.0' => '2008-01-21',
-           '2.3.1' => '2008-02-22',     '2.3.2' => '2008-05-05',
-           '2.4.0' => '2008-10-06',     '2.4.1' => '2009-03-09',
-           '2.9.0' => '2009-09-23',     '2.9.1' => '2009-11-06',
-           '3.0.0' => '2009-11-25');
-  }
 
-  my $project_info_json = readFile($file);
-  my $project_info = json2perl($project_info_json);
-  for my $version (@{$project_info->{versions}}) {
-    if ($version->{releaseDate}) {
-      my $date = substr($version->{releaseDate}, 0, 10);
-      my $version_name = $version->{name};
-      $release_dates{$version->{name}} = $date;
-      if ($version_name =~ /^\d+\.\d+$/) {
-        my $full_version_name = "$version->{name}.0";
-        $release_dates{$full_version_name} = $date;
+  my $project_info = XMLin($file)->{Project};
+  my $version;
+  my $date;
+  for my $release (@{$project_info->{release}}) {
+    $version = $release->{Version};
+    if ($version->{created}) {
+      $date = normalize_date($version->{created});
+      my $version_name = $version->{revision};
+      $release_dates{$version->{revision}} = $date;
+      if ($version_name =~ /^([1-9]\d*\.\d+)([^.0-9].*|$)/) {
+        my $padded_version_name = "$1.0$2";             # Alias w/trailing ".0"
+        $release_dates{$padded_version_name} = $date;
+      } elsif ($version_name =~ /\.0(?=[^.0-9]|$)/) {
+        my $trimmed_version_name = $version_name;
+        $trimmed_version_name =~ s/\.0(?=[^.0-9]|$)//;  # Alias w/o trailing ".0"
+        $release_dates{$trimmed_version_name} = $date;
       }
     }
   }
   return %release_dates;
 }
 
-sub readFile {
-  my $file = shift;
-  open(F, '<'.$file) || die "could not open $file: $!";
-  local $/ = undef;
-  my $project_info_json = <F>;
-  close(F);
-  return $project_info_json;
+#
+# normalize_date
+#
+# Left-zero-pads month and day-of-month to 2 digits in dates of format YYYY-(M)M-(D)D
+#
+sub normalize_date {
+  my $date = shift;
+  my ($year, $month, $dom) = $date =~ /^(2\d\d\d)-(\d+)-(\d+)$/;
+  return sprintf("%04d-%02d-%02d", $year, $month, $dom);
 }
 
+
 #
 # setup_month_regex
 #
@@ -1038,23 +1019,4 @@ sub setup_lucene_bugzilla_jira_map {
            36628 => 432);
 }
 
-#
-# json2perl
-#
-# Converts a JSON string to the equivalent Perl data structure
-#
-sub json2perl {
-  my $json_string = shift;
-  $json_string =~ s/(:\s*)(true|false)/$1"$2"/g;
-  $json_string =~ s/":/",/g;
-  $json_string =~ s/\'/\\'/g;
-  $json_string =~ s/\"/\'/g;
-  my $project_info = eval $json_string;
-  die "ERROR eval'ing munged JSON string ||$json_string||: $@\n"
-    if ($@);
-  die "ERROR empty value after eval'ing JSON string ||$json_string||\n"
-    unless $project_info;
-  return $project_info;
-}
-
 1;
diff --git a/solr/build.xml b/solr/build.xml
index b426d79..4c52b03 100644
--- a/solr/build.xml
+++ b/solr/build.xml
@@ -483,7 +483,7 @@
 
     <build-changes changes.src.file="${src.export.dir}/solr/CHANGES.txt"
                    changes.target.dir="${src.export.dir}/solr/docs/changes"
-                   changes.product="SOLR"/>
+                   changes.product="solr"/>
 
     <tar destfile="${source.package.file}" compression="gzip" longfile="gnu">
       <tarfileset dir="${src.export.dir}/lucene"
@@ -623,7 +623,7 @@
   </target>
 
   <target name="changes-to-html" depends="define-lucene-javadoc-url">
-    <build-changes changes.product="SOLR"/>
+    <build-changes changes.product="solr"/>
   </target>
  
   <target name="sign-artifacts">


[lucene] 01/12: Add 6.3.0 back compat test indexes

Posted by dw...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

dweiss pushed a commit to branch branch_6_3
in repository https://gitbox.apache.org/repos/asf/lucene.git

commit 10dbe4de81379cfaf6c4992595512203e72ffa1c
Author: Shalin Shekhar Mangar <sh...@apache.org>
AuthorDate: Wed Nov 9 13:53:10 2016 +0530

    Add 6.3.0 back compat test indexes
---
 .../apache/lucene/index/TestBackwardsCompatibility.java |   4 +++-
 .../test/org/apache/lucene/index/index.6.3.0-cfs.zip    | Bin 0 -> 15882 bytes
 .../test/org/apache/lucene/index/index.6.3.0-nocfs.zip  | Bin 0 -> 15881 bytes
 3 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/lucene/backward-codecs/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java b/lucene/backward-codecs/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java
index 4f8ca66..c9832f3 100644
--- a/lucene/backward-codecs/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java
+++ b/lucene/backward-codecs/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java
@@ -257,7 +257,9 @@ public class TestBackwardsCompatibility extends LuceneTestCase {
       "6.2.0-cfs",
       "6.2.0-nocfs",
       "6.2.1-cfs",
-      "6.2.1-nocfs"
+      "6.2.1-nocfs",
+      "6.3.0-cfs",
+      "6.3.0-nocfs"
   };
   
   final String[] unsupportedNames = {
diff --git a/lucene/backward-codecs/src/test/org/apache/lucene/index/index.6.3.0-cfs.zip b/lucene/backward-codecs/src/test/org/apache/lucene/index/index.6.3.0-cfs.zip
new file mode 100644
index 0000000..e677b5b
Binary files /dev/null and b/lucene/backward-codecs/src/test/org/apache/lucene/index/index.6.3.0-cfs.zip differ
diff --git a/lucene/backward-codecs/src/test/org/apache/lucene/index/index.6.3.0-nocfs.zip b/lucene/backward-codecs/src/test/org/apache/lucene/index/index.6.3.0-nocfs.zip
new file mode 100644
index 0000000..d85ea6f
Binary files /dev/null and b/lucene/backward-codecs/src/test/org/apache/lucene/index/index.6.3.0-nocfs.zip differ


[lucene] 09/12: LUCENE-7543: Treat product name passed into changes2html.pl case-insensitively, and validate that the product name is either 'lucene' or 'solr'

Posted by dw...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

dweiss pushed a commit to branch branch_6_3
in repository https://gitbox.apache.org/repos/asf/lucene.git

commit 6fa26fe8553b7b65dee96da741f2c1adf4cb6216
Author: Steve Rowe <sa...@apache.org>
AuthorDate: Wed Jan 25 13:00:20 2017 -0500

    LUCENE-7543: Treat product name passed into changes2html.pl case-insensitively, and validate that the product name is either 'lucene' or 'solr'
---
 lucene/site/changes/changes2html.pl | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/lucene/site/changes/changes2html.pl b/lucene/site/changes/changes2html.pl
index 11a0fab..939f577 100755
--- a/lucene/site/changes/changes2html.pl
+++ b/lucene/site/changes/changes2html.pl
@@ -45,7 +45,11 @@ my @lines = <STDIN>;                        # Get all input at once
 #
 # Cmdline args:  <LUCENE|SOLR>  <project-DOAP-rdf-file>  <lucene-javadoc-url>(only from Solr)
 #
-my $product = $ARGV[0];
+my $product = uc($ARGV[0]);
+if ($product !~ /^(LUCENE|SOLR)$/) {
+  print STDERR "Unknown product name '$ARGV[0]'\n";
+  exit(1);
+}
 my %release_dates = &setup_release_dates($ARGV[1]);
 my $lucene_javadoc_url = ($product eq 'SOLR' ? $ARGV[2] : ''); # Only Solr supplies this on the cmdline
 my $in_major_component_versions_section = 0;
@@ -824,7 +828,6 @@ sub get_release_date {
 sub setup_release_dates {
   my %release_dates = ();
   my $file = shift;
-print STDERR "file: $file\n";
   open(FILE, "<$file") || die "could not open $file: $!";
   my $version_list = <FILE>;
   my $created_list = <FILE>;


[lucene] 12/12: LUCENE-7794: buildAndPushRelease.py should run validate and documentation-lint

Posted by dw...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

dweiss pushed a commit to branch branch_6_3
in repository https://gitbox.apache.org/repos/asf/lucene.git

commit 8aed049aee3ee4fe37c782c07666f4af806d014c
Author: Steve Rowe <sa...@apache.org>
AuthorDate: Fri Apr 28 10:14:38 2017 -0400

    LUCENE-7794: buildAndPushRelease.py should run validate and documentation-lint
---
 dev-tools/scripts/buildAndPushRelease.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/dev-tools/scripts/buildAndPushRelease.py b/dev-tools/scripts/buildAndPushRelease.py
index 9357b6c..f6dd6f1 100644
--- a/dev-tools/scripts/buildAndPushRelease.py
+++ b/dev-tools/scripts/buildAndPushRelease.py
@@ -97,8 +97,8 @@ def prepare(root, version, gpgKeyID, gpgPassword):
   print('  Check DOAP files')
   checkDOAPfiles(version)
 
-  print('  ant clean test')
-  run('ant clean test')
+  print('  ant clean test validate documentation-lint')
+  run('ant clean test validate documentation-lint')
 
   open('rev.txt', mode='wb').write(rev.encode('UTF-8'))
   


[lucene] 02/12: LUCENE-7542: Release smoker should fail when CHANGES.txt has a release section for a future release

Posted by dw...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

dweiss pushed a commit to branch branch_6_3
in repository https://gitbox.apache.org/repos/asf/lucene.git

commit 94ffce67f4959c2f9205082793e316481b64eb1c
Author: Steve Rowe <sa...@apache.org>
AuthorDate: Thu Nov 17 12:54:33 2016 -0500

    LUCENE-7542: Release smoker should fail when CHANGES.txt has a release section for a future release
---
 dev-tools/scripts/smokeTestRelease.py | 28 +++++++++++++++++++++++++++-
 1 file changed, 27 insertions(+), 1 deletion(-)

diff --git a/dev-tools/scripts/smokeTestRelease.py b/dev-tools/scripts/smokeTestRelease.py
index 7b18fdb..3def8fc 100644
--- a/dev-tools/scripts/smokeTestRelease.py
+++ b/dev-tools/scripts/smokeTestRelease.py
@@ -431,6 +431,7 @@ reChangesSectionHREF = re.compile('<a id="(.*?)".*?>(.*?)</a>', re.IGNORECASE)
 reUnderbarNotDashHTML = re.compile(r'<li>(\s*(LUCENE|SOLR)_\d\d\d\d+)')
 reUnderbarNotDashTXT = re.compile(r'\s+((LUCENE|SOLR)_\d\d\d\d+)', re.MULTILINE)
 def checkChangesContent(s, version, name, project, isHTML):
+  currentVersionTuple = versionToTuple(version, name)
 
   if isHTML and s.find('Release %s' % version) == -1:
     raise RuntimeError('did not see "Release %s" in %s' % (version, name))
@@ -459,7 +460,8 @@ def checkChangesContent(s, version, name, project, isHTML):
         raise RuntimeError('did not see "%s" in %s' % (sub, name))
 
   if isHTML:
-    # Make sure a section only appears once under each release:
+    # Make sure that a section only appears once under each release,
+    # and that each release is not greater than the current version
     seenIDs = set()
     seenText = set()
 
@@ -468,6 +470,9 @@ def checkChangesContent(s, version, name, project, isHTML):
       if text.lower().startswith('release '):
         release = text[8:].strip()
         seenText.clear()
+        releaseTuple = versionToTuple(release, name)
+        if releaseTuple > currentVersionTuple:
+          raise RuntimeError('Future release %s is greater than %s in %s' % (release, version, name))
       if id in seenIDs:
         raise RuntimeError('%s has duplicate section "%s" under release "%s"' % (name, text, release))
       seenIDs.add(id)
@@ -475,6 +480,27 @@ def checkChangesContent(s, version, name, project, isHTML):
         raise RuntimeError('%s has duplicate section "%s" under release "%s"' % (name, text, release))
       seenText.add(text)
 
+
+reVersion = re.compile(r'(\d+)\.(\d+)(?:\.(\d+))?\s*(-alpha|-beta|final|RC\d+)?\s*(?:\[.*\])?', re.IGNORECASE)
+def versionToTuple(version, name):
+  versionMatch = reVersion.match(version)
+  if versionMatch is None:
+    raise RuntimeError('Version %s in %s cannot be parsed' % (version, name))
+  versionTuple = versionMatch.groups()
+  while versionTuple[-1] is None or versionTuple[-1] == '':
+    versionTuple = versionTuple[:-1]
+  if versionTuple[-1].lower() == '-alpha':
+    versionTuple = versionTuple[:-1] + ('0',)
+  elif versionTuple[-1].lower() == '-beta':
+    versionTuple = versionTuple[:-1] + ('1',)
+  elif versionTuple[-1].lower() == 'final':
+    versionTuple = versionTuple[:-2] + ('100',)
+  elif versionTuple[-1].lower()[:2] == 'rc':
+    versionTuple = versionTuple[:-2] + (versionTuple[-1][2:],)
+  print('%s: %s' % (version, versionTuple))
+  return versionTuple
+
+
 reUnixPath = re.compile(r'\b[a-zA-Z_]+=(?:"(?:\\"|[^"])*"' + '|(?:\\\\.|[^"\'\\s])*' + r"|'(?:\\'|[^'])*')" \
                         + r'|(/(?:\\.|[^"\'\s])*)' \
                         + r'|("/(?:\\.|[^"])*")'   \


[lucene] 05/12: LUCENE-7543: fixed canonical URL in comment

Posted by dw...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

dweiss pushed a commit to branch branch_6_3
in repository https://gitbox.apache.org/repos/asf/lucene.git

commit 8fba114d69535959591091e84a32092a857767e5
Author: Steve Rowe <sa...@apache.org>
AuthorDate: Mon Nov 21 18:25:22 2016 -0500

    LUCENE-7543: fixed canonical URL in comment
---
 dev-tools/doap/lucene.rdf | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/dev-tools/doap/lucene.rdf b/dev-tools/doap/lucene.rdf
index b6643ba..d1293a4 100644
--- a/dev-tools/doap/lucene.rdf
+++ b/dev-tools/doap/lucene.rdf
@@ -23,7 +23,7 @@
          xmlns:asfext="http://projects.apache.org/ns/asfext#"
          xmlns:foaf="http://xmlns.com/foaf/0.1/">
 <!--
-  This file's canonical URL is: http://lucene.apache.org/lucene/doap.rdf
+  This file's canonical URL is: http://lucene.apache.org/core/doap.rdf
 
   Note that the canonical URL may redirect to other non-canonical locations.
 -->


[lucene] 10/12: LUCENE-7748: buildAndPushRelease.py should fail if the project DOAP files are missing releases that are less than the release being produced

Posted by dw...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

dweiss pushed a commit to branch branch_6_3
in repository https://gitbox.apache.org/repos/asf/lucene.git

commit 74ddf78893b567a62a166d95749f15089e01cba9
Author: Steve Rowe <sa...@apache.org>
AuthorDate: Sat Mar 18 15:09:43 2017 -0400

    LUCENE-7748: buildAndPushRelease.py should fail if the project DOAP files are missing releases that are less than the release being produced
---
 dev-tools/scripts/buildAndPushRelease.py | 64 ++++++++++++++++++++++++++++++++
 1 file changed, 64 insertions(+)

diff --git a/dev-tools/scripts/buildAndPushRelease.py b/dev-tools/scripts/buildAndPushRelease.py
index e34c943..9357b6c 100644
--- a/dev-tools/scripts/buildAndPushRelease.py
+++ b/dev-tools/scripts/buildAndPushRelease.py
@@ -22,6 +22,8 @@ import os
 import sys
 import subprocess
 import textwrap
+import urllib.request, urllib.error, urllib.parse
+import xml.etree.ElementTree as ET
 
 LOG = '/tmp/release.log'
 
@@ -57,6 +59,14 @@ def runAndSendGPGPassword(command, password):
     print(msg)
     raise RuntimeError(msg)
 
+def load(urlString):
+  try:
+    content = urllib.request.urlopen(urlString).read().decode('utf-8')
+  except Exception as e:
+    print('Retrying download of url %s after exception: %s' % (urlString, e))
+    content = urllib.request.urlopen(urlString).read().decode('utf-8')
+  return content
+
 def getGitRev():
   status = os.popen('git status').read().strip()
   if 'nothing to commit, working directory clean' not in status:
@@ -84,6 +94,9 @@ def prepare(root, version, gpgKeyID, gpgPassword):
   print('  git rev: %s' % rev)
   log('\nGIT rev: %s\n' % rev)
 
+  print('  Check DOAP files')
+  checkDOAPfiles(version)
+
   print('  ant clean test')
   run('ant clean test')
 
@@ -119,6 +132,57 @@ def prepare(root, version, gpgKeyID, gpgPassword):
   print()
   return rev
 
+reVersion1 = re.compile(r'\>(\d+)\.(\d+)\.(\d+)(-alpha|-beta)?/\<', re.IGNORECASE)
+reVersion2 = re.compile(r'-(\d+)\.(\d+)\.(\d+)(-alpha|-beta)?\.zip<', re.IGNORECASE)
+reDoapRevision = re.compile(r'(\d+)\.(\d+)(?:\.(\d+))?(-alpha|-beta)?', re.IGNORECASE)
+def checkDOAPfiles(version):
+  # In Lucene and Solr DOAP files, verify presence of all releases less than the one being produced.
+  errorMessages = []
+  for product in 'lucene', 'solr':
+    url = 'https://archive.apache.org/dist/lucene/%s' % ('java' if product == 'lucene' else product)
+    distpage = load(url)
+    releases = set()
+    for regex in reVersion1, reVersion2:
+      for tup in regex.findall(distpage):
+        if tup[0] in ('1', '2'):                    # Ignore 1.X and 2.X releases
+          continue
+        releases.add(normalizeVersion(tup))
+    doapNS = '{http://usefulinc.com/ns/doap#}'
+    xpathRevision = '{0}Project/{0}release/{0}Version/{0}revision'.format(doapNS)
+    doapFile = "dev-tools/doap/%s.rdf" % product
+    treeRoot = ET.parse(doapFile).getroot()
+    doapRevisions = set()
+    for revision in treeRoot.findall(xpathRevision):
+      match = reDoapRevision.match(revision.text)
+      if (match is not None):
+        if (match.group(1) not in ('0', '1', '2')): # Ignore 0.X, 1.X and 2.X revisions
+          doapRevisions.add(normalizeVersion(match.groups()))
+      else:
+        errorMessages.append('ERROR: Failed to parse revision: %s in %s' % (revision.text, doapFile))
+    missingDoapRevisions = set()
+    for release in releases:
+      if release not in doapRevisions and release < version: # Ignore releases greater than the one being produced
+        missingDoapRevisions.add(release)
+    if len(missingDoapRevisions) > 0:
+      errorMessages.append('ERROR: Missing revision(s) in %s: %s' % (doapFile, ', '.join(sorted(missingDoapRevisions))))
+  if (len(errorMessages) > 0):
+    raise RuntimeError('\n%s\n(Hint: copy/paste from the stable branch version of the file(s).)'
+                       % '\n'.join(errorMessages))
+
+def normalizeVersion(tup):
+  suffix = ''
+  if tup[-1] is not None and tup[-1].lower() == '-alpha':
+    tup = tup[:(len(tup) - 1)]
+    suffix = '-ALPHA'
+  elif tup[-1] is not None and tup[-1].lower() == '-beta':
+    tup = tup[:(len(tup) - 1)]
+    suffix = '-BETA'
+  while tup[-1] in ('', None):
+    tup = tup[:(len(tup) - 1)]
+  while len(tup) < 3:
+    tup = tup + ('0',)
+  return '.'.join(tup) + suffix
+
 def pushLocal(version, root, rev, rcNum, localDir):
   print('Push local [%s]...' % localDir)
   os.makedirs(localDir)