You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-commits@lucene.apache.org by us...@apache.org on 2010/03/15 10:35:11 UTC

svn commit: r923129 - in /lucene/solr/branches/solr: ./ src/java/org/apache/solr/core/ src/test/org/apache/solr/analysis/ src/test/test-files/solr/conf/

Author: uschindler
Date: Mon Mar 15 09:35:10 2010
New Revision: 923129

URL: http://svn.apache.org/viewvc?rev=923129&view=rev
Log:
SOLR-1677: Add more lenient support for version numbers (also 'V.V') format and add a system property for tests (set by build.xml), that specifies the current lucene version.
TODO: Update all solrconfig.xml files to add the '3.1' luceneMatchVersion.

Modified:
    lucene/solr/branches/solr/build.xml
    lucene/solr/branches/solr/src/java/org/apache/solr/core/Config.java
    lucene/solr/branches/solr/src/test/org/apache/solr/analysis/BaseTokenTestCase.java
    lucene/solr/branches/solr/src/test/org/apache/solr/analysis/TestLuceneMatchVersion.java
    lucene/solr/branches/solr/src/test/test-files/solr/conf/schema-luceneMatchVersion.xml
    lucene/solr/branches/solr/src/test/test-files/solr/conf/solrconfig.xml

Modified: lucene/solr/branches/solr/build.xml
URL: http://svn.apache.org/viewvc/lucene/solr/branches/solr/build.xml?rev=923129&r1=923128&r2=923129&view=diff
==============================================================================
--- lucene/solr/branches/solr/build.xml (original)
+++ lucene/solr/branches/solr/build.xml Mon Mar 15 09:35:10 2010
@@ -35,6 +35,9 @@
   <property name="clover.report.dir" location="${dest}/tests/clover/reports"/>
 
   <property name="junit.details" value="1"/>
+  
+  <!-- change this together with the default and test's solrconfig.xml after starting a new development branch: -->
+  <property name="tests.luceneMatchVersion" value="3.1"/>
 
     <available
             property="clover.present"
@@ -394,6 +397,7 @@
            dir="src/test/test-files/"
            >
       <sysproperty key="java.util.logging.config.file" value="${common.dir}/testlogging.properties"/>
+      <sysproperty key="tests.luceneMatchVersion" value="${tests.luceneMatchVersion}"/>
       <jvmarg line="${args}"/>
       <formatter type="brief" usefile="false" if="junit.details"/>
       <classpath refid="test.run.classpath"/>

