You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by sa...@apache.org on 2011/04/01 16:41:11 UTC

svn commit: r1087722 - in /lucene/dev/trunk: dev-tools/eclipse/ dev-tools/idea/solr/ dev-tools/maven/solr/ dev-tools/maven/solr/contrib/analysis-extras/ dev-tools/maven/solr/contrib/clustering/ dev-tools/maven/solr/contrib/dataimporthandler/src/ dev-to...

Author: sarowe
Date: Fri Apr  1 14:41:09 2011
New Revision: 1087722

URL: http://svn.apache.org/viewvc?rev=1087722&view=rev
Log:
SOLR-2061: Generate jar containing test classes

Added:
    lucene/dev/trunk/dev-tools/maven/solr/src/test-framework/
    lucene/dev/trunk/dev-tools/maven/solr/src/test-framework/pom.xml.template
    lucene/dev/trunk/solr/src/test-framework/
    lucene/dev/trunk/solr/src/test-framework/org/
    lucene/dev/trunk/solr/src/test-framework/org/apache/
    lucene/dev/trunk/solr/src/test-framework/org/apache/solr/
    lucene/dev/trunk/solr/src/test-framework/org/apache/solr/BaseDistributedSearchTestCase.java
      - copied, changed from r1087699, lucene/dev/trunk/solr/src/test/org/apache/solr/BaseDistributedSearchTestCase.java
    lucene/dev/trunk/solr/src/test-framework/org/apache/solr/JSONTestUtil.java
      - copied unchanged from r1087699, lucene/dev/trunk/solr/src/test/org/apache/solr/JSONTestUtil.java
    lucene/dev/trunk/solr/src/test-framework/org/apache/solr/SolrTestCaseJ4.java
      - copied, changed from r1087699, lucene/dev/trunk/solr/src/test/org/apache/solr/SolrTestCaseJ4.java
    lucene/dev/trunk/solr/src/test-framework/org/apache/solr/analysis/
    lucene/dev/trunk/solr/src/test-framework/org/apache/solr/analysis/BaseTokenTestCase.java
      - copied unchanged from r1087699, lucene/dev/trunk/solr/src/test/org/apache/solr/analysis/BaseTokenTestCase.java
    lucene/dev/trunk/solr/src/test-framework/org/apache/solr/util/
    lucene/dev/trunk/solr/src/test-framework/org/apache/solr/util/AbstractSolrTestCase.java
      - copied, changed from r1087699, lucene/dev/trunk/solr/src/test/org/apache/solr/util/AbstractSolrTestCase.java
    lucene/dev/trunk/solr/src/test-framework/org/apache/solr/util/TestHarness.java
      - copied, changed from r1087699, lucene/dev/trunk/solr/src/java/org/apache/solr/util/TestHarness.java
    lucene/dev/trunk/solr/src/test/org/apache/solr/util/ExternalPaths.java
Removed:
    lucene/dev/trunk/solr/src/java/org/apache/solr/util/TestHarness.java
    lucene/dev/trunk/solr/src/test/org/apache/solr/BaseDistributedSearchTestCase.java
    lucene/dev/trunk/solr/src/test/org/apache/solr/JSONTestUtil.java
    lucene/dev/trunk/solr/src/test/org/apache/solr/SolrTestCaseJ4.java
    lucene/dev/trunk/solr/src/test/org/apache/solr/analysis/BaseTokenTestCase.java
    lucene/dev/trunk/solr/src/test/org/apache/solr/util/AbstractSolrTestCase.java
Modified:
    lucene/dev/trunk/dev-tools/eclipse/dot.classpath
    lucene/dev/trunk/dev-tools/idea/solr/solr.iml
    lucene/dev/trunk/dev-tools/maven/solr/contrib/analysis-extras/pom.xml.template
    lucene/dev/trunk/dev-tools/maven/solr/contrib/clustering/pom.xml.template
    lucene/dev/trunk/dev-tools/maven/solr/contrib/dataimporthandler/src/extras/pom.xml.template
    lucene/dev/trunk/dev-tools/maven/solr/contrib/dataimporthandler/src/pom.xml.template
    lucene/dev/trunk/dev-tools/maven/solr/contrib/extraction/pom.xml.template
    lucene/dev/trunk/dev-tools/maven/solr/contrib/uima/pom.xml.template
    lucene/dev/trunk/dev-tools/maven/solr/pom.xml.template
    lucene/dev/trunk/dev-tools/maven/solr/src/pom.xml.template
    lucene/dev/trunk/dev-tools/maven/solr/src/solrj/pom.xml.template
    lucene/dev/trunk/solr/build.xml
    lucene/dev/trunk/solr/contrib/analysis-extras/build.xml
    lucene/dev/trunk/solr/contrib/clustering/build.xml
    lucene/dev/trunk/solr/contrib/dataimporthandler/build.xml
    lucene/dev/trunk/solr/contrib/extraction/build.xml
    lucene/dev/trunk/solr/contrib/uima/build.xml
    lucene/dev/trunk/solr/site/features.html
    lucene/dev/trunk/solr/site/index.html
    lucene/dev/trunk/solr/site/issue_tracking.html
    lucene/dev/trunk/solr/site/linkmap.html
    lucene/dev/trunk/solr/site/linkmap.pdf
    lucene/dev/trunk/solr/site/mailing_lists.html
    lucene/dev/trunk/solr/site/skin/basic.css
    lucene/dev/trunk/solr/site/skin/print.css
    lucene/dev/trunk/solr/site/skin/profile.css
    lucene/dev/trunk/solr/site/skin/screen.css
    lucene/dev/trunk/solr/site/tutorial.html
    lucene/dev/trunk/solr/site/version_control.html
    lucene/dev/trunk/solr/src/site/src/documentation/content/xdocs/site.xml
    lucene/dev/trunk/solr/src/test/org/apache/solr/client/solrj/MergeIndexesExampleTestBase.java
    lucene/dev/trunk/solr/src/test/org/apache/solr/client/solrj/MultiCoreExampleTestBase.java
    lucene/dev/trunk/solr/src/test/org/apache/solr/client/solrj/SolrExampleBinaryTest.java
    lucene/dev/trunk/solr/src/test/org/apache/solr/client/solrj/SolrJettyTestBase.java
    lucene/dev/trunk/solr/src/test/org/apache/solr/client/solrj/TestBatchUpdate.java
    lucene/dev/trunk/solr/src/test/org/apache/solr/client/solrj/embedded/JettyWebappTest.java
    lucene/dev/trunk/solr/src/test/org/apache/solr/client/solrj/embedded/LargeVolumeBinaryJettyTest.java
    lucene/dev/trunk/solr/src/test/org/apache/solr/client/solrj/embedded/LargeVolumeEmbeddedTest.java
    lucene/dev/trunk/solr/src/test/org/apache/solr/client/solrj/embedded/LargeVolumeJettyTest.java
    lucene/dev/trunk/solr/src/test/org/apache/solr/client/solrj/embedded/SolrExampleEmbeddedTest.java
    lucene/dev/trunk/solr/src/test/org/apache/solr/client/solrj/embedded/SolrExampleJettyTest.java
    lucene/dev/trunk/solr/src/test/org/apache/solr/client/solrj/embedded/SolrExampleStreamingTest.java
    lucene/dev/trunk/solr/src/test/org/apache/solr/client/solrj/response/TermsResponseTest.java
    lucene/dev/trunk/solr/src/test/org/apache/solr/client/solrj/response/TestSpellCheckResponse.java
    lucene/dev/trunk/solr/src/test/org/apache/solr/cloud/BasicDistributedZkTest.java
    lucene/dev/trunk/solr/src/test/org/apache/solr/common/util/TestSystemIdResolver.java
    lucene/dev/trunk/solr/src/test/org/apache/solr/servlet/NoCacheHeaderTest.java
    lucene/dev/trunk/solr/src/test/org/apache/solr/spelling/suggest/PersistenceTest.java

Modified: lucene/dev/trunk/dev-tools/eclipse/dot.classpath
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/dev-tools/eclipse/dot.classpath?rev=1087722&r1=1087721&r2=1087722&view=diff
==============================================================================
--- lucene/dev/trunk/dev-tools/eclipse/dot.classpath (original)
+++ lucene/dev/trunk/dev-tools/eclipse/dot.classpath Fri Apr  1 14:41:09 2011
@@ -57,6 +57,7 @@
 	<classpathentry kind="src" path="solr/src/webapp/src"/>
 	<classpathentry kind="src" path="solr/src/common"/>
 	<classpathentry kind="src" path="solr/src/solrj"/>
+	<classpathentry kind="src" path="solr/src/test-framework"/>
 	<classpathentry kind="src" path="solr/src/test"/>
 	<classpathentry kind="src" path="solr/src/test-files"/>
 	<classpathentry kind="src" path="solr/contrib/analysis-extras/src/java"/>

Modified: lucene/dev/trunk/dev-tools/idea/solr/solr.iml
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/dev-tools/idea/solr/solr.iml?rev=1087722&r1=1087721&r2=1087722&view=diff
==============================================================================
--- lucene/dev/trunk/dev-tools/idea/solr/solr.iml (original)
+++ lucene/dev/trunk/dev-tools/idea/solr/solr.iml Fri Apr  1 14:41:09 2011
@@ -12,6 +12,7 @@
       <sourceFolder url="file://$MODULE_DIR$/src/java" isTestSource="false" />
       <sourceFolder url="file://$MODULE_DIR$/src/test" isTestSource="true" />
       <sourceFolder url="file://$MODULE_DIR$/src/test-files" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/test-framework" isTestSource="true" />
       <excludeFolder url="file://$MODULE_DIR$/build" />
       <excludeFolder url="file://$MODULE_DIR$/dist" />
       <excludeFolder url="file://$MODULE_DIR$/lucene-libs" />

