You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by cp...@apache.org on 2016/07/14 10:40:17 UTC

lucene-solr:branch_5x: SOLR-9306: give solr/contrib/analysis-extras's test classes access to lucene/analysis's test classes

Repository: lucene-solr
Updated Branches:
  refs/heads/branch_5x 5c1781961 -> 6823804b0


SOLR-9306: give solr/contrib/analysis-extras's test classes access to lucene/analysis's test classes


Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/6823804b
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/6823804b
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/6823804b

Branch: refs/heads/branch_5x
Commit: 6823804b093cf3b3e76b0cadda09db69f90d94ec
Parents: 5c17819
Author: Christine Poerschke <cp...@apache.org>
Authored: Thu Jul 14 10:20:35 2016 +0100
Committer: Christine Poerschke <cp...@apache.org>
Committed: Thu Jul 14 11:26:27 2016 +0100

----------------------------------------------------------------------
 .../maven/lucene/analysis/common/pom.xml.template  | 13 +++++++++++++
 .../solr/contrib/analysis-extras/pom.xml.template  |  7 +++++++
 solr/common-build.xml                              |  6 ++++++
 solr/contrib/analysis-extras/build.xml             | 10 ++++++++++
 .../org/apache/solr/schema/ICUCollationField.java  |  2 +-
 .../apache/solr/schema/TestICUCollationField.java  | 17 ++++++++++++++---
 6 files changed, 51 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/6823804b/dev-tools/maven/lucene/analysis/common/pom.xml.template
----------------------------------------------------------------------
diff --git a/dev-tools/maven/lucene/analysis/common/pom.xml.template b/dev-tools/maven/lucene/analysis/common/pom.xml.template
index 95a0487..cded628 100644
--- a/dev-tools/maven/lucene/analysis/common/pom.xml.template
+++ b/dev-tools/maven/lucene/analysis/common/pom.xml.template
@@ -69,5 +69,18 @@
         </excludes>
       </testResource>
     </testResources>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-jar-plugin</artifactId>
+        <executions>
+          <execution>
+            <goals>
+              <goal>test-jar</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
   </build>
 </project>

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/6823804b/dev-tools/maven/solr/contrib/analysis-extras/pom.xml.template
----------------------------------------------------------------------
diff --git a/dev-tools/maven/solr/contrib/analysis-extras/pom.xml.template b/dev-tools/maven/solr/contrib/analysis-extras/pom.xml.template
index 4d0f322..b7a11a8 100644
--- a/dev-tools/maven/solr/contrib/analysis-extras/pom.xml.template
+++ b/dev-tools/maven/solr/contrib/analysis-extras/pom.xml.template
@@ -43,6 +43,13 @@
   </scm>
   <dependencies>
     <dependency>
+      <groupId>org.apache.lucene</groupId>
+      <artifactId>lucene-analyzers-common</artifactId>
+      <version>${project.version}</version>
+      <type>test-jar</type>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
       <!-- lucene-test-framework dependency must be declared before lucene-core -->
       <!-- This dependency cannot be put into solr-parent, because local        -->
       <!-- dependencies are always ordered before inherited dependencies.       -->

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/6823804b/solr/common-build.xml
----------------------------------------------------------------------
diff --git a/solr/common-build.xml b/solr/common-build.xml
index d5a1a19..eed9f0a 100644
--- a/solr/common-build.xml
+++ b/solr/common-build.xml
@@ -473,6 +473,12 @@
     </sequential>
   </macrodef>
 
+  <target name="-compile-test-lucene-analysis">
+    <ant dir="${common.dir}/analysis" target="compile-test" inheritAll="false">
+      <propertyset refid="uptodate.and.compiled.properties"/>
+    </ant>
+  </target>
+
   <target name="-compile-test-lucene-queryparser">
     <ant dir="${common.dir}/queryparser" target="compile-test" inheritAll="false">
       <propertyset refid="uptodate.and.compiled.properties"/>

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/6823804b/solr/contrib/analysis-extras/build.xml
----------------------------------------------------------------------
diff --git a/solr/contrib/analysis-extras/build.xml b/solr/contrib/analysis-extras/build.xml
index 6697fc9..38d67dd 100644
--- a/solr/contrib/analysis-extras/build.xml
+++ b/solr/contrib/analysis-extras/build.xml
@@ -25,6 +25,8 @@
 
   <import file="../contrib-build.xml"/>
   