Modified: lucene/solr/branches/solr/src/java/org/apache/solr/core/Config.java
URL: http://svn.apache.org/viewvc/lucene/solr/branches/solr/src/java/org/apache/solr/core/Config.java?rev=923129&r1=923128&r2=923129&view=diff
==============================================================================
--- lucene/solr/branches/solr/src/java/org/apache/solr/core/Config.java (original)
+++ lucene/solr/branches/solr/src/java/org/apache/solr/core/Config.java Mon Mar 15 09:35:10 2010
@@ -284,16 +284,20 @@ public class Config {
   
   private static final AtomicBoolean versionWarningAlreadyLogged = new AtomicBoolean(false);
   
-  public static final Version parseLuceneVersionString(String matchVersion) {
-    matchVersion = matchVersion.toUpperCase();
+  public static final Version parseLuceneVersionString(final String matchVersion) {
+    String parsedMatchVersion = matchVersion.toUpperCase();
+    
+    // be lenient with the supplied version parameter
+    parsedMatchVersion = parsedMatchVersion.replaceFirst("^(\\d)\\.(\\d)$", "LUCENE_$1$2");
     
     final Version version;
     try {
-      version = Version.valueOf(matchVersion);
+      version = Version.valueOf(parsedMatchVersion);
     } catch (IllegalArgumentException iae) {
       throw new SolrException(SolrException.ErrorCode.SERVER_ERROR,
         "Invalid luceneMatchVersion '" + matchVersion +
-        "' property, valid values are: " + Arrays.toString(Version.values()), iae, false);    
+        "', valid values are: " + Arrays.toString(Version.values()) +
+        " or a string in format 'V.V'", iae, false);    
     }
     
     if (version == Version.LUCENE_CURRENT && !versionWarningAlreadyLogged.getAndSet(true)) {

Modified: lucene/solr/branches/solr/src/test/org/apache/solr/analysis/BaseTokenTestCase.java
URL: http://svn.apache.org/viewvc/lucene/solr/branches/solr/src/test/org/apache/solr/analysis/BaseTokenTestCase.java?rev=923129&r1=923128&r2=923129&view=diff
==============================================================================
--- lucene/solr/branches/solr/src/test/org/apache/solr/analysis/BaseTokenTestCase.java (original)
+++ lucene/solr/branches/solr/src/test/org/apache/solr/analysis/BaseTokenTestCase.java Mon Mar 15 09:35:10 2010
@@ -37,7 +37,7 @@ import org.apache.lucene.analysis.tokena
 public abstract class BaseTokenTestCase extends TestCase
 {
   protected static final Map<String,String> DEFAULT_VERSION_PARAM = 
-    Collections.singletonMap("luceneMatchVersion", "LUCENE_30");
+    Collections.singletonMap("luceneMatchVersion", System.getProperty("tests.luceneMatchVersion", "LUCENE_CURRENT"));
 
   // some helpers to test Analyzers and TokenStreams:
   // these are taken from Lucene's BaseTokenStreamTestCase

Modified: lucene/solr/branches/solr/src/test/org/apache/solr/analysis/TestLuceneMatchVersion.java
URL: http://svn.apache.org/viewvc/lucene/solr/branches/solr/src/test/org/apache/solr/analysis/TestLuceneMatchVersion.java?rev=923129&r1=923128&r2=923129&view=diff
==============================================================================
--- lucene/solr/branches/solr/src/test/org/apache/solr/analysis/TestLuceneMatchVersion.java (original)
+++ lucene/solr/branches/solr/src/test/org/apache/solr/analysis/TestLuceneMatchVersion.java Mon Mar 15 09:35:10 2010
@@ -20,6 +20,7 @@ import java.io.StringReader;
 import java.lang.reflect.Field;
 
 import org.apache.lucene.analysis.standard.StandardTokenizer;
+import org.apache.solr.core.Config;
 import org.apache.solr.schema.IndexSchema;
 import org.apache.solr.schema.FieldType;
 import org.apache.solr.util.AbstractSolrTestCase;
@@ -42,7 +43,9 @@ public class TestLuceneMatchVersion exte
     return "solrconfig.xml";
   }
   
-  public static final Version DEFAULT_VERSION = Version.LUCENE_30;
+  // this must match the solrconfig.xml version for this test
+  public static final Version DEFAULT_VERSION =
+    Config.parseLuceneVersionString(System.getProperty("tests.luceneMatchVersion", "LUCENE_CURRENT"));
 
   public void testStandardTokenizerVersions() throws Exception {
     assertEquals(DEFAULT_VERSION, solrConfig.luceneMatchVersion);

Modified: lucene/solr/branches/solr/src/test/test-files/solr/conf/schema-luceneMatchVersion.xml
URL: http://svn.apache.org/viewvc/lucene/solr/branches/solr/src/test/test-files/solr/conf/schema-luceneMatchVersion.xml?rev=923129&r1=923128&r2=923129&view=diff
==============================================================================
--- lucene/solr/branches/solr/src/test/test-files/solr/conf/schema-luceneMatchVersion.xml (original)
+++ lucene/solr/branches/solr/src/test/test-files/solr/conf/schema-luceneMatchVersion.xml Mon Mar 15 09:35:10 2010
@@ -22,7 +22,7 @@
       <tokenizer class="solr.StandardTokenizerFactory" luceneMatchVersion="LUCENE_20"/>
       <filter class="solr.StandardFilterFactory"/>
       <filter class="solr.LowerCaseFilterFactory"/>
-      <filter class="solr.StopFilterFactory" luceneMatchVersion="LUCENE_24"/>
+      <filter class="solr.StopFilterFactory" luceneMatchVersion="2.4"/>
       <filter class="solr.EnglishPorterFilterFactory"/>
     </analyzer>
   </fieldtype>

Modified: lucene/solr/branches/solr/src/test/test-files/solr/conf/solrconfig.xml
URL: http://svn.apache.org/viewvc/lucene/solr/branches/solr/src/test/test-files/solr/conf/solrconfig.xml?rev=923129&r1=923128&r2=923129&view=diff
==============================================================================
--- lucene/solr/branches/solr/src/test/test-files/solr/conf/solrconfig.xml (original)
+++ lucene/solr/branches/solr/src/test/test-files/solr/conf/solrconfig.xml Mon Mar 15 09:35:10 2010
@@ -45,7 +45,7 @@
        not be changed if replication is in use. -->
   <dataDir>${solr.data.dir:./solr/data}</dataDir>
   
-  <luceneMatchVersion>LUCENE_30</luceneMatchVersion>
+  <luceneMatchVersion>3.1</luceneMatchVersion>
 
   <indexDefaults>
    <!-- Values here affect all index writers and act as a default