Modified: lucene/dev/trunk/dev-tools/maven/solr/contrib/analysis-extras/pom.xml.template
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/dev-tools/maven/solr/contrib/analysis-extras/pom.xml.template?rev=1087722&r1=1087721&r2=1087722&view=diff
==============================================================================
--- lucene/dev/trunk/dev-tools/maven/solr/contrib/analysis-extras/pom.xml.template (original)
+++ lucene/dev/trunk/dev-tools/maven/solr/contrib/analysis-extras/pom.xml.template Fri Apr  1 14:41:09 2011
@@ -44,9 +44,8 @@
     </dependency>
     <dependency>
       <groupId>${project.groupId}</groupId>
-      <artifactId>solr-core</artifactId>
+      <artifactId>solr-test-framework</artifactId>
       <version>${project.version}</version>
-      <type>test-jar</type>
       <scope>test</scope>
     </dependency>
     <dependency>

Modified: lucene/dev/trunk/dev-tools/maven/solr/contrib/clustering/pom.xml.template
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/dev-tools/maven/solr/contrib/clustering/pom.xml.template?rev=1087722&r1=1087721&r2=1087722&view=diff
==============================================================================
--- lucene/dev/trunk/dev-tools/maven/solr/contrib/clustering/pom.xml.template (original)
+++ lucene/dev/trunk/dev-tools/maven/solr/contrib/clustering/pom.xml.template Fri Apr  1 14:41:09 2011
@@ -44,9 +44,8 @@
     </dependency>
     <dependency>
       <groupId>${project.groupId}</groupId>
-      <artifactId>solr-core</artifactId>
+      <artifactId>solr-test-framework</artifactId>
       <version>${project.version}</version>
-      <type>test-jar</type>
       <scope>test</scope>
     </dependency>
     <dependency>

Modified: lucene/dev/trunk/dev-tools/maven/solr/contrib/dataimporthandler/src/extras/pom.xml.template
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/dev-tools/maven/solr/contrib/dataimporthandler/src/extras/pom.xml.template?rev=1087722&r1=1087721&r2=1087722&view=diff
==============================================================================
--- lucene/dev/trunk/dev-tools/maven/solr/contrib/dataimporthandler/src/extras/pom.xml.template (original)
+++ lucene/dev/trunk/dev-tools/maven/solr/contrib/dataimporthandler/src/extras/pom.xml.template Fri Apr  1 14:41:09 2011
@@ -44,9 +44,8 @@
     </dependency>
     <dependency>
       <groupId>${project.groupId}</groupId>
-      <artifactId>solr-core</artifactId>
+      <artifactId>solr-test-framework</artifactId>
       <version>${project.version}</version>
-      <type>test-jar</type>
       <scope>test</scope>
     </dependency>
     <dependency>

Modified: lucene/dev/trunk/dev-tools/maven/solr/contrib/dataimporthandler/src/pom.xml.template
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/dev-tools/maven/solr/contrib/dataimporthandler/src/pom.xml.template?rev=1087722&r1=1087721&r2=1087722&view=diff
==============================================================================
--- lucene/dev/trunk/dev-tools/maven/solr/contrib/dataimporthandler/src/pom.xml.template (original)
+++ lucene/dev/trunk/dev-tools/maven/solr/contrib/dataimporthandler/src/pom.xml.template Fri Apr  1 14:41:09 2011
@@ -43,10 +43,9 @@
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>${project.groupId}</groupId>
-      <artifactId>solr-core</artifactId>
+      <groupId>org.apache.solr</groupId>
+      <artifactId>solr-test-framework</artifactId>
       <version>${project.version}</version>
-      <type>test-jar</type>
       <scope>test</scope>
     </dependency>
     <dependency>

Modified: lucene/dev/trunk/dev-tools/maven/solr/contrib/extraction/pom.xml.template
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/dev-tools/maven/solr/contrib/extraction/pom.xml.template?rev=1087722&r1=1087721&r2=1087722&view=diff
==============================================================================
--- lucene/dev/trunk/dev-tools/maven/solr/contrib/extraction/pom.xml.template (original)
+++ lucene/dev/trunk/dev-tools/maven/solr/contrib/extraction/pom.xml.template Fri Apr  1 14:41:09 2011
@@ -47,9 +47,8 @@
     </dependency>
     <dependency>
       <groupId>${project.groupId}</groupId>
-      <artifactId>solr-core</artifactId>
+      <artifactId>solr-test-framework</artifactId>
       <version>${project.version}</version>
-      <type>test-jar</type>
       <scope>test</scope>
     </dependency>
     <dependency>

Modified: lucene/dev/trunk/dev-tools/maven/solr/contrib/uima/pom.xml.template
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/dev-tools/maven/solr/contrib/uima/pom.xml.template?rev=1087722&r1=1087721&r2=1087722&view=diff
==============================================================================
--- lucene/dev/trunk/dev-tools/maven/solr/contrib/uima/pom.xml.template (original)
+++ lucene/dev/trunk/dev-tools/maven/solr/contrib/uima/pom.xml.template Fri Apr  1 14:41:09 2011
@@ -44,9 +44,8 @@
     </dependency>
     <dependency>
       <groupId>${project.groupId}</groupId>
-      <artifactId>solr-core</artifactId>
+      <artifactId>solr-test-framework</artifactId>
       <version>${project.version}</version>
-      <type>test-jar</type>
       <scope>test</scope>
     </dependency>
     <dependency>

Modified: lucene/dev/trunk/dev-tools/maven/solr/pom.xml.template
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/dev-tools/maven/solr/pom.xml.template?rev=1087722&r1=1087721&r2=1087722&view=diff
==============================================================================
--- lucene/dev/trunk/dev-tools/maven/solr/pom.xml.template (original)
+++ lucene/dev/trunk/dev-tools/maven/solr/pom.xml.template Fri Apr  1 14:41:09 2011
@@ -35,6 +35,7 @@
     <module>src</module>
     <module>src/solrj</module>
     <module>src/webapp</module>
+    <module>src/test-framework</module>
     <module>contrib</module>
   </modules>
   <properties>

Modified: lucene/dev/trunk/dev-tools/maven/solr/src/pom.xml.template
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/dev-tools/maven/solr/src/pom.xml.template?rev=1087722&r1=1087721&r2=1087722&view=diff
==============================================================================
--- lucene/dev/trunk/dev-tools/maven/solr/src/pom.xml.template (original)
+++ lucene/dev/trunk/dev-tools/maven/solr/src/pom.xml.template Fri Apr  1 14:41:09 2011
@@ -199,17 +199,6 @@
       </plugin>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-jar-plugin</artifactId>
-        <executions>
-          <execution>
-            <goals>
-              <goal>test-jar</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-surefire-plugin</artifactId>
         <configuration>
           <systemPropertyVariables>
@@ -248,6 +237,24 @@
           </programs>
         </configuration>
       </plugin>
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>build-helper-maven-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>add-test-source</id>
+            <phase>generate-test-sources</phase>
+            <goals>
+              <goal>add-test-source</goal>
+            </goals>
+            <configuration>
+              <sources>
+                <source>test-framework</source>
+              </sources>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
     </plugins>
   </build>
 </project>

Modified: lucene/dev/trunk/dev-tools/maven/solr/src/solrj/pom.xml.template
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/dev-tools/maven/solr/src/solrj/pom.xml.template?rev=1087722&r1=1087721&r2=1087722&view=diff
==============================================================================
--- lucene/dev/trunk/dev-tools/maven/solr/src/solrj/pom.xml.template (original)
+++ lucene/dev/trunk/dev-tools/maven/solr/src/solrj/pom.xml.template Fri Apr  1 14:41:09 2011
@@ -44,12 +44,6 @@
     </dependency>
     <dependency>
       <groupId>org.apache.lucene</groupId>
-      <artifactId>lucene-test-framework</artifactId>
-      <version>${project.version}</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.lucene</groupId>
       <artifactId>lucene-analyzers-common</artifactId>
       <version>${project.version}</version>
       <scope>test</scope>
@@ -88,11 +82,6 @@
       <groupId>org.slf4j</groupId>
       <artifactId>slf4j-api</artifactId>
     </dependency> 
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <scope>test</scope>
-    </dependency>
   </dependencies>
   <build>
     <directory>${build-directory}</directory>