+  <target name="compile-test" depends="-compile-test-lucene-analysis,common-solr.compile-test"/>
+
   <path id="analysis.extras.lucene.libs">
     <pathelement location="${analyzers-icu.jar}"/>
     <!-- 
@@ -43,6 +45,14 @@
     <path refid="solr.base.classpath"/>
   </path>
 
+  <path id="test.classpath">
+    <path refid="solr.test.base.classpath"/>
+    <dirset dir="${common.dir}/build/analysis/">
+      <include name="**/classes/java"/>
+      <include name="**/classes/test"/>
+    </dirset>
+  </path>
+
   <!-- 
     Although the smartcn, stempel, and morfologik jars are not dependencies of
     code in the analysis-extras contrib, they must remain here in order to

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/6823804b/solr/contrib/analysis-extras/src/java/org/apache/solr/schema/ICUCollationField.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analysis-extras/src/java/org/apache/solr/schema/ICUCollationField.java b/solr/contrib/analysis-extras/src/java/org/apache/solr/schema/ICUCollationField.java
index 024c686..8646848 100644
--- a/solr/contrib/analysis-extras/src/java/org/apache/solr/schema/ICUCollationField.java
+++ b/solr/contrib/analysis-extras/src/java/org/apache/solr/schema/ICUCollationField.java
@@ -199,7 +199,7 @@ public class ICUCollationField extends FieldType {
    * Read custom rules from a file, and create a RuleBasedCollator
    * The file cannot support comments, as # might be in the rules!
    */
-  private Collator createFromRules(String fileName, ResourceLoader loader) {
+  static Collator createFromRules(String fileName, ResourceLoader loader) {
     InputStream input = null;
     try {
      input = loader.openResource(fileName);

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/6823804b/solr/contrib/analysis-extras/src/test/org/apache/solr/schema/TestICUCollationField.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analysis-extras/src/test/org/apache/solr/schema/TestICUCollationField.java b/solr/contrib/analysis-extras/src/test/org/apache/solr/schema/TestICUCollationField.java
index e25e440..4cff7fa 100644
--- a/solr/contrib/analysis-extras/src/test/org/apache/solr/schema/TestICUCollationField.java
+++ b/solr/contrib/analysis-extras/src/test/org/apache/solr/schema/TestICUCollationField.java
@@ -21,8 +21,9 @@ import java.io.FileOutputStream;
 
 import org.apache.commons.io.FileUtils;
 import org.apache.commons.io.IOUtils;
-import org.apache.lucene.util.LuceneTestCase;
-import org.apache.lucene.util.TestUtil;
+import org.apache.lucene.analysis.util.FilesystemResourceLoader;
+import org.apache.lucene.analysis.util.ResourceLoader;
+import org.apache.lucene.analysis.util.StringMockResourceLoader;
 import org.apache.solr.SolrTestCaseJ4;
 import org.junit.BeforeClass;
 
@@ -82,10 +83,20 @@ public class TestICUCollationField extends SolrTestCaseJ4 {
 
     RuleBasedCollator tailoredCollator = new RuleBasedCollator(baseCollator.getRules() + DIN5007_2_tailorings);
     String tailoredRules = tailoredCollator.getRules();
-    FileOutputStream os = new FileOutputStream(new File(confDir, "customrules.dat"));
+    final String osFileName = "customrules.dat";
+    final FileOutputStream os = new FileOutputStream(new File(confDir, osFileName));
     IOUtils.write(tailoredRules, os, "UTF-8");
     os.close();
 
+    final ResourceLoader loader;
+    if (random().nextBoolean()) {
+      loader = new StringMockResourceLoader(tailoredRules);
+    } else {
+      loader = new FilesystemResourceLoader(confDir.toPath());
+    }
+    final Collator readCollator = ICUCollationField.createFromRules(osFileName, loader);
+    assertEquals(tailoredCollator, readCollator);
+
     return tmpFile;
   }