Added: lucene/dev/trunk/dev-tools/maven/solr/src/test-framework/pom.xml.template
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/dev-tools/maven/solr/src/test-framework/pom.xml.template?rev=1087722&view=auto
==============================================================================
--- lucene/dev/trunk/dev-tools/maven/solr/src/test-framework/pom.xml.template (added)
+++ lucene/dev/trunk/dev-tools/maven/solr/src/test-framework/pom.xml.template Fri Apr  1 14:41:09 2011
@@ -0,0 +1,76 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <!--
+    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.
+  -->
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.apache.solr</groupId>
+    <artifactId>solr-parent</artifactId>
+    <version>@version@</version>
+    <relativePath>../../pom.xml</relativePath>
+  </parent>
+  <groupId>org.apache.solr</groupId>
+  <artifactId>solr-test-framework</artifactId>
+  <packaging>jar</packaging>
+  <name>Apache Solr Test Framework</name>
+  <description>Apache Solr Test Framework</description>
+  <properties>
+    <module-directory>solr/src/test-framework</module-directory>
+    <build-directory>../../build</build-directory>
+  </properties>
+  <dependencies>
+    <dependency>
+      <groupId>${project.groupId}</groupId>
+      <artifactId>solr-core</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.lucene</groupId>
+      <artifactId>lucene-test-framework</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+    </dependency>
+  </dependencies>
+  <build>
+    <directory>${build-directory}</directory>
+    <outputDirectory>${build-directory}/classes/test-framework</outputDirectory>
+    <sourceDirectory>.</sourceDirectory>
+    <resources>
+      <resource>
+        <directory>.</directory>
+        <excludes>
+          <exclude>**/*.java</exclude>
+        </excludes>
+      </resource>
+    </resources>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <configuration>
+          <skip>true</skip>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+</project>

Modified: lucene/dev/trunk/solr/build.xml
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/build.xml?rev=1087722&r1=1087721&r2=1087722&view=diff
==============================================================================
--- lucene/dev/trunk/solr/build.xml (original)
+++ lucene/dev/trunk/solr/build.xml Fri Apr  1 14:41:09 2011
@@ -176,6 +176,24 @@
     </sequential>
   </target>
 
+  <target name="javadoc-test-framework" depends="compileTestFramework,javadoc-dep"
+          description="Generates javadoc documentation for the Solr test-framework.">
+    <sequential>
+      <mkdir dir="${build.javadoc}/test-framework"/>
+
+      <path id="javadoc.classpath">
+        <path refid="testframework.compile.classpath"/>
+      </path>
+
+      <invoke-javadoc
+        destdir="${build.javadoc}/test-framework"
+      	title="${Name} ${version} Test Framework API (${specversion})">
+        <sources>
+          <packageset dir="${src}/test-framework" />
+        </sources>
+      </invoke-javadoc>
+    </sequential>
+  </target>
 
   <target name="javadoc-all" depends="compile,javadoc-dep" description="Generate javadoc for core, client and contrib">
     <sequential>
@@ -221,7 +239,7 @@
                    failonerror="true"/>
   </target>
 
-  <target name="javadoc" depends="javadoc-core, javadoc-contrib, javadoc-solrj, javadoc-all">
+  <target name="javadoc" depends="javadoc-core, javadoc-test-framework, javadoc-contrib, javadoc-solrj, javadoc-all">
   </target>
   <target name="javadocs" depends="javadoc"/>
 
@@ -320,13 +338,18 @@
 
   <!-- Classpath for unit test compilation. -->
   <!-- For now, it's the same as main classpath.  Later it will have JUnit, Clover, etc. -->
-  <path id="test.compile.classpath">
+  <path id="testframework.compile.classpath">
     <path refid="compile.classpath" />
     <path refid="compile.classpath.solrj" />
     <pathelement location="${dest}/solr"/>
     <pathelement location="${dest}/solrj"/> <!-- include solrj -->
     <pathelement location="${common-solr.dir}/../lucene/build/classes/test-framework" />  <!-- include some lucene test code -->
   </path>
+	
+  <path id="test.compile.classpath">
+    <path refid="testframework.compile.classpath"/>
+    <pathelement location="${dest}/test-framework"/> <!-- include some solr test code -->
+  </path>
 
   <path id="test.run.classpath">
     <path refid="test.compile.classpath" />
@@ -337,10 +360,19 @@
     <pathelement path="${java.class.path}"/>
   </path>
 
+  <target name="compileTestFramework" depends="compile,compile-solrj">
+    <mkdir dir="${dest}/test-framework"/>
+  	<solr-javac
+      destdir="${dest}/test-framework"
+  	  classpathref="testframework.compile.classpath">
+        <src path="${src}/test-framework"/>
+  	</solr-javac>
+  </target>
+
   <!-- Compile unit tests. -->
   <target name="compileTests"
           description="Compile unit tests."
-          depends="compile,compile-solrj">
+          depends="compileTestFramework">
 
     <mkdir dir="${dest}/tests" />
     <solr-javac 
@@ -577,7 +609,7 @@
   <!-- Creates the Solr distribution files. -->
   <target name="dist"
           description="Creates the Solr distribution files."
-          depends="dist-solrj, dist-jar, dist-contrib, dist-war" />
+          depends="dist-solrj, dist-jar, dist-test-framework, dist-contrib, dist-war" />
 
   <!-- Creates the Solr WAR file. -->
   <target name="dist-war"
@@ -625,6 +657,9 @@
       <fileset dir="${src}/webapp/src"/>
     </solr-jar>
   	
+    <solr-jar destfile="${dist}/${fullname}-test-framework-src-${version}.jar"
+              basedir="${src}/test-framework" />
+
     <solr-jar destfile="${dist}/apache-solr-dataimporthandler-src-${version}.jar"
               basedir="contrib/dataimporthandler/src/main/java" />
     <solr-jar destfile="${dist}/apache-solr-dataimporthandler-extras-src-${version}.jar"
@@ -650,6 +685,8 @@
               basedir="${build.javadoc}/solr" />
     <solr-jar destfile="${dist}/${fullname}-solrj-docs-${version}.jar"
               basedir="${build.javadoc}/solrj" />
+    <solr-jar destfile="${dist}/${fullname}-test-framework-docs-${version}.jar"
+              basedir="${build.javadoc}/test-framework" />
     <solr-jar destfile="${dist}/apache-solr-dataimporthandler-docs-${version}.jar"
               basedir="${build.javadoc}/contrib-solr-dataimporthandler" />
     <solr-jar destfile="${dist}/apache-solr-clustering-docs-${version}.jar"
@@ -673,6 +710,16 @@
 
   </target>
 
+  <!-- Creates the test-framework jar -->
+  <target name="dist-test-framework"
+          description="Creates the Solr test-framework JAR."
+          depends="compileTestFramework">
+    <mkdir dir="${dist}" />
+    <solr-jar destfile="${dist}/${fullname}-test-framework-${version}.jar">
+      <fileset dir="${dest}/test-framework" />
+    </solr-jar>
+  </target>
+
   <!-- Creates the solr jar. -->
   <target name="dist-solrj"
           description="Creates the Solr JAR Distribution file."
@@ -914,6 +961,7 @@
     <sign-maven-artifacts artifact.id="solr-dataimporthandler-extras" gpg.passphrase="${gpg.passphrase}"/>
     <sign-maven-artifacts artifact.id="solr-solrj" gpg.passphrase="${gpg.passphrase}"/>
     <sign-maven-artifacts artifact.id="solr-uima" gpg.passphrase="${gpg.passphrase}"/>
+    <sign-maven-artifacts artifact.id="solr-test-framework" gpg.passphrase="${gpg.passphrase}"/>
 
     <!-- These are special since there are no jars, just poms -->
     <sign-artifact input.file="${maven.dist.prefix}/solr-parent/${version}/solr-parent-${version}.pom" gpg.passphrase="${gpg.passphrase}"/>
@@ -1054,6 +1102,14 @@
 
       <m2-deploy pom.xml="src/webapp/pom.xml"
                  jar.file="${dist}/apache-solr-${version}.war"/>
+
+      <m2-deploy pom.xml="${src}/test-framework/pom.xml"
+                 jar.file="${dist}/${fullname}-test-framework-${version}.jar">
+        <artifact-attachments>
+          <attach file="${dist}/${fullname}-test-framework-src-${version}.jar" classifier="sources"/>
+          <attach file="${dist}/${fullname}-test-framework-docs-${version}.jar" classifier="javadoc"/>
+        </artifact-attachments>
+      </m2-deploy>
     </sequential>
   </target>
 

Modified: lucene/dev/trunk/solr/contrib/analysis-extras/build.xml
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/contrib/analysis-extras/build.xml?rev=1087722&r1=1087721&r2=1087722&view=diff
==============================================================================
--- lucene/dev/trunk/solr/contrib/analysis-extras/build.xml (original)
+++ lucene/dev/trunk/solr/contrib/analysis-extras/build.xml Fri Apr  1 14:41:09 2011
@@ -72,7 +72,7 @@
     <pathelement path="${dest}/classes"/>
     <pathelement path="${dest}/test-classes"/>
     <pathelement path="${java.class.path}"/>
-    <pathelement location="${common-solr.dir}/build/tests"/> <!-- include solr test code -->
+    <pathelement location="${common-solr.dir}/build/test-framework"/> <!-- include solr test code -->
     <pathelement location="${common-solr.dir}/../lucene/build/classes/test-framework" />  <!-- include some lucene test code -->
     <path refid="common.classpath"/>
   </path>
@@ -92,7 +92,7 @@
     <mkdir dir="${dest}/classes"/>
     
     <mkdir dir="${build.javadoc}"/>
-    <subant target="compileTests">
+    <subant target="compileTestFramework">
       <fileset dir="${solr-path}" includes="build.xml"/>
     </subant>
     <subant target="make-manifest">

Modified: lucene/dev/trunk/solr/contrib/clustering/build.xml
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/contrib/clustering/build.xml?rev=1087722&r1=1087721&r2=1087722&view=diff
==============================================================================
--- lucene/dev/trunk/solr/contrib/clustering/build.xml (original)
+++ lucene/dev/trunk/solr/contrib/clustering/build.xml Fri Apr  1 14:41:09 2011
@@ -41,8 +41,8 @@
     <pathelement path="${dest}/classes"/>
     <pathelement path="${dest}/test-classes"/>
     <pathelement path="${java.class.path}"/>
-    <pathelement location="${common-solr.dir}/build/tests"/> <!-- include solr test code -->
-    <pathelement location="${common-solr.dir}/../lucene/build/classes/test-framework" />  <!-- include some lucene test code -->
+    <pathelement location="${solr-path}/build/test-framework"/> <!-- include solr test code -->
+    <pathelement location="${solr-path}/../lucene/build/classes/test-framework" />  <!-- include some lucene test code -->
     <path refid="common.classpath"/>
     <!-- DistributedClusteringComponentTest uses Jetty -->
     <fileset dir="${solr-path}/example/lib">
@@ -64,7 +64,7 @@
     <mkdir dir="${dest}/classes"/>
     
     <mkdir dir="${build.javadoc}"/>
-    <subant target="compileTests">
+    <subant target="compileTestFramework">
       <fileset dir="${solr-path}" includes="build.xml"/>
     </subant>
     <subant target="make-manifest">

Modified: lucene/dev/trunk/solr/contrib/dataimporthandler/build.xml
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/contrib/dataimporthandler/build.xml?rev=1087722&r1=1087721&r2=1087722&view=diff
==============================================================================
--- lucene/dev/trunk/solr/contrib/dataimporthandler/build.xml (original)
+++ lucene/dev/trunk/solr/contrib/dataimporthandler/build.xml Fri Apr  1 14:41:09 2011
@@ -55,7 +55,7 @@
   	<path refid="classpath.jetty" />
 	  <pathelement path="target/classes" />
   	<pathelement path="target/test-classes" />
-    <pathelement location="${solr-path}/build/tests"/> <!-- include solr test code -->
+    <pathelement location="${solr-path}/build/test-framework"/> <!-- include solr test code -->
     <pathelement location="${solr-path}/../lucene/build/classes/test-framework" />  <!-- include some lucene test code -->
     <pathelement path="${java.class.path}"/>
   </path>
@@ -67,7 +67,7 @@
 	  <pathelement path="target/extras/classes" />
   	<pathelement path="target/test-classes" />
   	<pathelement path="target/extras/test-classes" />
-    <pathelement location="${solr-path}/build/tests"/> <!-- include solr test code -->
+    <pathelement location="${solr-path}/build/test-framework"/> <!-- include solr test code -->
     <pathelement location="${solr-path}/../lucene/build/classes/test-framework" />  <!-- include some lucene test code -->
     <pathelement path="${java.class.path}"/>
   </path>
@@ -89,7 +89,7 @@
   <target name="init">
   	<mkdir dir="target/classes"/>
     <mkdir dir="${build.javadoc}" />
-    <subant target="compileTests">
+    <subant target="compileTestFramework">
       <fileset dir="${solr-path}" includes="build.xml"/>
     </subant>
     <subant target="make-manifest">

Modified: lucene/dev/trunk/solr/contrib/extraction/build.xml
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/contrib/extraction/build.xml?rev=1087722&r1=1087721&r2=1087722&view=diff
==============================================================================
--- lucene/dev/trunk/solr/contrib/extraction/build.xml (original)
+++ lucene/dev/trunk/solr/contrib/extraction/build.xml Fri Apr  1 14:41:09 2011
@@ -39,7 +39,7 @@
     <path refid="common.classpath" />
     <pathelement path="${dest}/classes" />
     <pathelement path="${dest}/test-classes" />
-    <pathelement location="${solr-path}/build/tests"/> <!-- include solr test code -->
+    <pathelement location="${solr-path}/build/test-framework"/> <!-- include solr test code -->
     <pathelement location="${solr-path}/../lucene/build/classes/test-framework" />  <!-- include some lucene test code -->
     <pathelement path="${java.class.path}"/>
   </path>
@@ -51,7 +51,7 @@
   <target name="init">
     <mkdir dir="${dest}/classes"/>
     <mkdir dir="${build.javadoc}" />
-    <subant target="compileTests">
+    <subant target="compileTestFramework">
       <fileset dir="${solr-path}" includes="build.xml"/>
     </subant>
     <subant target="make-manifest">

Modified: lucene/dev/trunk/solr/contrib/uima/build.xml
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/contrib/uima/build.xml?rev=1087722&r1=1087721&r2=1087722&view=diff
==============================================================================
--- lucene/dev/trunk/solr/contrib/uima/build.xml (original)
+++ lucene/dev/trunk/solr/contrib/uima/build.xml Fri Apr  1 14:41:09 2011
@@ -40,7 +40,7 @@
     <path refid="common.classpath" />
     <pathelement path="${dest}/classes" />
     <pathelement path="${dest}/test-classes" />
-    <pathelement location="${solr-path}/build/tests"/> <!-- include solr test code -->
+    <pathelement location="${solr-path}/build/test-framework"/> <!-- include solr test code -->
     <pathelement location="${solr-path}/../lucene/build/classes/test-framework" />  <!-- include some lucene test code -->
     <pathelement path="${java.class.path}"/>
   </path>
@@ -52,7 +52,7 @@
   <target name="init">
     <mkdir dir="${dest}/classes"/>
     <mkdir dir="${build.javadoc}" />
-    <subant target="compileTests">
+    <subant target="compileTestFramework">
       <fileset dir="${solr-path}" includes="build.xml"/>
     </subant>
     <subant target="make-manifest">

Modified: lucene/dev/trunk/solr/site/features.html
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/site/features.html?rev=1087722&r1=1087721&r2=1087722&view=diff
==============================================================================
--- lucene/dev/trunk/solr/site/features.html (original)
+++ lucene/dev/trunk/solr/site/features.html Fri Apr  1 14:41:09 2011
@@ -130,6 +130,9 @@ document.write("Last Published: " + docu
 <div class="menuitem">
 <a href="api/solrj/index.html">SolrJ Javadoc</a>
 </div>
+<div class="menuitem">
+<a href="api/test-framework/index.html">Test Framework Javadoc</a>
+</div>
 </div>
 <div onclick="SwitchMenu('menu_1.3', 'skin/')" id="menu_1.3Title" class="menutitle">Resources</div>
 <div id="menu_1.3" class="menuitemgroup">

Modified: lucene/dev/trunk/solr/site/index.html
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/site/index.html?rev=1087722&r1=1087721&r2=1087722&view=diff
==============================================================================
--- lucene/dev/trunk/solr/site/index.html (original)
+++ lucene/dev/trunk/solr/site/index.html Fri Apr  1 14:41:09 2011
@@ -130,6 +130,9 @@ document.write("Last Published: " + docu
 <div class="menuitem">
 <a href="api/solrj/index.html">SolrJ Javadoc</a>
 </div>
+<div class="menuitem">
+<a href="api/test-framework/index.html">Test Framework Javadoc</a>
+</div>
 </div>
 <div onclick="SwitchMenu('menu_1.3', 'skin/')" id="menu_1.3Title" class="menutitle">Resources</div>
 <div id="menu_1.3" class="menuitemgroup">

Modified: lucene/dev/trunk/solr/site/issue_tracking.html
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/site/issue_tracking.html?rev=1087722&r1=1087721&r2=1087722&view=diff
==============================================================================
--- lucene/dev/trunk/solr/site/issue_tracking.html (original)
+++ lucene/dev/trunk/solr/site/issue_tracking.html Fri Apr  1 14:41:09 2011
@@ -130,6 +130,9 @@ document.write("Last Published: " + docu
 <div class="menuitem">
 <a href="api/solrj/index.html">SolrJ Javadoc</a>
 </div>
+<div class="menuitem">
+<a href="api/test-framework/index.html">Test Framework Javadoc</a>
+</div>
 </div>
 <div onclick="SwitchMenu('menu_selected_1.3', 'skin/')" id="menu_selected_1.3Title" class="menutitle" style="background-image: url('skin/images/chapter_open.gif');">Resources</div>
 <div id="menu_selected_1.3" class="selectedmenuitemgroup" style="display: block;">

Modified: lucene/dev/trunk/solr/site/linkmap.html
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/site/linkmap.html?rev=1087722&r1=1087721&r2=1087722&view=diff
==============================================================================
--- lucene/dev/trunk/solr/site/linkmap.html (original)
+++ lucene/dev/trunk/solr/site/linkmap.html Fri Apr  1 14:41:09 2011
@@ -130,6 +130,9 @@ document.write("Last Published: " + docu
 <div class="menuitem">
 <a href="api/solrj/index.html">SolrJ Javadoc</a>
 </div>
+<div class="menuitem">
+<a href="api/test-framework/index.html">Test Framework Javadoc</a>
+</div>
 </div>
 <div onclick="SwitchMenu('menu_1.3', 'skin/')" id="menu_1.3Title" class="menutitle">Resources</div>
 <div id="menu_1.3" class="menuitemgroup">
@@ -285,6 +288,12 @@ document.write("Last Published: " + docu
 <a href="api/solrj/index.html">SolrJ Javadoc</a>&nbsp;&nbsp;___________________&nbsp;&nbsp;<em>apidocs</em>
 </li>
 </ul>
+    
+<ul>
+<li>
+<a href="api/test-framework/index.html">Test Framework Javadoc</a>&nbsp;&nbsp;___________________&nbsp;&nbsp;<em>apidocs</em>
+</li>
+</ul>
   
 </ul>
 </ul>

Modified: lucene/dev/trunk/solr/site/linkmap.pdf
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/site/linkmap.pdf?rev=1087722&r1=1087721&r2=1087722&view=diff
==============================================================================
Binary files - no diff available.

Modified: lucene/dev/trunk/solr/site/mailing_lists.html
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/site/mailing_lists.html?rev=1087722&r1=1087721&r2=1087722&view=diff
==============================================================================
--- lucene/dev/trunk/solr/site/mailing_lists.html (original)
+++ lucene/dev/trunk/solr/site/mailing_lists.html Fri Apr  1 14:41:09 2011
@@ -130,6 +130,9 @@ document.write("Last Published: " + docu
 <div class="menuitem">
 <a href="api/solrj/index.html">SolrJ Javadoc</a>
 </div>
+<div class="menuitem">
+<a href="api/test-framework/index.html">Test Framework Javadoc</a>
+</div>
 </div>
 <div onclick="SwitchMenu('menu_selected_1.3', 'skin/')" id="menu_selected_1.3Title" class="menutitle" style="background-image: url('skin/images/chapter_open.gif');">Resources</div>
 <div id="menu_selected_1.3" class="selectedmenuitemgroup" style="display: block;">

Modified: lucene/dev/trunk/solr/site/skin/basic.css
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/site/skin/basic.css?rev=1087722&r1=1087721&r2=1087722&view=diff
==============================================================================
--- lucene/dev/trunk/solr/site/skin/basic.css (original)
+++ lucene/dev/trunk/solr/site/skin/basic.css Fri Apr  1 14:41:09 2011
@@ -163,4 +163,4 @@ p {
 .codefrag {
   font-family: "Courier New", Courier, monospace;
   font-size: 110%;
-}
\ No newline at end of file
+}

Modified: lucene/dev/trunk/solr/site/skin/print.css
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/site/skin/print.css?rev=1087722&r1=1087721&r2=1087722&view=diff
==============================================================================
--- lucene/dev/trunk/solr/site/skin/print.css (original)
+++ lucene/dev/trunk/solr/site/skin/print.css Fri Apr  1 14:41:09 2011
@@ -51,4 +51,4 @@ a:link, a:visited {
 
 acronym {
   border: 0;
-}
\ No newline at end of file
+}

Modified: lucene/dev/trunk/solr/site/skin/profile.css
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/site/skin/profile.css?rev=1087722&r1=1087721&r2=1087722&view=diff
==============================================================================
--- lucene/dev/trunk/solr/site/skin/profile.css (original)
+++ lucene/dev/trunk/solr/site/skin/profile.css Fri Apr  1 14:41:09 2011
@@ -172,4 +172,4 @@ a:hover { color:#6587ff} 
     }
       
     
-  
\ No newline at end of file
+  

Modified: lucene/dev/trunk/solr/site/skin/screen.css
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/site/skin/screen.css?rev=1087722&r1=1087721&r2=1087722&view=diff
==============================================================================
--- lucene/dev/trunk/solr/site/skin/screen.css (original)
+++ lucene/dev/trunk/solr/site/skin/screen.css Fri Apr  1 14:41:09 2011
@@ -584,4 +584,4 @@ p.instruction {
   list-style-image: url('../images/instruction_arrow.png');
   list-style-position: outside;
   margin-left: 2em;
-} 
\ No newline at end of file
+} 

Modified: lucene/dev/trunk/solr/site/tutorial.html
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/site/tutorial.html?rev=1087722&r1=1087721&r2=1087722&view=diff
==============================================================================
--- lucene/dev/trunk/solr/site/tutorial.html (original)
+++ lucene/dev/trunk/solr/site/tutorial.html Fri Apr  1 14:41:09 2011
@@ -130,6 +130,9 @@ document.write("Last Published: " + docu
 <div class="menuitem">
 <a href="api/solrj/index.html">SolrJ Javadoc</a>
 </div>
+<div class="menuitem">
+<a href="api/test-framework/index.html">Test Framework Javadoc</a>
+</div>
 </div>
 <div onclick="SwitchMenu('menu_1.3', 'skin/')" id="menu_1.3Title" class="menutitle">Resources</div>
 <div id="menu_1.3" class="menuitemgroup">

Modified: lucene/dev/trunk/solr/site/version_control.html
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/site/version_control.html?rev=1087722&r1=1087721&r2=1087722&view=diff
==============================================================================
--- lucene/dev/trunk/solr/site/version_control.html (original)
+++ lucene/dev/trunk/solr/site/version_control.html Fri Apr  1 14:41:09 2011
@@ -130,6 +130,9 @@ document.write("Last Published: " + docu
 <div class="menuitem">
 <a href="api/solrj/index.html">SolrJ Javadoc</a>
 </div>
+<div class="menuitem">
+<a href="api/test-framework/index.html">Test Framework Javadoc</a>
+</div>
 </div>
 <div onclick="SwitchMenu('menu_selected_1.3', 'skin/')" id="menu_selected_1.3Title" class="menutitle" style="background-image: url('skin/images/chapter_open.gif');">Resources</div>
 <div id="menu_selected_1.3" class="selectedmenuitemgroup" style="display: block;">

Modified: lucene/dev/trunk/solr/src/site/src/documentation/content/xdocs/site.xml
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/src/site/src/documentation/content/xdocs/site.xml?rev=1087722&r1=1087721&r2=1087722&view=diff
==============================================================================
--- lucene/dev/trunk/solr/src/site/src/documentation/content/xdocs/site.xml (original)
+++ lucene/dev/trunk/solr/src/site/src/documentation/content/xdocs/site.xml Fri Apr  1 14:41:09 2011
@@ -42,12 +42,13 @@ See http://forrest.apache.org/docs/linki
   </about>
 
   <docs label="Documentation">
-    <features    label="Features"         href="features.html" />
-    <tutorial    label="Tutorial"         href="tutorial.html" />
-    <wiki        label="Docs (Wiki)" href="ext:wiki" />
-    <faq         label="FAQ"              href="ext:faq" />
-    <apidocs     label="All Javadoc"     href="api/index.html" />
-    <apidocs     label="SolrJ Javadoc"     href="api/solrj/index.html" />
+    <features    label="Features"                href="features.html" />
+    <tutorial    label="Tutorial"                href="tutorial.html" />
+    <wiki        label="Docs (Wiki)"             href="ext:wiki" />
+    <faq         label="FAQ"                     href="ext:faq" />
+    <apidocs     label="All Javadoc"             href="api/index.html" />
+    <apidocs     label="SolrJ Javadoc"           href="api/solrj/index.html" />
+    <apidocs     label="Test Framework Javadoc"  href="api/test-framework/index.html" />
   </docs>
 
   <resources label="Resources">

Copied: lucene/dev/trunk/solr/src/test-framework/org/apache/solr/BaseDistributedSearchTestCase.java (from r1087699, lucene/dev/trunk/solr/src/test/org/apache/solr/BaseDistributedSearchTestCase.java)
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/src/test-framework/org/apache/solr/BaseDistributedSearchTestCase.java?p2=lucene/dev/trunk/solr/src/test-framework/org/apache/solr/BaseDistributedSearchTestCase.java&p1=lucene/dev/trunk/solr/src/test/org/apache/solr/BaseDistributedSearchTestCase.java&r1=1087699&r2=1087722&rev=1087722&view=diff
==============================================================================
--- lucene/dev/trunk/solr/src/test/org/apache/solr/BaseDistributedSearchTestCase.java (original)
+++ lucene/dev/trunk/solr/src/test-framework/org/apache/solr/BaseDistributedSearchTestCase.java Fri Apr  1 14:41:09 2011
@@ -150,7 +150,7 @@ public abstract class BaseDistributedSea
    * (default is in test-files)
    */
   public String getSolrHome() {
-    return SolrTestCaseJ4.TEST_HOME;
+    return SolrTestCaseJ4.TEST_HOME();
   }
   
   @Override

Copied: lucene/dev/trunk/solr/src/test-framework/org/apache/solr/SolrTestCaseJ4.java (from r1087699, lucene/dev/trunk/solr/src/test/org/apache/solr/SolrTestCaseJ4.java)
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/src/test-framework/org/apache/solr/SolrTestCaseJ4.java?p2=lucene/dev/trunk/solr/src/test-framework/org/apache/solr/SolrTestCaseJ4.java&p1=lucene/dev/trunk/solr/src/test/org/apache/solr/SolrTestCaseJ4.java&r1=1087699&r2=1087722&rev=1087722&view=diff
==============================================================================
--- lucene/dev/trunk/solr/src/test/org/apache/solr/SolrTestCaseJ4.java (original)
+++ lucene/dev/trunk/solr/src/test-framework/org/apache/solr/SolrTestCaseJ4.java Fri Apr  1 14:41:09 2011
@@ -86,7 +86,7 @@ public abstract class SolrTestCaseJ4 ext
   /** Call initCore in @BeforeClass to instantiate a solr core in your test class.
    * deleteCore will be called for you via SolrTestCaseJ4 @AfterClass */
   public static void initCore(String config, String schema) throws Exception {
-    initCore(config, schema, TEST_HOME);
+    initCore(config, schema, TEST_HOME());
   }
 
   /** Call initCore in @BeforeClass to instantiate a solr core in your test class.
@@ -1057,22 +1057,8 @@ public abstract class SolrTestCaseJ4 ext
     }
   }
   
-  private static final String SOURCE_HOME = determineSourceHome();
-  public static String TEST_HOME = getFile("solr/conf").getParent();
-  public static String WEBAPP_HOME = new File(SOURCE_HOME, "src/webapp/web").getAbsolutePath();
-  public static String EXAMPLE_HOME = new File(SOURCE_HOME, "example/solr").getAbsolutePath();
-  public static String EXAMPLE_MULTICORE_HOME = new File(SOURCE_HOME, "example/multicore").getAbsolutePath();
-  public static String EXAMPLE_SCHEMA=EXAMPLE_HOME+"/conf/schema.xml";
-  public static String EXAMPLE_CONFIG=EXAMPLE_HOME+"/conf/solrconfig.xml";
-  
-  static String determineSourceHome() {
-    // ugly, ugly hack to determine the example home without depending on the CWD
-    // this is needed for example/multicore tests which reside outside the classpath
-    File base = getFile("solr/conf/").getAbsoluteFile();
-    while (!new File(base, "solr/CHANGES.txt").exists()) {
-      base = base.getParentFile();
-    }
-    return new File(base, "solr/").getAbsolutePath();
+  public static String TEST_HOME() {
+    return getFile("solr/conf").getParent();
   }
 
   public static Throwable getRootCause(Throwable t) {

Copied: lucene/dev/trunk/solr/src/test-framework/org/apache/solr/util/AbstractSolrTestCase.java (from r1087699, lucene/dev/trunk/solr/src/test/org/apache/solr/util/AbstractSolrTestCase.java)
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/src/test-framework/org/apache/solr/util/AbstractSolrTestCase.java?p2=lucene/dev/trunk/solr/src/test-framework/org/apache/solr/util/AbstractSolrTestCase.java&p1=lucene/dev/trunk/solr/src/test/org/apache/solr/util/AbstractSolrTestCase.java&r1=1087699&r2=1087722&rev=1087722&view=diff
==============================================================================
--- lucene/dev/trunk/solr/src/test/org/apache/solr/util/AbstractSolrTestCase.java (original)
+++ lucene/dev/trunk/solr/src/test-framework/org/apache/solr/util/AbstractSolrTestCase.java Fri Apr  1 14:41:09 2011
@@ -90,7 +90,7 @@ public abstract class AbstractSolrTestCa
    * (default is in test-files)
    */
   public String getSolrHome() {
-    return SolrTestCaseJ4.TEST_HOME;
+    return SolrTestCaseJ4.TEST_HOME();
   }
   
   /**

Copied: lucene/dev/trunk/solr/src/test-framework/org/apache/solr/util/TestHarness.java (from r1087699, lucene/dev/trunk/solr/src/java/org/apache/solr/util/TestHarness.java)
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/src/test-framework/org/apache/solr/util/TestHarness.java?p2=lucene/dev/trunk/solr/src/test-framework/org/apache/solr/util/TestHarness.java&p1=lucene/dev/trunk/solr/src/java/org/apache/solr/util/TestHarness.java&r1=1087699&r2=1087722&rev=1087722&view=diff
==============================================================================
--- lucene/dev/trunk/solr/src/java/org/apache/solr/util/TestHarness.java (original)
+++ lucene/dev/trunk/solr/src/test-framework/org/apache/solr/util/TestHarness.java Fri Apr  1 14:41:09 2011
@@ -61,7 +61,7 @@ import java.util.Map;
  * writing testcases.
  *
  * <p>
- * This class lives in the main source tree (and not in the test source
+ * This class lives in the tests-framework source tree (and not in the test source
  * tree), so that it will be included with even the most minimal solr
  * distribution, in order to encourage plugin writers to create unit 
  * tests for their plugins.

Modified: lucene/dev/trunk/solr/src/test/org/apache/solr/client/solrj/MergeIndexesExampleTestBase.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/src/test/org/apache/solr/client/solrj/MergeIndexesExampleTestBase.java?rev=1087722&r1=1087721&r2=1087722&view=diff
==============================================================================
--- lucene/dev/trunk/solr/src/test/org/apache/solr/client/solrj/MergeIndexesExampleTestBase.java (original)
+++ lucene/dev/trunk/solr/src/test/org/apache/solr/client/solrj/MergeIndexesExampleTestBase.java Fri Apr  1 14:41:09 2011
@@ -24,6 +24,7 @@ import org.apache.solr.client.solrj.requ
 import org.apache.solr.common.SolrInputDocument;
 import org.apache.solr.core.CoreContainer;
 import org.apache.solr.core.SolrCore;
+import org.apache.solr.util.ExternalPaths;
 
 /**
  * Abstract base class for testing merge indexes command
@@ -37,7 +38,7 @@ public abstract class MergeIndexesExampl
 
   @Override
   public String getSolrHome() {
-    return SolrJettyTestBase.EXAMPLE_MULTICORE_HOME;
+    return ExternalPaths.EXAMPLE_MULTICORE_HOME;
   }
 
   @Override

Modified: lucene/dev/trunk/solr/src/test/org/apache/solr/client/solrj/MultiCoreExampleTestBase.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/src/test/org/apache/solr/client/solrj/MultiCoreExampleTestBase.java?rev=1087722&r1=1087721&r2=1087722&view=diff
==============================================================================
--- lucene/dev/trunk/solr/src/test/org/apache/solr/client/solrj/MultiCoreExampleTestBase.java (original)
+++ lucene/dev/trunk/solr/src/test/org/apache/solr/client/solrj/MultiCoreExampleTestBase.java Fri Apr  1 14:41:09 2011
@@ -25,6 +25,7 @@ import org.apache.solr.client.solrj.resp
 import org.apache.solr.common.SolrInputDocument;
 import org.apache.solr.core.CoreContainer;
 import org.apache.solr.core.SolrCore;
+import org.apache.solr.util.ExternalPaths;
 
 
 /**
@@ -36,7 +37,7 @@ public abstract class MultiCoreExampleTe
   // protected static final CoreContainer cores = new CoreContainer();
   protected static CoreContainer cores;
 
-  @Override public String getSolrHome() { return SolrJettyTestBase.EXAMPLE_MULTICORE_HOME; }
+  @Override public String getSolrHome() { return ExternalPaths.EXAMPLE_MULTICORE_HOME; }
   
   @Override public String getSchemaFile()     { return getSolrHome()+"/core0/conf/schema.xml";     }
   @Override public String getSolrConfigFile() { return getSolrHome()+"/core0/conf/solrconfig.xml"; }

Modified: lucene/dev/trunk/solr/src/test/org/apache/solr/client/solrj/SolrExampleBinaryTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/src/test/org/apache/solr/client/solrj/SolrExampleBinaryTest.java?rev=1087722&r1=1087721&r2=1087722&view=diff
==============================================================================
--- lucene/dev/trunk/solr/src/test/org/apache/solr/client/solrj/SolrExampleBinaryTest.java (original)
+++ lucene/dev/trunk/solr/src/test/org/apache/solr/client/solrj/SolrExampleBinaryTest.java Fri Apr  1 14:41:09 2011
@@ -22,6 +22,7 @@ import org.apache.solr.client.solrj.Solr
 import org.apache.solr.client.solrj.impl.BinaryRequestWriter;
 import org.apache.solr.client.solrj.impl.BinaryResponseParser;
 import org.apache.solr.client.solrj.impl.CommonsHttpSolrServer;
+import org.apache.solr.util.ExternalPaths;
 import org.junit.BeforeClass;
 
 
@@ -32,7 +33,7 @@ import org.junit.BeforeClass;
 public class SolrExampleBinaryTest extends SolrExampleTests {
   @BeforeClass
   public static void beforeTest() throws Exception {
-    createJetty(EXAMPLE_HOME, null, null);
+    createJetty(ExternalPaths.EXAMPLE_HOME, null, null);
   }
 
   @Override

Modified: lucene/dev/trunk/solr/src/test/org/apache/solr/client/solrj/SolrJettyTestBase.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/src/test/org/apache/solr/client/solrj/SolrJettyTestBase.java?rev=1087722&r1=1087721&r2=1087722&view=diff
==============================================================================
--- lucene/dev/trunk/solr/src/test/org/apache/solr/client/solrj/SolrJettyTestBase.java (original)
+++ lucene/dev/trunk/solr/src/test/org/apache/solr/client/solrj/SolrJettyTestBase.java Fri Apr  1 14:41:09 2011
@@ -24,6 +24,7 @@ import org.apache.solr.SolrTestCaseJ4;
 import org.apache.solr.client.solrj.embedded.EmbeddedSolrServer;
 import org.apache.solr.client.solrj.embedded.JettySolrRunner;
 import org.apache.solr.client.solrj.impl.CommonsHttpSolrServer;
+import org.apache.solr.util.ExternalPaths;
 import org.junit.AfterClass;
 
 abstract public class SolrJettyTestBase extends SolrTestCaseJ4 
@@ -32,7 +33,7 @@ abstract public class SolrJettyTestBase 
   // using configs in the test directory allows more flexibility to change "example"
   // without breaking configs.
 
-  public String getSolrHome() { return EXAMPLE_HOME; }
+  public String getSolrHome() { return ExternalPaths.EXAMPLE_HOME; }
 
   public static JettySolrRunner jetty;
   public static int port;

Modified: lucene/dev/trunk/solr/src/test/org/apache/solr/client/solrj/TestBatchUpdate.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/src/test/org/apache/solr/client/solrj/TestBatchUpdate.java?rev=1087722&r1=1087721&r2=1087722&view=diff
==============================================================================
--- lucene/dev/trunk/solr/src/test/org/apache/solr/client/solrj/TestBatchUpdate.java (original)
+++ lucene/dev/trunk/solr/src/test/org/apache/solr/client/solrj/TestBatchUpdate.java Fri Apr  1 14:41:09 2011
@@ -22,6 +22,7 @@ import org.apache.solr.client.solrj.impl
 import org.apache.solr.client.solrj.request.RequestWriter;
 import org.apache.solr.client.solrj.response.QueryResponse;
 import org.apache.solr.common.SolrInputDocument;
+import org.apache.solr.util.ExternalPaths;
 import org.junit.BeforeClass;
 import org.junit.Test;
 
@@ -38,7 +39,7 @@ public class TestBatchUpdate extends Sol
 
   @BeforeClass
   public static void beforeTest() throws Exception {
-    createJetty(EXAMPLE_HOME, null, null);
+    createJetty(ExternalPaths.EXAMPLE_HOME, null, null);
   }
 
   static final int numdocs = 1000;  

Modified: lucene/dev/trunk/solr/src/test/org/apache/solr/client/solrj/embedded/JettyWebappTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/src/test/org/apache/solr/client/solrj/embedded/JettyWebappTest.java?rev=1087722&r1=1087721&r2=1087722&view=diff
==============================================================================
--- lucene/dev/trunk/solr/src/test/org/apache/solr/client/solrj/embedded/JettyWebappTest.java (original)
+++ lucene/dev/trunk/solr/src/test/org/apache/solr/client/solrj/embedded/JettyWebappTest.java Fri Apr  1 14:41:09 2011
@@ -26,6 +26,7 @@ import org.apache.lucene.util.LuceneTest
 import org.apache.commons.io.IOUtils;
 import org.apache.solr.SolrTestCaseJ4;
 import org.apache.solr.client.solrj.SolrJettyTestBase;
+import org.apache.solr.util.ExternalPaths;
 import org.mortbay.jetty.Connector;
 import org.mortbay.jetty.Server;
 import org.mortbay.jetty.bio.SocketConnector;
@@ -47,13 +48,13 @@ public class JettyWebappTest extends Luc
   public void setUp() throws Exception 
   {
     super.setUp();
-    System.setProperty("solr.solr.home", SolrJettyTestBase.EXAMPLE_HOME);
+    System.setProperty("solr.solr.home", ExternalPaths.EXAMPLE_HOME);
     
     File dataDir = new File(SolrTestCaseJ4.TEMP_DIR,
         getClass().getName() + "-" + System.currentTimeMillis());
     dataDir.mkdirs();
     System.setProperty("solr.data.dir", dataDir.getCanonicalPath());
-    String path = SolrJettyTestBase.WEBAPP_HOME;
+    String path = ExternalPaths.WEBAPP_HOME;
 
     server = new Server(port);
     // insecure: only use for tests!!!!

Modified: lucene/dev/trunk/solr/src/test/org/apache/solr/client/solrj/embedded/LargeVolumeBinaryJettyTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/src/test/org/apache/solr/client/solrj/embedded/LargeVolumeBinaryJettyTest.java?rev=1087722&r1=1087721&r2=1087722&view=diff
==============================================================================
--- lucene/dev/trunk/solr/src/test/org/apache/solr/client/solrj/embedded/LargeVolumeBinaryJettyTest.java (original)
+++ lucene/dev/trunk/solr/src/test/org/apache/solr/client/solrj/embedded/LargeVolumeBinaryJettyTest.java Fri Apr  1 14:41:09 2011
@@ -17,6 +17,7 @@
 package org.apache.solr.client.solrj.embedded;
 
 import org.apache.solr.client.solrj.LargeVolumeTestBase;
+import org.apache.solr.util.ExternalPaths;
 import org.junit.BeforeClass;
 
 /**
@@ -26,6 +27,6 @@ import org.junit.BeforeClass;
 public class LargeVolumeBinaryJettyTest extends LargeVolumeTestBase {
   @BeforeClass
   public static void beforeTest() throws Exception {
-    createJetty(EXAMPLE_HOME, null, null);
+    createJetty(ExternalPaths.EXAMPLE_HOME, null, null);
   }
 }

Modified: lucene/dev/trunk/solr/src/test/org/apache/solr/client/solrj/embedded/LargeVolumeEmbeddedTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/src/test/org/apache/solr/client/solrj/embedded/LargeVolumeEmbeddedTest.java?rev=1087722&r1=1087721&r2=1087722&view=diff
==============================================================================
--- lucene/dev/trunk/solr/src/test/org/apache/solr/client/solrj/embedded/LargeVolumeEmbeddedTest.java (original)
+++ lucene/dev/trunk/solr/src/test/org/apache/solr/client/solrj/embedded/LargeVolumeEmbeddedTest.java Fri Apr  1 14:41:09 2011
@@ -18,11 +18,12 @@
 package org.apache.solr.client.solrj.embedded;
 
 import org.apache.solr.client.solrj.LargeVolumeTestBase;
+import org.apache.solr.util.ExternalPaths;
 import org.junit.BeforeClass;
 
 public class LargeVolumeEmbeddedTest extends LargeVolumeTestBase {
   @BeforeClass
   public static void beforeTest() throws Exception {
-    initCore(EXAMPLE_CONFIG, EXAMPLE_SCHEMA, EXAMPLE_HOME);
+    initCore(ExternalPaths.EXAMPLE_CONFIG, ExternalPaths.EXAMPLE_SCHEMA, ExternalPaths.EXAMPLE_HOME);
   }
 }

Modified: lucene/dev/trunk/solr/src/test/org/apache/solr/client/solrj/embedded/LargeVolumeJettyTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/src/test/org/apache/solr/client/solrj/embedded/LargeVolumeJettyTest.java?rev=1087722&r1=1087721&r2=1087722&view=diff
==============================================================================
--- lucene/dev/trunk/solr/src/test/org/apache/solr/client/solrj/embedded/LargeVolumeJettyTest.java (original)
+++ lucene/dev/trunk/solr/src/test/org/apache/solr/client/solrj/embedded/LargeVolumeJettyTest.java Fri Apr  1 14:41:09 2011
@@ -18,11 +18,12 @@
 package org.apache.solr.client.solrj.embedded;
 
 import org.apache.solr.client.solrj.LargeVolumeTestBase;
+import org.apache.solr.util.ExternalPaths;
 import org.junit.BeforeClass;
 
 public class LargeVolumeJettyTest extends LargeVolumeTestBase {
   @BeforeClass
   public static void beforeTest() throws Exception {
-    createJetty(EXAMPLE_HOME, null, null);
+    createJetty(ExternalPaths.EXAMPLE_HOME, null, null);
   }
 }

Modified: lucene/dev/trunk/solr/src/test/org/apache/solr/client/solrj/embedded/SolrExampleEmbeddedTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/src/test/org/apache/solr/client/solrj/embedded/SolrExampleEmbeddedTest.java?rev=1087722&r1=1087721&r2=1087722&view=diff
==============================================================================
--- lucene/dev/trunk/solr/src/test/org/apache/solr/client/solrj/embedded/SolrExampleEmbeddedTest.java (original)
+++ lucene/dev/trunk/solr/src/test/org/apache/solr/client/solrj/embedded/SolrExampleEmbeddedTest.java Fri Apr  1 14:41:09 2011
@@ -18,6 +18,7 @@
 package org.apache.solr.client.solrj.embedded;
 
 import org.apache.solr.client.solrj.SolrExampleTests;
+import org.apache.solr.util.ExternalPaths;
 import org.junit.BeforeClass;
 
 /**
@@ -30,6 +31,6 @@ public class SolrExampleEmbeddedTest ext
 
   @BeforeClass
   public static void beforeTest() throws Exception {
-    initCore(EXAMPLE_CONFIG, EXAMPLE_SCHEMA, EXAMPLE_HOME);
+    initCore(ExternalPaths.EXAMPLE_CONFIG, ExternalPaths.EXAMPLE_SCHEMA, ExternalPaths.EXAMPLE_HOME);
   }
 }

Modified: lucene/dev/trunk/solr/src/test/org/apache/solr/client/solrj/embedded/SolrExampleJettyTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/src/test/org/apache/solr/client/solrj/embedded/SolrExampleJettyTest.java?rev=1087722&r1=1087721&r2=1087722&view=diff
==============================================================================
--- lucene/dev/trunk/solr/src/test/org/apache/solr/client/solrj/embedded/SolrExampleJettyTest.java (original)
+++ lucene/dev/trunk/solr/src/test/org/apache/solr/client/solrj/embedded/SolrExampleJettyTest.java Fri Apr  1 14:41:09 2011
@@ -19,6 +19,7 @@ package org.apache.solr.client.solrj.emb
 
 import org.apache.solr.client.solrj.SolrExampleTests;
 import org.apache.solr.client.solrj.impl.CommonsHttpSolrServer;
+import org.apache.solr.util.ExternalPaths;
 import org.junit.Assert;
 import org.junit.BeforeClass;
 import org.junit.Test;
@@ -33,7 +34,7 @@ public class SolrExampleJettyTest extend
 
   @BeforeClass
   public static void beforeTest() throws Exception {
-    createJetty(EXAMPLE_HOME, null, null);
+    createJetty(ExternalPaths.EXAMPLE_HOME, null, null);
   }
 
   @Test

Modified: lucene/dev/trunk/solr/src/test/org/apache/solr/client/solrj/embedded/SolrExampleStreamingTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/src/test/org/apache/solr/client/solrj/embedded/SolrExampleStreamingTest.java?rev=1087722&r1=1087721&r2=1087722&view=diff
==============================================================================
--- lucene/dev/trunk/solr/src/test/org/apache/solr/client/solrj/embedded/SolrExampleStreamingTest.java (original)
+++ lucene/dev/trunk/solr/src/test/org/apache/solr/client/solrj/embedded/SolrExampleStreamingTest.java Fri Apr  1 14:41:09 2011
@@ -21,6 +21,7 @@ import org.apache.solr.client.solrj.Solr
 import org.apache.solr.client.solrj.SolrServer;
 import org.apache.solr.client.solrj.impl.CommonsHttpSolrServer;
 import org.apache.solr.client.solrj.impl.StreamingUpdateSolrServer;
+import org.apache.solr.util.ExternalPaths;
 import org.junit.BeforeClass;
 
 
@@ -32,7 +33,7 @@ import org.junit.BeforeClass;
 public class SolrExampleStreamingTest extends SolrExampleTests {
   @BeforeClass
   public static void beforeTest() throws Exception {
-    createJetty(EXAMPLE_HOME, null, null);
+    createJetty(ExternalPaths.EXAMPLE_HOME, null, null);
   }
 
   @Override

Modified: lucene/dev/trunk/solr/src/test/org/apache/solr/client/solrj/response/TermsResponseTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/src/test/org/apache/solr/client/solrj/response/TermsResponseTest.java?rev=1087722&r1=1087721&r2=1087722&view=diff
==============================================================================
--- lucene/dev/trunk/solr/src/test/org/apache/solr/client/solrj/response/TermsResponseTest.java (original)
+++ lucene/dev/trunk/solr/src/test/org/apache/solr/client/solrj/response/TermsResponseTest.java Fri Apr  1 14:41:09 2011
@@ -24,6 +24,7 @@ import org.apache.solr.client.solrj.Solr
 import org.apache.solr.common.SolrInputDocument;
 import org.apache.solr.client.solrj.request.QueryRequest;
 import org.apache.solr.client.solrj.response.TermsResponse.Term;
+import org.apache.solr.util.ExternalPaths;
 import org.junit.Before;
 import org.junit.BeforeClass;
 import org.junit.Test;
@@ -35,7 +36,7 @@ public class TermsResponseTest extends S
 
   @BeforeClass
   public static void beforeTest() throws Exception {
-    initCore(EXAMPLE_CONFIG, EXAMPLE_SCHEMA, EXAMPLE_HOME);
+    initCore(ExternalPaths.EXAMPLE_CONFIG, ExternalPaths.EXAMPLE_SCHEMA, ExternalPaths.EXAMPLE_HOME);
   }
   
   @Before

Modified: lucene/dev/trunk/solr/src/test/org/apache/solr/client/solrj/response/TestSpellCheckResponse.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/src/test/org/apache/solr/client/solrj/response/TestSpellCheckResponse.java?rev=1087722&r1=1087721&r2=1087722&view=diff
==============================================================================
--- lucene/dev/trunk/solr/src/test/org/apache/solr/client/solrj/response/TestSpellCheckResponse.java (original)
+++ lucene/dev/trunk/solr/src/test/org/apache/solr/client/solrj/response/TestSpellCheckResponse.java Fri Apr  1 14:41:09 2011
@@ -25,6 +25,7 @@ import org.apache.solr.client.solrj.resp
 import org.apache.solr.common.SolrInputDocument;
 import org.apache.solr.common.params.CommonParams;
 import org.apache.solr.common.params.SpellingParams;
+import org.apache.solr.util.ExternalPaths;
 import org.junit.BeforeClass;
 import org.junit.Test;
 
@@ -40,7 +41,7 @@ public class TestSpellCheckResponse exte
   @BeforeClass
   public static void beforeTest() throws Exception {
     // createJetty(EXAMPLE_HOME, null, null);
-    initCore(EXAMPLE_CONFIG, EXAMPLE_SCHEMA, EXAMPLE_HOME);
+    initCore(ExternalPaths.EXAMPLE_CONFIG, ExternalPaths.EXAMPLE_SCHEMA, ExternalPaths.EXAMPLE_HOME);
     // initCore("solrconfig.xml", "schema.xml", null);
   }
   

Modified: lucene/dev/trunk/solr/src/test/org/apache/solr/cloud/BasicDistributedZkTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/src/test/org/apache/solr/cloud/BasicDistributedZkTest.java?rev=1087722&r1=1087721&r2=1087722&view=diff
==============================================================================
--- lucene/dev/trunk/solr/src/test/org/apache/solr/cloud/BasicDistributedZkTest.java (original)
+++ lucene/dev/trunk/solr/src/test/org/apache/solr/cloud/BasicDistributedZkTest.java Fri Apr  1 14:41:09 2011
@@ -60,7 +60,7 @@ public class BasicDistributedZkTest exte
   
   @BeforeClass
   public static void beforeClass() throws Exception {
-    System.setProperty("solr.solr.home", SolrTestCaseJ4.TEST_HOME);
+    System.setProperty("solr.solr.home", SolrTestCaseJ4.TEST_HOME());
   }
   
   @Override

Modified: lucene/dev/trunk/solr/src/test/org/apache/solr/common/util/TestSystemIdResolver.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/src/test/org/apache/solr/common/util/TestSystemIdResolver.java?rev=1087722&r1=1087721&r2=1087722&view=diff
==============================================================================
--- lucene/dev/trunk/solr/src/test/org/apache/solr/common/util/TestSystemIdResolver.java (original)
+++ lucene/dev/trunk/solr/src/test/org/apache/solr/common/util/TestSystemIdResolver.java Fri Apr  1 14:41:09 2011
@@ -38,9 +38,9 @@ public class TestSystemIdResolver extend
   }
   
   public void testResolving() throws Exception {
-    final ResourceLoader loader = new SolrResourceLoader(SolrTestCaseJ4.TEST_HOME, this.getClass().getClassLoader());
+    final ResourceLoader loader = new SolrResourceLoader(SolrTestCaseJ4.TEST_HOME(), this.getClass().getClassLoader());
     final SystemIdResolver resolver = new SystemIdResolver(loader);
-    final String fileUri = new File(SolrTestCaseJ4.TEST_HOME+"/crazy-path-to-config.xml").toURI().toASCIIString();
+    final String fileUri = new File(SolrTestCaseJ4.TEST_HOME()+"/crazy-path-to-config.xml").toURI().toASCIIString();
     
     assertEquals("solrres:/test.xml", SystemIdResolver.createSystemIdFromResourceName("test.xml"));
     assertEquals("solrres://@/usr/local/etc/test.xml", SystemIdResolver.createSystemIdFromResourceName("/usr/local/etc/test.xml"));
@@ -60,10 +60,10 @@ public class TestSystemIdResolver extend
     assertEntityResolving(resolver, "solrres:/schema.xml", "solrres:/solrconfig.xml", "schema.xml");
     assertEntityResolving(resolver, "solrres:/org/apache/solr/common/util/TestSystemIdResolver.class",
       "solrres:/org/apache/solr/common/ResourceLoader.class", "util/TestSystemIdResolver.class");
-    assertEntityResolving(resolver, SystemIdResolver.createSystemIdFromResourceName(SolrTestCaseJ4.TEST_HOME+"/conf/schema.xml"),
-      SystemIdResolver.createSystemIdFromResourceName(SolrTestCaseJ4.TEST_HOME+"/conf/solrconfig.xml"), "schema.xml");
-    assertEntityResolving(resolver, SystemIdResolver.createSystemIdFromResourceName(SolrTestCaseJ4.TEST_HOME+"/crazy-path-to-schema.xml"),
-      SystemIdResolver.createSystemIdFromResourceName(SolrTestCaseJ4.TEST_HOME+"/crazy-path-to-config.xml"), "crazy-path-to-schema.xml");
+    assertEntityResolving(resolver, SystemIdResolver.createSystemIdFromResourceName(SolrTestCaseJ4.TEST_HOME()+"/conf/schema.xml"),
+      SystemIdResolver.createSystemIdFromResourceName(SolrTestCaseJ4.TEST_HOME()+"/conf/solrconfig.xml"), "schema.xml");
+    assertEntityResolving(resolver, SystemIdResolver.createSystemIdFromResourceName(SolrTestCaseJ4.TEST_HOME()+"/crazy-path-to-schema.xml"),
+      SystemIdResolver.createSystemIdFromResourceName(SolrTestCaseJ4.TEST_HOME()+"/crazy-path-to-config.xml"), "crazy-path-to-schema.xml");
     
     // test, that resolving works if somebody uses an absolute file:-URI in a href attribute, the resolver should return null (default fallback)
     assertNull(resolver.resolveEntity(null, null, "solrres:/solrconfig.xml", fileUri));

Modified: lucene/dev/trunk/solr/src/test/org/apache/solr/servlet/NoCacheHeaderTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/src/test/org/apache/solr/servlet/NoCacheHeaderTest.java?rev=1087722&r1=1087721&r2=1087722&view=diff
==============================================================================
--- lucene/dev/trunk/solr/src/test/org/apache/solr/servlet/NoCacheHeaderTest.java (original)
+++ lucene/dev/trunk/solr/src/test/org/apache/solr/servlet/NoCacheHeaderTest.java Fri Apr  1 14:41:09 2011
@@ -31,7 +31,7 @@ import org.junit.Test;
 public class NoCacheHeaderTest extends CacheHeaderTestBase {
   @BeforeClass
   public static void beforeTest() throws Exception {
-    createJetty(TEST_HOME, "solr/conf/solrconfig-nocache.xml", null);
+    createJetty(TEST_HOME(), "solr/conf/solrconfig-nocache.xml", null);
   }
 
   // The tests

Modified: lucene/dev/trunk/solr/src/test/org/apache/solr/spelling/suggest/PersistenceTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/src/test/org/apache/solr/spelling/suggest/PersistenceTest.java?rev=1087722&r1=1087721&r2=1087722&view=diff
==============================================================================
--- lucene/dev/trunk/solr/src/test/org/apache/solr/spelling/suggest/PersistenceTest.java (original)
+++ lucene/dev/trunk/solr/src/test/org/apache/solr/spelling/suggest/PersistenceTest.java Fri Apr  1 14:41:09 2011
@@ -49,7 +49,7 @@ public class PersistenceTest extends Sol
     for (String k : keys) {
       lookup.add(k, new Float(k.length()));
     }
-    File storeDir = new File(TEST_HOME);
+    File storeDir = new File(TEST_HOME());
     lookup.store(storeDir);
     lookup = new TSTLookup();
     lookup.load(storeDir);
@@ -66,7 +66,7 @@ public class PersistenceTest extends Sol
     for (String k : keys) {
       lookup.add(k, new Float(k.length()));
     }
-    File storeDir = new File(TEST_HOME);
+    File storeDir = new File(TEST_HOME());
     lookup.store(storeDir);
     lookup = new JaspellLookup();
     lookup.load(storeDir);

Added: lucene/dev/trunk/solr/src/test/org/apache/solr/util/ExternalPaths.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/src/test/org/apache/solr/util/ExternalPaths.java?rev=1087722&view=auto
==============================================================================
--- lucene/dev/trunk/solr/src/test/org/apache/solr/util/ExternalPaths.java (added)
+++ lucene/dev/trunk/solr/src/test/org/apache/solr/util/ExternalPaths.java Fri Apr  1 14:41:09 2011
@@ -0,0 +1,46 @@
+package org.apache.solr.util;
+
+/*
+ * 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.
+ */
+
+import java.io.File;
+
+import org.apache.solr.SolrTestCaseJ4;
+
+/**
+ * Some tests need to reach outside the classpath to get certain resources (e.g. the example configuration).
+ * This class provides some paths to allow them to do this.
+ * @lucene.internal
+ */
+public class ExternalPaths {
+  private static final String SOURCE_HOME = determineSourceHome();
+  public static String WEBAPP_HOME = new File(SOURCE_HOME, "src/webapp/web").getAbsolutePath();
+  public static String EXAMPLE_HOME = new File(SOURCE_HOME, "example/solr").getAbsolutePath();
+  public static String EXAMPLE_MULTICORE_HOME = new File(SOURCE_HOME, "example/multicore").getAbsolutePath();
+  public static String EXAMPLE_SCHEMA=EXAMPLE_HOME+"/conf/schema.xml";
+  public static String EXAMPLE_CONFIG=EXAMPLE_HOME+"/conf/solrconfig.xml";
+  
+  static String determineSourceHome() {
+    // ugly, ugly hack to determine the example home without depending on the CWD
+    // this is needed for example/multicore tests which reside outside the classpath
+    File base = SolrTestCaseJ4.getFile("solr/conf").getAbsoluteFile();
+    while (!new File(base, "solr/CHANGES.txt").exists()) {
+      base = base.getParentFile();
+    }
+    return new File(base, "solr/").getAbsolutePath();
+  }
+}