You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by ro...@apache.org on 2013/01/18 19:31:23 UTC

svn commit: r1435287 [2/41] - in /lucene/dev/branches/LUCENE-2878: ./ dev-tools/ dev-tools/eclipse/ dev-tools/idea/.idea/libraries/ dev-tools/idea/lucene/analysis/icu/ dev-tools/maven/ dev-tools/maven/lucene/benchmark/ dev-tools/maven/solr/ dev-tools/m...

Modified: lucene/dev/branches/LUCENE-2878/.gitignore
URL: http://svn.apache.org/viewvc/lucene/dev/branches/LUCENE-2878/.gitignore?rev=1435287&r1=1435286&r2=1435287&view=diff
==============================================================================
--- lucene/dev/branches/LUCENE-2878/.gitignore (original)
+++ lucene/dev/branches/LUCENE-2878/.gitignore Fri Jan 18 18:30:54 2013
@@ -5,6 +5,7 @@
 /eclipse-build
 /classes
 /build
+/idea-build
 /dist
 /*~
 /velocity.log

Modified: lucene/dev/branches/LUCENE-2878/build.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/LUCENE-2878/build.xml?rev=1435287&r1=1435286&r2=1435287&view=diff
==============================================================================
--- lucene/dev/branches/LUCENE-2878/build.xml (original)
+++ lucene/dev/branches/LUCENE-2878/build.xml Fri Jan 18 18:30:54 2013
@@ -38,9 +38,7 @@
   <target name="test" description="Test both Lucene and Solr">
     <subant target="test" inheritall="false" failonerror="true">
       <fileset dir="lucene" includes="build.xml" />
-      <!-- enable again when solr tests are passing
       <fileset dir="solr" includes="build.xml" />
-      -->
     </subant>
   </target>
 
@@ -116,7 +114,7 @@
   <property name="maven-version" value="2.2.1"/>
   
   <target name="get-maven-poms"
-          description="Copy Maven POMs from dev-tools/maven/ to the working copy root">
+          description="Copy Maven POMs from dev-tools/maven/ to maven-build/">
     <copy todir="${maven-build-dir}" overwrite="true">
       <fileset dir="${basedir}/dev-tools/maven"/>
       <filterset begintoken="@" endtoken="@">
@@ -156,6 +154,7 @@
     <subant buildpath="." antfile="extra-targets.xml" target="-run-maven-build" inheritall="false" failonerror="true">
       <propertyset>
         <propertyref prefix="maven-"/>
+        <propertyref builtin="commandline"/>
       </propertyset>
     </subant>
   </target>
@@ -172,11 +171,28 @@
 
   <target name="eclipse" depends="resolve" description="Setup Eclipse configuration">
     <copy file="dev-tools/eclipse/dot.project" tofile=".project" overwrite="false"/>
-    <copy file="dev-tools/eclipse/dot.classpath" tofile=".classpath" overwrite="true"/>
     <mkdir dir=".settings"/>
     <copy todir=".settings/" overwrite="true">
       <fileset dir="dev-tools/eclipse/dot.settings" includes="*.prefs" />
     </copy>
+    
+    <pathconvert property="eclipse.fileset.sourcefolders" pathsep="|" dirsep="/">
+      <dirset dir="${basedir}/lucene" includes="**/src/java, **/src/resources, **/src/test, **/src/test-files, **/src/examples" excludes="tools/**, build/**, backwards/**" />
+      <dirset dir="${basedir}/solr" includes="**/src/java, **/src/resources, **/src/test, **/src/test-files, **/src/examples" excludes="build/**" />
+      <map from="${basedir}/" to=""/>
+    </pathconvert>
+    <!-- TODO: find a better way to exclude duplicate JAR files & fix the servlet-api mess! -->
+    <pathconvert property="eclipse.fileset.libs" pathsep="|" dirsep="/">
+      <fileset dir="${basedir}/lucene" includes="**/lib/*.jar" excludes="**/*servlet-api*.jar, analysis/uima/**, tools/**, build/**"/>
+      <fileset dir="${basedir}/solr" includes="**/lib/*.jar" excludes="core/lib/*servlet-api*.jar, contrib/analysis-extras/**, test-framework/**, build/**, dist/**, package/**" />
+      <map from="${basedir}/" to=""/>
+    </pathconvert>
+    <xslt in="${ant.file}" out=".classpath" style="dev-tools/eclipse/dot.classpath.xsl" force="true">
+      <outputproperty name="indent" value="yes"/>
+      <param name="eclipse.fileset.libs" expression="${eclipse.fileset.libs}"/>
+      <param name="eclipse.fileset.sourcefolders" expression="${eclipse.fileset.sourcefolders}"/>
+    </xslt>
+
     <echo>
       SUCCESS: You must right-click your project and choose Refresh.
                Your project must use a Java 6 JRE.
@@ -265,18 +281,9 @@
    <copy todir="${fakeRelease}/lucene">
      <fileset dir="lucene/dist"/>
    </copy>
-   <copy todir="${fakeRelease}/lucene/changes">
-     <fileset dir="lucene/build/docs/changes"/>
-   </copy>
-   <get src="http://people.apache.org/keys/group/lucene.asc" 
-        dest="${fakeRelease}/lucene/KEYS"/>
    <copy todir="${fakeRelease}/solr">
      <fileset dir="solr/package"/>
    </copy>
-   <copy file="${fakeRelease}/lucene/KEYS" todir="${fakeRelease}/solr"/>
-   <copy todir="${fakeRelease}/solr/changes">
-     <fileset dir="solr/build/docs/changes"/>
-   </copy>
    <makeurl file="${fakeRelease}" validate="false" property="fakeRelease.uri"/>
    <exec executable="${python32.exe}" failonerror="true">
      <arg value="-u"/>
@@ -296,11 +303,11 @@
     <subant buildpath="." antfile="extra-targets.xml" target="-check-svn-working-copy" inheritall="false" failonerror="true"/>
   </target>
 
-  <target name="run-clover" description="Runs all tests to measure coverage and generates report (pass &quot;ANT_ARGS=-Xmx1536M&quot; as environment)" depends="clean">
+  <target name="run-clover" description="Runs all tests to measure coverage and generates report (pass &quot;ANT_OPTS=-Xmx1536M&quot; as environment)" depends="clean">
     <antcall>
       <param name="run.clover" value="true"/>
       <!-- must be 1, as clover does not like parallel test runs: -->
-      <param name="tests.jvms" value="1"/>
+      <param name="tests.jvms.override" value="1"/>
       <!-- Also override some other props to be fast: -->
       <param name="tests.multiplier" value="1"/>
       <param name="tests.nightly" value="false"/>
@@ -353,7 +360,26 @@
   <!-- Jenkins tasks -->
   <target name="jenkins-hourly" depends="clean,test-with-heapdumps,validate,documentation-lint,jar-checksums,check-svn-working-copy"/>
   
-  <target name="jenkins-maven-nightly" depends="clean,remove-maven-artifacts,run-maven-build,generate-maven-artifacts,validate-maven-dependencies"/>
+  <target name="jenkins-nightly">
+    <antcall>
+      <param name="tests.nightly" value="true"/>
+      <target name="jenkins-hourly"/>
+    </antcall>
+  </target>
+  
+  <target name="jenkins-maven-nightly" depends="clean,clean-maven-build">
+    <!-- step 1: build, install, deploy, and validate ANT-generated maven artifacts: -->
+    <antcall>
+      <target name="remove-maven-artifacts"/>
+      <!-- this implicitely publishes the maven artifacts: -->
+      <target name="validate-maven-dependencies"/>
+    </antcall>
+    <!-- step 2: run the maven build to check that the pom templates also work to drive "mvn": -->
+    <antcall>
+      <target name="remove-maven-artifacts"/>
+      <target name="run-maven-build"/>
+    </antcall>
+  </target>
   
   <target name="jenkins-clover" depends="run-clover"/>
 </project>

Modified: lucene/dev/branches/LUCENE-2878/dev-tools/README.txt
URL: http://svn.apache.org/viewvc/lucene/dev/branches/LUCENE-2878/dev-tools/README.txt?rev=1435287&r1=1435286&r2=1435287&view=diff
==============================================================================
--- lucene/dev/branches/LUCENE-2878/dev-tools/README.txt (original)
+++ lucene/dev/branches/LUCENE-2878/dev-tools/README.txt Fri Jan 18 18:30:54 2013
@@ -1,7 +1,11 @@
-The tools, documentation, etc. in this directory are intended to be helpful to developers of Lucene and Solr.  They are not necessarily maintained in the same way that the core code is maintained and so your mileage may vary as to the usefulness of the tools.
+The tools, documentation, etc. in this directory are intended to be helpful
+to developers of Lucene and Solr.  They are not necessarily maintained in
+the same way that the core code is maintained and so your mileage may vary
+as to the usefulness of the tools.
 
-Description of directories:
-./size-estimator-lucene-solr -- Spreadsheet for estimating memory and disk usage in Lucene/Solr
+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

Modified: lucene/dev/branches/LUCENE-2878/dev-tools/eclipse/dot.project
URL: http://svn.apache.org/viewvc/lucene/dev/branches/LUCENE-2878/dev-tools/eclipse/dot.project?rev=1435287&r1=1435286&r2=1435287&view=diff
==============================================================================
--- lucene/dev/branches/LUCENE-2878/dev-tools/eclipse/dot.project (original)
+++ lucene/dev/branches/LUCENE-2878/dev-tools/eclipse/dot.project Fri Jan 18 18:30:54 2013
@@ -60,5 +60,14 @@
                                 <arguments>1.0-projectRelativePath-matches-false-false-solr/dist</arguments>
                         </matcher>
                 </filter>
+                <filter>
+                        <id>1353353379246</id>
+                        <name></name>
+                        <type>10</type>
+                        <matcher>
+                                <id>org.eclipse.ui.ide.multiFilter</id>
+                                <arguments>1.0-name-matches-false-false-.svn</arguments>
+                        </matcher>
+                </filter>
         </filteredResources>
 </projectDescription>

Modified: lucene/dev/branches/LUCENE-2878/dev-tools/idea/.idea/libraries/JUnit.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/LUCENE-2878/dev-tools/idea/.idea/libraries/JUnit.xml?rev=1435287&r1=1435286&r2=1435287&view=diff
==============================================================================
--- lucene/dev/branches/LUCENE-2878/dev-tools/idea/.idea/libraries/JUnit.xml (original)
+++ lucene/dev/branches/LUCENE-2878/dev-tools/idea/.idea/libraries/JUnit.xml Fri Jan 18 18:30:54 2013
@@ -2,7 +2,7 @@
   <library name="JUnit">
     <CLASSES>
       <root url="jar://$PROJECT_DIR$/lucene/test-framework/lib/junit-4.10.jar!/" />
-      <root url="jar://$PROJECT_DIR$/lucene/test-framework/lib/randomizedtesting-runner-2.0.4.jar!/" />
+      <root url="jar://$PROJECT_DIR$/lucene/test-framework/lib/randomizedtesting-runner-2.0.8.jar!/" />
     </CLASSES>
     <JAVADOC />
     <SOURCES />

Modified: lucene/dev/branches/LUCENE-2878/dev-tools/idea/lucene/analysis/icu/icu.iml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/LUCENE-2878/dev-tools/idea/lucene/analysis/icu/icu.iml?rev=1435287&r1=1435286&r2=1435287&view=diff
==============================================================================
--- lucene/dev/branches/LUCENE-2878/dev-tools/idea/lucene/analysis/icu/icu.iml (original)
+++ lucene/dev/branches/LUCENE-2878/dev-tools/idea/lucene/analysis/icu/icu.iml Fri Jan 18 18:30:54 2013
@@ -9,6 +9,7 @@
       <sourceFolder url="file://$MODULE_DIR$/src/tools/java" isTestSource="false" />
       <sourceFolder url="file://$MODULE_DIR$/src/test" isTestSource="true" />
       <sourceFolder url="file://$MODULE_DIR$/src/resources" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/src/test-files" isTestSource="true" />
     </content>
     <orderEntry type="inheritedJdk" />
     <orderEntry type="sourceFolder" forTests="false" />

Modified: lucene/dev/branches/LUCENE-2878/dev-tools/maven/lucene/benchmark/pom.xml.template
URL: http://svn.apache.org/viewvc/lucene/dev/branches/LUCENE-2878/dev-tools/maven/lucene/benchmark/pom.xml.template?rev=1435287&r1=1435286&r2=1435287&view=diff
==============================================================================
--- lucene/dev/branches/LUCENE-2878/dev-tools/maven/lucene/benchmark/pom.xml.template (original)
+++ lucene/dev/branches/LUCENE-2878/dev-tools/maven/lucene/benchmark/pom.xml.template Fri Jan 18 18:30:54 2013
@@ -86,7 +86,7 @@
     <dependency>
       <groupId>net.sourceforge.nekohtml</groupId>
       <artifactId>nekohtml</artifactId>
-      <version>1.9.15</version>
+      <version>1.9.17</version>
     </dependency>
     <dependency>
       <groupId>org.apache.commons</groupId>

Modified: lucene/dev/branches/LUCENE-2878/dev-tools/maven/pom.xml.template
URL: http://svn.apache.org/viewvc/lucene/dev/branches/LUCENE-2878/dev-tools/maven/pom.xml.template?rev=1435287&r1=1435286&r2=1435287&view=diff
==============================================================================
--- lucene/dev/branches/LUCENE-2878/dev-tools/maven/pom.xml.template (original)
+++ lucene/dev/branches/LUCENE-2878/dev-tools/maven/pom.xml.template Fri Jan 18 18:30:54 2013
@@ -45,7 +45,7 @@
     <base.specification.version>5.0.0</base.specification.version>
     <maven.build.timestamp.format>yyyy-MM-dd HH:mm:ss</maven.build.timestamp.format>
     <java.compat.version>1.6</java.compat.version>
-    <jetty.version>8.1.7.v20120910</jetty.version>
+    <jetty.version>8.1.8.v20121106</jetty.version>
     <slf4j.version>1.6.4</slf4j.version>
     <tika.version>1.2</tika.version>
     <httpcomponents.version>4.1.3</httpcomponents.version>
@@ -147,12 +147,7 @@
       <dependency>
         <groupId>com.google.guava</groupId>
         <artifactId>guava</artifactId>
-        <version>r05</version>
-      </dependency>
-      <dependency>
-        <groupId>com.yammer.metrics</groupId>
-        <artifactId>metrics-core</artifactId>
-        <version>2.1.2</version>
+        <version>13.0.1</version>
       </dependency>
       <dependency>
         <groupId>commons-codec</groupId>
@@ -338,7 +333,7 @@
       <dependency>
         <groupId>org.apache.velocity</groupId>
         <artifactId>velocity</artifactId>
-        <version>1.6.4</version>
+        <version>1.7</version>
       </dependency>
       <dependency>
         <groupId>org.apache.velocity</groupId>
@@ -353,12 +348,12 @@
       <dependency>
         <groupId>org.carrot2</groupId>
         <artifactId>carrot2-core</artifactId>
-        <version>3.5.0</version>
+        <version>3.6.2</version>
       </dependency>
       <dependency>
         <groupId>org.carrot2</groupId>
         <artifactId>morfologik-polish</artifactId>
-        <version>1.5.3</version>
+        <version>1.5.5</version>
       </dependency>
       <dependency>
         <groupId>org.codehaus.woodstox</groupId>
@@ -368,7 +363,8 @@
       <dependency>
         <groupId>org.easymock</groupId>
         <artifactId>easymock</artifactId>
-        <version>2.2</version>
+        <version>3.0</version>
+        <scope>test</scope>
       </dependency>
       <dependency>
         <groupId>org.eclipse.jetty</groupId>
@@ -397,11 +393,6 @@
       </dependency>
       <dependency>
         <groupId>org.slf4j</groupId>
-        <artifactId>log4j-over-slf4j</artifactId>
-        <version>${slf4j.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.slf4j</groupId>
         <artifactId>slf4j-api</artifactId>
         <version>${slf4j.version}</version>
       </dependency> 
@@ -444,7 +435,7 @@
       <dependency>
         <groupId>com.carrotsearch.randomizedtesting</groupId>
         <artifactId>randomizedtesting-runner</artifactId>
-        <version>2.0.4</version>
+        <version>2.0.8</version>
       </dependency>
     </dependencies>
   </dependencyManagement>
@@ -545,14 +536,16 @@
         <plugin>
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-surefire-plugin</artifactId>
-          <version>2.12</version>
+          <version>2.12.4</version>
           <configuration>
             <runOrder>random</runOrder>
             <reportFormat>plain</reportFormat>
             <workingDirectory>${project.build.directory}/test</workingDirectory>
-            <argLine>-Xmx512M</argLine>
+            <redirectTestOutputToFile>true</redirectTestOutputToFile>
+            <argLine>-Xmx512M -XX:MaxPermSize=256M</argLine>
             <systemPropertyVariables>
               <tempDir>.</tempDir>
+              <java.awt.headless>true</java.awt.headless>
 
               <!-- See <http://wiki.apache.org/lucene-java/RunningTests>
                    for a description of the tests.* system properties. -->

Modified: lucene/dev/branches/LUCENE-2878/dev-tools/maven/solr/contrib/analysis-extras/pom.xml.template
URL: http://svn.apache.org/viewvc/lucene/dev/branches/LUCENE-2878/dev-tools/maven/solr/contrib/analysis-extras/pom.xml.template?rev=1435287&r1=1435286&r2=1435287&view=diff
==============================================================================
--- lucene/dev/branches/LUCENE-2878/dev-tools/maven/solr/contrib/analysis-extras/pom.xml.template (original)
+++ lucene/dev/branches/LUCENE-2878/dev-tools/maven/solr/contrib/analysis-extras/pom.xml.template Fri Jan 18 18:30:54 2013
@@ -35,6 +35,7 @@
     <module-directory>solr/contrib/analysis-extras</module-directory>
     <top-level>../../../..</top-level>
     <module-path>${top-level}/${module-directory}</module-path>
+    <surefire-solr-directory>${top-level}/../../solr</surefire-solr-directory>
   </properties>
   <scm>
     <connection>scm:svn:${vc-anonymous-base-url}/${module-directory}</connection>
@@ -98,5 +99,16 @@
         </includes>
       </testResource>
     </testResources>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <configuration>
+          <systemPropertyVariables>
+            <java.util.logging.config.file>${surefire-solr-directory}/testlogging.properties</java.util.logging.config.file>
+          </systemPropertyVariables>
+        </configuration>
+      </plugin>
+    </plugins>
   </build>
 </project>

Modified: lucene/dev/branches/LUCENE-2878/dev-tools/maven/solr/contrib/clustering/pom.xml.template
URL: http://svn.apache.org/viewvc/lucene/dev/branches/LUCENE-2878/dev-tools/maven/solr/contrib/clustering/pom.xml.template?rev=1435287&r1=1435286&r2=1435287&view=diff
==============================================================================
--- lucene/dev/branches/LUCENE-2878/dev-tools/maven/solr/contrib/clustering/pom.xml.template (original)
+++ lucene/dev/branches/LUCENE-2878/dev-tools/maven/solr/contrib/clustering/pom.xml.template Fri Jan 18 18:30:54 2013
@@ -35,6 +35,7 @@
     <module-directory>solr/contrib/clustering</module-directory>
     <top-level>../../../..</top-level>
     <module-path>${top-level}/${module-directory}</module-path>
+    <surefire-solr-directory>${top-level}/../../solr</surefire-solr-directory>
   </properties>
   <scm>
     <connection>scm:svn:${vc-anonymous-base-url}/${module-directory}</connection>
@@ -106,6 +107,22 @@
           <groupId>org.carrot2</groupId>
           <artifactId>morfologik-stemming</artifactId>
         </exclusion>
+        <exclusion>
+          <groupId>jfree</groupId>
+          <artifactId>jcommon</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.apache.commons</groupId>
+          <artifactId>commons-math</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.uncommons.maths</groupId>
+          <artifactId>uncommons-maths</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>xpp3</groupId>
+          <artifactId>xpp3</artifactId>
+        </exclusion>
       </exclusions>
     </dependency>
   </dependencies>
@@ -123,5 +140,16 @@
         </includes>
       </testResource>
     </testResources>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <configuration>
+          <systemPropertyVariables>
+            <java.util.logging.config.file>${surefire-solr-directory}/testlogging.properties</java.util.logging.config.file>
+          </systemPropertyVariables>
+        </configuration>
+      </plugin>
+    </plugins>
   </build>
 </project>

Modified: lucene/dev/branches/LUCENE-2878/dev-tools/maven/solr/contrib/dataimporthandler-extras/pom.xml.template
URL: http://svn.apache.org/viewvc/lucene/dev/branches/LUCENE-2878/dev-tools/maven/solr/contrib/dataimporthandler-extras/pom.xml.template?rev=1435287&r1=1435286&r2=1435287&view=diff
==============================================================================
--- lucene/dev/branches/LUCENE-2878/dev-tools/maven/solr/contrib/dataimporthandler-extras/pom.xml.template (original)
+++ lucene/dev/branches/LUCENE-2878/dev-tools/maven/solr/contrib/dataimporthandler-extras/pom.xml.template Fri Jan 18 18:30:54 2013
@@ -35,6 +35,7 @@
     <module-directory>solr/contrib/dataimporthandler-extras</module-directory>
     <top-level>../../../..</top-level>
     <module-path>${top-level}/${module-directory}</module-path>
+    <surefire-solr-directory>${top-level}/../../solr</surefire-solr-directory>
   </properties>
   <scm>
     <connection>scm:svn:${vc-anonymous-base-url}/${module-directory}</connection>
@@ -101,5 +102,16 @@
         </includes>
       </testResource>
     </testResources>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <configuration>
+          <systemPropertyVariables>
+            <java.util.logging.config.file>${surefire-solr-directory}/testlogging.properties</java.util.logging.config.file>
+          </systemPropertyVariables>
+        </configuration>
+      </plugin>
+    </plugins>
   </build>
 </project>

Modified: lucene/dev/branches/LUCENE-2878/dev-tools/maven/solr/contrib/dataimporthandler/pom.xml.template
URL: http://svn.apache.org/viewvc/lucene/dev/branches/LUCENE-2878/dev-tools/maven/solr/contrib/dataimporthandler/pom.xml.template?rev=1435287&r1=1435286&r2=1435287&view=diff
==============================================================================
--- lucene/dev/branches/LUCENE-2878/dev-tools/maven/solr/contrib/dataimporthandler/pom.xml.template (original)
+++ lucene/dev/branches/LUCENE-2878/dev-tools/maven/solr/contrib/dataimporthandler/pom.xml.template Fri Jan 18 18:30:54 2013
@@ -35,6 +35,7 @@
     <module-directory>solr/contrib/dataimporthandler</module-directory>
     <top-level>../../../..</top-level>
     <module-path>${top-level}/${module-directory}</module-path>
+    <surefire-solr-directory>${top-level}/../../solr</surefire-solr-directory>
   </properties>
   <scm>
     <connection>scm:svn:${vc-anonymous-base-url}/${module-directory}</connection>
@@ -104,6 +105,15 @@
           </execution>
         </executions>
       </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <configuration>
+          <systemPropertyVariables>
+            <java.util.logging.config.file>${surefire-solr-directory}/testlogging.properties</java.util.logging.config.file>
+          </systemPropertyVariables>
+        </configuration>
+      </plugin>
     </plugins>
   </build>
 </project>

Modified: lucene/dev/branches/LUCENE-2878/dev-tools/maven/solr/contrib/extraction/pom.xml.template
URL: http://svn.apache.org/viewvc/lucene/dev/branches/LUCENE-2878/dev-tools/maven/solr/contrib/extraction/pom.xml.template?rev=1435287&r1=1435286&r2=1435287&view=diff
==============================================================================
--- lucene/dev/branches/LUCENE-2878/dev-tools/maven/solr/contrib/extraction/pom.xml.template (original)
+++ lucene/dev/branches/LUCENE-2878/dev-tools/maven/solr/contrib/extraction/pom.xml.template Fri Jan 18 18:30:54 2013
@@ -38,6 +38,7 @@
     <module-directory>solr/contrib/extraction</module-directory>
     <top-level>../../../..</top-level>
     <module-path>${top-level}/${module-directory}</module-path>
+    <surefire-solr-directory>${top-level}/../../solr</surefire-solr-directory>
   </properties>
   <scm>
     <connection>scm:svn:${vc-anonymous-base-url}/${module-directory}</connection>
@@ -98,5 +99,16 @@
         </includes>
       </testResource>
     </testResources>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <configuration>
+          <systemPropertyVariables>
+            <java.util.logging.config.file>${surefire-solr-directory}/testlogging.properties</java.util.logging.config.file>
+          </systemPropertyVariables>
+        </configuration>
+      </plugin>
+    </plugins>
   </build>
 </project>

Modified: lucene/dev/branches/LUCENE-2878/dev-tools/maven/solr/contrib/langid/pom.xml.template
URL: http://svn.apache.org/viewvc/lucene/dev/branches/LUCENE-2878/dev-tools/maven/solr/contrib/langid/pom.xml.template?rev=1435287&r1=1435286&r2=1435287&view=diff
==============================================================================
--- lucene/dev/branches/LUCENE-2878/dev-tools/maven/solr/contrib/langid/pom.xml.template (original)
+++ lucene/dev/branches/LUCENE-2878/dev-tools/maven/solr/contrib/langid/pom.xml.template Fri Jan 18 18:30:54 2013
@@ -39,6 +39,7 @@
     <module-directory>solr/contrib/langid</module-directory>
     <top-level>../../../..</top-level>
     <module-path>${top-level}/${module-directory}</module-path>
+    <surefire-solr-directory>${top-level}/../../solr</surefire-solr-directory>
   </properties>
   <scm>
     <connection>scm:svn:${vc-anonymous-base-url}/${module-directory}</connection>
@@ -104,5 +105,16 @@
         </includes>
       </testResource>
     </testResources>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <configuration>
+          <systemPropertyVariables>
+            <java.util.logging.config.file>${surefire-solr-directory}/testlogging.properties</java.util.logging.config.file>
+          </systemPropertyVariables>
+        </configuration>
+      </plugin>
+    </plugins>
   </build>
 </project>

Modified: lucene/dev/branches/LUCENE-2878/dev-tools/maven/solr/contrib/uima/pom.xml.template
URL: http://svn.apache.org/viewvc/lucene/dev/branches/LUCENE-2878/dev-tools/maven/solr/contrib/uima/pom.xml.template?rev=1435287&r1=1435286&r2=1435287&view=diff
==============================================================================
--- lucene/dev/branches/LUCENE-2878/dev-tools/maven/solr/contrib/uima/pom.xml.template (original)
+++ lucene/dev/branches/LUCENE-2878/dev-tools/maven/solr/contrib/uima/pom.xml.template Fri Jan 18 18:30:54 2013
@@ -35,6 +35,7 @@
     <module-directory>solr/contrib/uima</module-directory>
     <top-level>../../../..</top-level>
     <module-path>${top-level}/${module-directory}</module-path>
+    <surefire-solr-directory>${top-level}/../../solr</surefire-solr-directory>
   </properties>
   <scm>
     <connection>scm:svn:${vc-anonymous-base-url}/${module-directory}</connection>
@@ -123,5 +124,16 @@
         </includes>
       </testResource>
     </testResources>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <configuration>
+          <systemPropertyVariables>
+            <java.util.logging.config.file>${surefire-solr-directory}/testlogging.properties</java.util.logging.config.file>
+          </systemPropertyVariables>
+        </configuration>
+      </plugin>
+    </plugins>
   </build>
 </project>

Modified: lucene/dev/branches/LUCENE-2878/dev-tools/maven/solr/contrib/velocity/pom.xml.template
URL: http://svn.apache.org/viewvc/lucene/dev/branches/LUCENE-2878/dev-tools/maven/solr/contrib/velocity/pom.xml.template?rev=1435287&r1=1435286&r2=1435287&view=diff
==============================================================================
--- lucene/dev/branches/LUCENE-2878/dev-tools/maven/solr/contrib/velocity/pom.xml.template (original)
+++ lucene/dev/branches/LUCENE-2878/dev-tools/maven/solr/contrib/velocity/pom.xml.template Fri Jan 18 18:30:54 2013
@@ -35,6 +35,7 @@
     <module-directory>solr/contrib/velocity</module-directory>
     <top-level>../../../..</top-level>
     <module-path>${top-level}/${module-directory}</module-path>
+    <surefire-solr-directory>${top-level}/../../solr</surefire-solr-directory>
   </properties>
   <scm>
     <connection>scm:svn:${vc-anonymous-base-url}/${module-directory}</connection>
@@ -139,5 +140,16 @@
         </includes>
       </testResource>
     </testResources>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <configuration>
+          <systemPropertyVariables>
+            <java.util.logging.config.file>${surefire-solr-directory}/testlogging.properties</java.util.logging.config.file>
+          </systemPropertyVariables>
+        </configuration>
+      </plugin>
+    </plugins>
   </build>
 </project>

Modified: lucene/dev/branches/LUCENE-2878/dev-tools/maven/solr/core/src/java/pom.xml.template
URL: http://svn.apache.org/viewvc/lucene/dev/branches/LUCENE-2878/dev-tools/maven/solr/core/src/java/pom.xml.template?rev=1435287&r1=1435286&r2=1435287&view=diff
==============================================================================
--- lucene/dev/branches/LUCENE-2878/dev-tools/maven/solr/core/src/java/pom.xml.template (original)
+++ lucene/dev/branches/LUCENE-2878/dev-tools/maven/solr/core/src/java/pom.xml.template Fri Jan 18 18:30:54 2013
@@ -196,10 +196,6 @@
       <groupId>org.apache.httpcomponents</groupId>
       <artifactId>httpmime</artifactId>
     </dependency>
-    <dependency>
-      <groupId>com.yammer.metrics</groupId>
-      <artifactId>metrics-core</artifactId>
-    </dependency>
   </dependencies>
   <build>
     <sourceDirectory>${module-path}</sourceDirectory>

Modified: lucene/dev/branches/LUCENE-2878/dev-tools/maven/solr/core/src/test/pom.xml.template
URL: http://svn.apache.org/viewvc/lucene/dev/branches/LUCENE-2878/dev-tools/maven/solr/core/src/test/pom.xml.template?rev=1435287&r1=1435286&r2=1435287&view=diff
==============================================================================
--- lucene/dev/branches/LUCENE-2878/dev-tools/maven/solr/core/src/test/pom.xml.template (original)
+++ lucene/dev/branches/LUCENE-2878/dev-tools/maven/solr/core/src/test/pom.xml.template Fri Jan 18 18:30:54 2013
@@ -34,6 +34,7 @@
     <module-directory>solr/core</module-directory>
     <top-level>../../../../..</top-level>
     <module-path>${top-level}/${module-directory}/src/test</module-path>
+    <surefire-solr-directory>${top-level}/../../solr</surefire-solr-directory>
   </properties>
   <dependencies>
     <dependency>
@@ -56,11 +57,6 @@
       <artifactId>easymock</artifactId>
       <scope>test</scope>
     </dependency>
-    <dependency>
-      <groupId>org.slf4j</groupId>
-      <artifactId>log4j-over-slf4j</artifactId>
-      <scope>test</scope>
-    </dependency>
   </dependencies>
   <build>
     <sourceDirectory/>
@@ -118,6 +114,15 @@
           <skip>true</skip>
         </configuration>
       </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <configuration>
+          <systemPropertyVariables>
+            <java.util.logging.config.file>${surefire-solr-directory}/testlogging.properties</java.util.logging.config.file>
+          </systemPropertyVariables>
+        </configuration>
+      </plugin>
     </plugins>
   </build>
 </project>

Modified: lucene/dev/branches/LUCENE-2878/dev-tools/maven/solr/pom.xml.template
URL: http://svn.apache.org/viewvc/lucene/dev/branches/LUCENE-2878/dev-tools/maven/solr/pom.xml.template?rev=1435287&r1=1435286&r2=1435287&view=diff
==============================================================================
--- lucene/dev/branches/LUCENE-2878/dev-tools/maven/solr/pom.xml.template (original)
+++ lucene/dev/branches/LUCENE-2878/dev-tools/maven/solr/pom.xml.template Fri Jan 18 18:30:54 2013
@@ -104,7 +104,7 @@
           <artifactId>maven-surefire-plugin</artifactId>
           <configuration>
             <systemPropertyVariables>
-              <java.util.logging.config.file>../test-classes/maven.testlogging.properties</java.util.logging.config.file>
+              <tests.jettyConnector>${tests.jettyConnector}</tests.jettyConnector>
             </systemPropertyVariables>
           </configuration>
         </plugin>

Modified: lucene/dev/branches/LUCENE-2878/dev-tools/maven/solr/solrj/src/java/pom.xml.template
URL: http://svn.apache.org/viewvc/lucene/dev/branches/LUCENE-2878/dev-tools/maven/solr/solrj/src/java/pom.xml.template?rev=1435287&r1=1435286&r2=1435287&view=diff
==============================================================================
--- lucene/dev/branches/LUCENE-2878/dev-tools/maven/solr/solrj/src/java/pom.xml.template (original)
+++ lucene/dev/branches/LUCENE-2878/dev-tools/maven/solr/solrj/src/java/pom.xml.template Fri Jan 18 18:30:54 2013
@@ -63,17 +63,19 @@
           <artifactId>log4j</artifactId>
         </exclusion>
         <exclusion>
+          <groupId>org.jboss.netty</groupId>
+          <artifactId>netty</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.slf4j</groupId>
+          <artifactId>slf4j-log4j12</artifactId>
+        </exclusion>
+        <exclusion>
           <groupId>jline</groupId>
           <artifactId>jline</artifactId>
         </exclusion>
       </exclusions>
     </dependency>
-    <!-- Need log4j api so long as Zookeeper does; see https://issues.apache.org/jira/browse/ZOOKEEPER-850 -->
-    <dependency>
-      <groupId>org.slf4j</groupId>
-      <artifactId>log4j-over-slf4j</artifactId>
-      <optional>true</optional>  <!-- let the end user decide... they may be using log4j directly! -->
-    </dependency>
     <dependency>
       <groupId>org.slf4j</groupId>
       <artifactId>jcl-over-slf4j</artifactId>

Modified: lucene/dev/branches/LUCENE-2878/dev-tools/maven/solr/solrj/src/test/pom.xml.template
URL: http://svn.apache.org/viewvc/lucene/dev/branches/LUCENE-2878/dev-tools/maven/solr/solrj/src/test/pom.xml.template?rev=1435287&r1=1435286&r2=1435287&view=diff
==============================================================================
--- lucene/dev/branches/LUCENE-2878/dev-tools/maven/solr/solrj/src/test/pom.xml.template (original)
+++ lucene/dev/branches/LUCENE-2878/dev-tools/maven/solr/solrj/src/test/pom.xml.template Fri Jan 18 18:30:54 2013
@@ -34,7 +34,7 @@
     <module-directory>solr/solrj</module-directory>
     <top-level>../../../../..</top-level>
     <module-path>${top-level}/${module-directory}/src/test</module-path>
-    <maven.install.skip>true</maven.install.skip>
+    <surefire-solr-directory>${top-level}/../../solr</surefire-solr-directory>
   </properties>
   <dependencies>
     <dependency>
@@ -52,11 +52,6 @@
       <version>${project.version}</version>
       <scope>test</scope>
     </dependency>
-    <dependency>
-      <groupId>org.slf4j</groupId>
-      <artifactId>log4j-over-slf4j</artifactId>
-      <scope>test</scope>
-    </dependency>
   </dependencies>
   <build>
     <sourceDirectory/>
@@ -108,6 +103,15 @@
           <skip>true</skip>
         </configuration>
       </plugin>
-     </plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <configuration>
+          <systemPropertyVariables>
+            <java.util.logging.config.file>${surefire-solr-directory}/testlogging.properties</java.util.logging.config.file>
+          </systemPropertyVariables>
+        </configuration>
+      </plugin>
+    </plugins>
   </build>
 </project>

Modified: lucene/dev/branches/LUCENE-2878/dev-tools/maven/solr/webapp/pom.xml.template
URL: http://svn.apache.org/viewvc/lucene/dev/branches/LUCENE-2878/dev-tools/maven/solr/webapp/pom.xml.template?rev=1435287&r1=1435286&r2=1435287&view=diff
==============================================================================
--- lucene/dev/branches/LUCENE-2878/dev-tools/maven/solr/webapp/pom.xml.template (original)
+++ lucene/dev/branches/LUCENE-2878/dev-tools/maven/solr/webapp/pom.xml.template Fri Jan 18 18:30:54 2013
@@ -64,10 +64,6 @@
     </dependency>
     <dependency>
       <groupId>org.slf4j</groupId>
-      <artifactId>log4j-over-slf4j</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.slf4j</groupId>
       <artifactId>jcl-over-slf4j</artifactId>
     </dependency>
   </dependencies>

Modified: lucene/dev/branches/LUCENE-2878/dev-tools/scripts/buildAndPushRelease.py
URL: http://svn.apache.org/viewvc/lucene/dev/branches/LUCENE-2878/dev-tools/scripts/buildAndPushRelease.py?rev=1435287&r1=1435286&r2=1435287&view=diff
==============================================================================
--- lucene/dev/branches/LUCENE-2878/dev-tools/scripts/buildAndPushRelease.py (original)
+++ lucene/dev/branches/LUCENE-2878/dev-tools/scripts/buildAndPushRelease.py Fri Jan 18 18:30:54 2013
@@ -19,9 +19,9 @@ import shutil
 import os
 import sys
 
-# Usage: python -u buildRelease.py [-sign gpgKey(eg: 6E68DA61)] [-prepare] [-push userName] [-pushLocal dirName] [-smoke tmpDir] /path/to/checkout version(eg: 3.4.0) rcNum(eg: 0)
+# Usage: python3.2 -u buildAndPushRelease.py [-sign gpgKey(eg: 6E68DA61)] [-prepare] [-push userName] [-pushLocal dirName] [-smoke tmpDir] /path/to/checkout version(eg: 3.4.0) rcNum(eg: 0)
 #
-# EG: python -u buildRelease.py -prepare -push -sign 6E68DA61 mikemccand /lucene/34x 3.4.0 0
+# EG: python3.2 -u buildAndPushRelease.py -prepare -push -sign 6E68DA61 mikemccand /lucene/34x 3.4.0 0
 
 # NOTE: if you specify -sign, you have to type in your gpg password at
 # some point while this runs; it's VERY confusing because the output
@@ -32,15 +32,15 @@ import sys
 LOG = '/tmp/release.log'
 
 def log(msg):
-  f = open(LOG, 'ab')
-  f.write(msg)
+  f = open(LOG, mode='ab')
+  f.write(msg.encode('utf-8'))
   f.close()
   
 def run(command):
   log('\n\n%s: RUN: %s\n' % (datetime.datetime.now(), command))
   if os.system('%s >> %s 2>&1' % (command, LOG)):
     msg = '    FAILED: %s [see log %s]' % (command, LOG)
-    print msg
+    print(msg)
     raise RuntimeError(msg)
 
 def scrubCheckout():
@@ -53,7 +53,7 @@ def scrubCheckout():
     if match:
       s = match.group(1)
       if os.path.exists(s):
-        print '    delete %s' % s
+        print('    delete %s' % s)
         if os.path.isdir(s) and not os.path.islink(s):
           shutil.rmtree(s)
         else:
@@ -69,29 +69,29 @@ def getSVNRev():
   
 
 def prepare(root, version, gpgKeyID, doTest):
-  print
-  print 'Prepare release...'
+  print()
+  print('Prepare release...')
   if os.path.exists(LOG):
     os.remove(LOG)
 
   os.chdir(root)
-  print '  svn up...'
+  print('  svn up...')
   run('svn up')
 
   rev = getSVNRev()
-  print '  svn rev: %s' % rev
+  print('  svn rev: %s' % rev)
   log('\nSVN rev: %s\n' % rev)
 
   if doTest:
     # Don't run tests if we are gonna smoke test after the release...
-    print '  ant clean test'
+    print('  ant clean test')
     run('ant clean test')
 
-  print '  clean checkout'
+  print('  clean checkout')
   scrubCheckout()
-  open('rev.txt', 'wb').write(rev)
+  open('rev.txt', mode='wb').write(rev.encode('UTF-8'))
   
-  print '  lucene prepare-release'
+  print('  lucene prepare-release')
   os.chdir('lucene')
   cmd = 'ant -Dversion=%s -Dspecversion=%s' % (version, version)
   if gpgKeyID is not None:
@@ -100,7 +100,7 @@ def prepare(root, version, gpgKeyID, doT
     cmd += ' prepare-release-no-sign'
   run(cmd)
   
-  print '  solr prepare-release'
+  print('  solr prepare-release')
   os.chdir('../solr')
   cmd = 'ant -Dversion=%s -Dspecversion=%s' % (version, version)
   if gpgKeyID is not None:
@@ -108,105 +108,94 @@ def prepare(root, version, gpgKeyID, doT
   else:
     cmd += ' prepare-release-no-sign'
   run(cmd)
-  print '  done!'
-  print
+  print('  done!')
+  print()
   return rev
 
 def push(version, root, rev, rcNum, username):
-  print 'Push...'
+  print('Push...')
   dir = 'lucene-solr-%s-RC%d-rev%s' % (version, rcNum, rev)
-  s = os.popen('ssh %s@people.apache.org "ls -ld public_html/staging_area/%s" 2>&1' % (username, dir)).read()
-  if s.lower().find('no such file or directory') == -1:
-    print '  Remove old dir...'
+  s = os.popen('ssh %s@people.apache.org "ls -ld public_html/staging_area/%s" 2>&1' % (username, dir)).read().decode('UTF-8')
+  if 'no such file or directory' not in s.lower():
+    print('  Remove old dir...')
     run('ssh %s@people.apache.org "chmod -R u+rwX public_html/staging_area/%s; rm -rf public_html/staging_area/%s"' % 
         (username, dir, dir))
   run('ssh %s@people.apache.org "mkdir -p public_html/staging_area/%s/lucene public_html/staging_area/%s/solr"' % \
       (username, dir, dir))
-  print '  Lucene'
+  print('  Lucene')
   os.chdir('%s/lucene/dist' % root)
-  print '    zip...'
+  print('    zip...')
   if os.path.exists('lucene.tar.bz2'):
     os.remove('lucene.tar.bz2')
   run('tar cjf lucene.tar.bz2 *')
-  print '    copy...'
+  print('    copy...')
   run('scp lucene.tar.bz2 %s@people.apache.org:public_html/staging_area/%s/lucene' % (username, dir))
-  print '    unzip...'
+  print('    unzip...')
   run('ssh %s@people.apache.org "cd public_html/staging_area/%s/lucene; tar xjf lucene.tar.bz2; rm -f lucene.tar.bz2"' % (username, dir))
   os.remove('lucene.tar.bz2')
-  print '    copy changes...'
-  os.chdir('..')
-  run('scp -r build/docs/changes %s@people.apache.org:public_html/staging_area/%s/lucene/changes-%s' % (username, dir, version))
 
-  print '  Solr'
+  print('  Solr')
   os.chdir('%s/solr/package' % root)
-  print '    zip...'
+  print('    zip...')
   if os.path.exists('solr.tar.bz2'):
     os.remove('solr.tar.bz2')
   run('tar cjf solr.tar.bz2 *')
-  print '    copy...'
+  print('    copy...')
   run('scp solr.tar.bz2 %s@people.apache.org:public_html/staging_area/%s/solr' % (username, dir))
-  print '    unzip...'
+  print('    unzip...')
   run('ssh %s@people.apache.org "cd public_html/staging_area/%s/solr; tar xjf solr.tar.bz2; rm -f solr.tar.bz2"' % (username, dir))
   os.remove('solr.tar.bz2')
 
-  print '  KEYS'
-  run('wget http://people.apache.org/keys/group/lucene.asc')
-  os.rename('lucene.asc', 'KEYS')
-  run('chmod a+r-w KEYS')
-  run('scp KEYS %s@people.apache.org:public_html/staging_area/%s/lucene' % (username, dir))
-  run('scp KEYS %s@people.apache.org:public_html/staging_area/%s/solr' % (username, dir))
-  os.remove('KEYS')
-
-  print '  chmod...'
+  print('  chmod...')
   run('ssh %s@people.apache.org "chmod -R a+rX-w public_html/staging_area/%s"' % (username, dir))
 
-  print '  done!'
+  print('  done!')
   url = 'https://people.apache.org/~%s/staging_area/%s' % (username, dir)
   return url
 
 def pushLocal(version, root, rev, rcNum, localDir):
-  print 'Push local [%s]...' % localDir
+  print('Push local [%s]...' % localDir)
   os.makedirs(localDir)
 
   dir = 'lucene-solr-%s-RC%d-rev%s' % (version, rcNum, rev)
   os.makedirs('%s/%s/lucene' % (localDir, dir))
   os.makedirs('%s/%s/solr' % (localDir, dir))
-  print '  Lucene'
+  print('  Lucene')
   os.chdir('%s/lucene/dist' % root)
-  print '    zip...'
+  print('    zip...')
   if os.path.exists('lucene.tar.bz2'):
     os.remove('lucene.tar.bz2')
   run('tar cjf lucene.tar.bz2 *')
 
   os.chdir('%s/%s/lucene' % (localDir, dir))
-  print '    unzip...'
+  print('    unzip...')
   run('tar xjf "%s/lucene/dist/lucene.tar.bz2"' % root)
   os.remove('%s/lucene/dist/lucene.tar.bz2' % root)
-  print '    copy changes...'
+  print('    copy changes...')
   run('cp -r "%s/lucene/build/docs/changes" changes-%s' % (root, version))
 
-  print '  Solr'
+  print('  Solr')
   os.chdir('%s/solr/package' % root)
-  print '    zip...'
+  print('    zip...')
   if os.path.exists('solr.tar.bz2'):
     os.remove('solr.tar.bz2')
   run('tar cjf solr.tar.bz2 *')
-  print '    unzip...'
+  print('    unzip...')
   os.chdir('%s/%s/solr' % (localDir, dir))
   run('tar xjf "%s/solr/package/solr.tar.bz2"' % root)
   os.remove('%s/solr/package/solr.tar.bz2' % root)
 
-  print '  KEYS'
+  print('  KEYS')
   run('wget http://people.apache.org/keys/group/lucene.asc')
   os.rename('lucene.asc', 'KEYS')
   run('chmod a+r-w KEYS')
   run('cp KEYS ../lucene')
 
-  print '  chmod...'
+  print('  chmod...')
   os.chdir('..')
   run('chmod -R a+rX-w .')
 
-  print '  done!'
+  print('  done!')
   return 'file://%s/%s' % (os.path.abspath(localDir), dir)
   
 def main():
@@ -231,9 +220,9 @@ def main():
     smokeTmpDir = sys.argv[idx+1]
     del sys.argv[idx:idx+2]
     if os.path.exists(smokeTmpDir):
-      print
-      print 'ERROR: smoke tmpDir "%s" exists; please remove first' % smokeTmpDir
-      print
+      print()
+      print('ERROR: smoke tmpDir "%s" exists; please remove first' % smokeTmpDir)
+      print()
       sys.exit(1)
     
   try:
@@ -245,15 +234,15 @@ def main():
     localStagingDir = sys.argv[idx+1]
     del sys.argv[idx:idx+2]
     if os.path.exists(localStagingDir):
-      print
-      print 'ERROR: pushLocal dir "%s" exists; please remove first' % localStagingDir
-      print
+      print()
+      print('ERROR: pushLocal dir "%s" exists; please remove first' % localStagingDir)
+      print()
       sys.exit(1)
 
   if doPushRemote and doPushLocal:
-    print
-    print 'ERROR: specify at most one of -push or -pushLocal (got both)'
-    print
+    print()
+    print('ERROR: specify at most one of -push or -pushLocal (got both)')
+    print()
     sys.exit(1)
 
   try:
@@ -263,7 +252,7 @@ def main():
   else:
     gpgKeyID = sys.argv[idx+1]
     del sys.argv[idx:idx+2]
-    
+
   root = os.path.abspath(sys.argv[1])
   version = sys.argv[2]
   rcNum = int(sys.argv[3])
@@ -272,22 +261,26 @@ def main():
     rev = prepare(root, version, gpgKeyID, smokeTmpDir is None)
   else:
     os.chdir(root)
-    rev = open('rev.txt').read()
+    rev = open('rev.txt', encoding='UTF-8').read()
 
   if doPushRemote:
     url = push(version, root, rev, rcNum, username)
   elif doPushLocal:
     url = pushLocal(version, root, rev, rcNum, localStagingDir)
   else:
-    url = NOne
+    url = None
 
   if url is not None:
-    print '  URL: %s' % url
+    print('  URL: %s' % url)
 
   if smokeTmpDir is not None:
     import smokeTestRelease
     smokeTestRelease.DEBUG = False
     smokeTestRelease.smokeTest(url, version, smokeTmpDir, gpgKeyID is not None)
-    
+
 if __name__ == '__main__':
-  main()
+  try:
+    main()
+  except:
+    import traceback
+    traceback.print_exc()

Modified: lucene/dev/branches/LUCENE-2878/dev-tools/scripts/checkJavadocLinks.py
URL: http://svn.apache.org/viewvc/lucene/dev/branches/LUCENE-2878/dev-tools/scripts/checkJavadocLinks.py?rev=1435287&r1=1435286&r2=1435287&view=diff
==============================================================================
--- lucene/dev/branches/LUCENE-2878/dev-tools/scripts/checkJavadocLinks.py (original)
+++ lucene/dev/branches/LUCENE-2878/dev-tools/scripts/checkJavadocLinks.py Fri Jan 18 18:30:54 2013
@@ -197,6 +197,9 @@ def checkAll(dirName):
         elif link.find('lucene.apache.org/java/docs/discussion.html') != -1:
           # OK
           pass
+        elif link.find('lucene.apache.org/core/discussion.html') != -1:
+          # OK
+          pass
         elif link.find('lucene.apache.org/solr/mirrors-solr-latest-redir.html') != -1:
           # OK
           pass

Modified: lucene/dev/branches/LUCENE-2878/dev-tools/scripts/smokeTestRelease.py
URL: http://svn.apache.org/viewvc/lucene/dev/branches/LUCENE-2878/dev-tools/scripts/smokeTestRelease.py?rev=1435287&r1=1435286&r2=1435287&view=diff
==============================================================================
--- lucene/dev/branches/LUCENE-2878/dev-tools/scripts/smokeTestRelease.py (original)
+++ lucene/dev/branches/LUCENE-2878/dev-tools/scripts/smokeTestRelease.py Fri Jan 18 18:30:54 2013
@@ -308,7 +308,7 @@ def checkSigs(project, urlString, versio
       artifact = text
       artifactURL = subURL
       if project == 'solr':
-        expected = 'apache-solr-%s' % version
+        expected = 'solr-%s' % version
       else:
         expected = 'lucene-%s' % version
       if not artifact.startswith(expected):
@@ -334,9 +334,9 @@ def checkSigs(project, urlString, versio
                 'lucene-%s.tgz' % version,
                 'lucene-%s.zip' % version]
   else:
-    expected = ['apache-solr-%s-src.tgz' % version,
-                'apache-solr-%s.tgz' % version,
-                'apache-solr-%s.zip' % version]
+    expected = ['solr-%s-src.tgz' % version,
+                'solr-%s.tgz' % version,
+                'solr-%s.zip' % version]
 
   actual = [x[0] for x in artifacts]
   if expected != actual:
@@ -556,10 +556,7 @@ def unpackAndVerify(project, tmpDir, art
 
   # make sure it unpacks to proper subdir
   l = os.listdir(destDir)
-  if project == 'solr':
-    expected = 'apache-%s-%s' % (project, version)
-  else:
-    expected = '%s-%s' % (project, version)
+  expected = '%s-%s' % (project, version)
   if l != [expected]:
     raise RuntimeError('unpack produced entries %s; expected only %s' % (l, expected))
 
@@ -956,7 +953,6 @@ def getDistributionsForMavenChecks(tmpDi
   distributionFiles = defaultdict()
   for project in ('lucene', 'solr'):
     distribution = '%s-%s.tgz' % (project, version)
-    if project == 'solr': distribution = 'apache-' + distribution
     if not os.path.exists('%s/%s' % (tmpDir, distribution)):
       distURL = '%s/%s/%s' % (baseURL, project, distribution)
       print('    download %s...' % distribution, end=' ')
@@ -1010,8 +1006,6 @@ def checkIdenticalMavenArtifacts(distrib
     distFilenames = dict()
     for file in distributionFiles[project]:
       baseName = os.path.basename(file)
-      if project == 'solr': # Remove 'apache-' prefix to allow comparison to Maven artifacts
-        baseName = baseName.replace('apache-', '')
       distFilenames[baseName] = file
     for artifact in artifacts[project]:
       if reJarWar.search(artifact):
@@ -1348,9 +1342,9 @@ def smokeTest(baseURL, version, tmpDir, 
   print()
   print('Test Solr...')
   checkSigs('solr', solrPath, version, tmpDir, isSigned)
-  for artifact in ('apache-solr-%s.tgz' % version, 'apache-solr-%s.zip' % version):
+  for artifact in ('solr-%s.tgz' % version, 'solr-%s.zip' % version):
     unpackAndVerify('solr', tmpDir, artifact, version)
-  unpackAndVerify('solr', tmpDir, 'apache-solr-%s-src.tgz' % version, version)
+  unpackAndVerify('solr', tmpDir, 'solr-%s-src.tgz' % version, version)
 
   print()
   print('Test Maven artifacts for Lucene and Solr...')

Modified: lucene/dev/branches/LUCENE-2878/extra-targets.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/LUCENE-2878/extra-targets.xml?rev=1435287&r1=1435286&r2=1435287&view=diff
==============================================================================
--- lucene/dev/branches/LUCENE-2878/extra-targets.xml (original)
+++ lucene/dev/branches/LUCENE-2878/extra-targets.xml Fri Jan 18 18:30:54 2013
@@ -56,11 +56,14 @@
       mavenVersion="${maven-version}" failonerror="true" fork="true">
       <arg value="-fae"/>
       <arg value="install"/>
+      <syspropertyset>
+        <propertyref builtin="commandline"/>
+      </syspropertyset>
     </mvn>
   </target>
 
   <target xmlns:ivy="antlib:org.apache.ivy.ant" name="-check-svn-working-copy" depends="ivy-availability-check,ivy-fail,ivy-configure,resolve-groovy">
-    <ivy:cachepath organisation="org.tmatesoft.svnkit" module="svnkit" revision="1.7.5-v1"
+    <ivy:cachepath organisation="org.tmatesoft.svnkit" module="svnkit" revision="1.7.6"
       inline="true" conf="default" type="jar" transitive="true" pathid="svnkit.classpath"/>
     <script language="groovy" taskname="svn">
       <classpath>

Modified: lucene/dev/branches/LUCENE-2878/lucene/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/branches/LUCENE-2878/lucene/CHANGES.txt?rev=1435287&r1=1435286&r2=1435287&view=diff
==============================================================================
--- lucene/dev/branches/LUCENE-2878/lucene/CHANGES.txt (original)
+++ lucene/dev/branches/LUCENE-2878/lucene/CHANGES.txt Fri Jan 18 18:30:54 2013
@@ -19,6 +19,36 @@ Changes in backwards compatibility polic
   (Nikola Tanković, Uwe Schindler, Chris Male, Mike McCandless,
   Robert Muir)
 
+======================= Lucene 4.2.0 =======================
+
+Changes in backwards compatibility policy
+
+* LUCENE-4602: FacetFields now stores facet ordinals in a DocValues field, 
+  rather than a payload. This forces rebuilding existing indexes, or do a
+  one time migration using FacetsPayloadMigratingReader. Since DocValues 
+  support in-memory caching, CategoryListCache was removed too.
+  (Shai Erera, Michael McCandless)
+
+Optimizations
+
+* LUCENE-4687: BloomFilterPostingsFormat now lazily initializes delegate
+  TermsEnum only if needed to do a seek or get a DocsEnum. (Simon Willnauer) 
+
+* LUCENE-4677, LUCENE-4682: unpacked FSTs now use vInt to encode the node target,
+  to reduce their size (Mike McCandless)
+
+* LUCENE-4678: FST now uses a paged byte[] structure instead of a
+  single byte[] internally, to avoid large memory spikes during
+  building (James Dyer, Mike McCandless)
+
+* LUCENE-3298: FST can now be larger than 2.1 GB / 2.1 B nodes.
+  (James Dyer, Mike McCandless)
+
+New Features
+
+* LUCENE-4686: New specialized DGapVInt8IntEncoder for facets (now the 
+  default). (Shai Erera)
+
 ======================= Lucene 4.1.0 =======================
 
 Changes in backwards compatibility policy
@@ -45,7 +75,7 @@ Changes in backwards compatibility polic
     Instead of calling refresh(), you should write similar code to how you reopen
     a regular DirectoryReader.
   - TaxonomyReader.openIfChanged (previously refresh()) no longer throws
-    IncosistentTaxonomyException, and supports recreate. InconsistentTaxoEx
+    InconsistentTaxonomyException, and supports recreate. InconsistentTaxoEx
     was removed.
   - ChildrenArrays was pulled out of TaxonomyReader into a top-level class.
   - TaxonomyReader was made an abstract class (instead of an interface), with
@@ -54,6 +84,71 @@ Changes in backwards compatibility polic
     abstract.
     (Shai Erera, Gilad Barkai)
 
+* LUCENE-4576: Remove CachingWrapperFilter(Filter, boolean). This recacheDeletes
+  option gave less than 1% speedup at the expense of cache churn (filters were
+  invalidated on reopen if even a single delete was posted against the segment).
+  (Robert Muir)
+
+* LUCENE-4575: Replace IndexWriter's commit/prepareCommit versions that take
+  commitData with setCommitData(). That allows committing changes to IndexWriter
+  even if the commitData is the only thing that changes.
+  (Shai Erera, Michael McCandless)
+
+* LUCENE-4565: TaxonomyReader.getParentArray and .getChildrenArrays consolidated
+  into one getParallelTaxonomyArrays(). You can obtain the 3 arrays that the
+  previous two methods returned by calling parents(), children() or siblings()
+  on the returned ParallelTaxonomyArrays. (Shai Erera)
+  
+* LUCENE-4585: Spatial PrefixTree based Strategies (either TermQuery or
+  RecursivePrefix based) MAY want to re-index if used for point data. If a
+  re-index is not done, then an indexed point is ~1/2 the smallest grid cell
+  larger and as such is slightly more likely to match a query shape.
+  (David Smiley)
+
+* LUCENE-4604: DefaultOrdinalPolicy removed in favor of OrdinalPolicy.ALL_PARENTS.
+  Same for DefaultPathPolicy (now PathPolicy.ALL_CATEGORIES). In addition, you
+  can use OrdinalPolicy.NO_PARENTS to never write any parent category ordinal
+  to the fulltree posting payload (but note that you need a special 
+  FacetsAccumulator - see javadocs). (Shai Erera)
+
+* LUCENE-4594: Spatial PrefixTreeStrategy no longer indexes center points of
+  non-point shapes.  If you want to call makeDistanceValueSource() based on
+  shape centers, you need to do this yourself in another spatial field.
+  (David Smiley)
+
+* LUCENE-4615: Replace IntArrayAllocator and FloatArrayAllocator by ArraysPool.
+  FacetArrays no longer takes those allocators; if you need to reuse the arrays,
+  you should use ReusingFacetArrays. (Shai Erera, Gilad Barkai)
+
+* LUCENE-4621: FacetIndexingParams is now a concrete class (instead of DefaultFIP).
+  Also, the entire IndexingParams chain is now immutable. If you need to override
+  a setting, you should extend the relevant class.
+  Additionally, FacetSearchParams is now immutable, and requires all FacetRequests
+  to specified at initialization time. (Shai Erera)
+
+* LUCENE-4647: CategoryDocumentBuilder and EnhancementsDocumentBuilder are replaced
+  by FacetFields and AssociationsFacetFields respectively. CategoryEnhancement and
+  AssociationEnhancement were removed in favor of a simplified CategoryAssociation
+  interface, with CategoryIntAssociation and CategoryFloatAssociation 
+  implementations.
+  NOTE: indexes that contain category enhancements/associations are not supported
+  by the new code and should be recreated. (Shai Erera)
+
+* LUCENE-4659: Massive cleanup to CategoryPath API. Additionally, CategoryPath is 
+  now immutable, so you don't need to clone() it. (Shai Erera)
+
+* LUCENE-4670: StoredFieldsWriter and TermVectorsWriter have new finish* callbacks
+  which are called after a doc/field/term has been completely added.
+  (Adrien Grand, Robert Muir)
+
+* LUCENE-4620: IntEncoder/Decoder were changed to do bulk encoding/decoding. As a
+  result, few other classes such as Aggregator and CategoryListIterator were
+  changed to handle bulk category ordinals. (Shai Erera)
+
+* LUCENE-4683: CategoryListIterator and Aggregator are now per-segment. As such
+  their implementations no longer take a top-level IndexReader in the constructor
+  but rather implement a setNextReader. (Shai Erera)
+  
 New Features
 
 * LUCENE-4226: New experimental StoredFieldsFormat that compresses chunks of
@@ -75,7 +170,7 @@ New Features
   remove stop words then "ghost chr..." could suggest "The Ghost of
   Christmas Past"; if SynonymFilter is used to map wifi and wireless
   network to hotspot, then "wirele..." could suggest "wifi router";
-  token normalization likes stemmers, accent removel, etc. would allow
+  token normalization likes stemmers, accent removal, etc. would allow
   the suggester to ignore such variations. (Robert Muir, Sudarshan
   Gaikaiwari, Mike McCandless)
 
@@ -91,14 +186,29 @@ New Features
 * LUCENE-4515: MemoryIndex now supports adding the same field multiple
   times. (Simon Willnauer)
 
-* LUCENE-4540: Added an experimental Norm.setPackedLong, which allows
-  the use of VAR_INTS-encoded norms. This can be useful for cases where
-  you only need a few bits per-document, or where you might want exact
-  document length, and so on.  (Robert Muir)
-
 * LUCENE-4489: Added consumeAllTokens option to LimitTokenCountFilter
   (hossman, Robert Muir)
 
+* LUCENE-4566: Add NRT/SearcherManager.RefreshListener/addListener to
+  be notified whenever a new searcher was opened. (selckin via Shai
+  Erera, Mike McCandless)
+
+* SOLR-4123: Add per-script customizability to ICUTokenizerFactory via
+  rule files in the ICU RuleBasedBreakIterator format.
+  (Shawn Heisey, Robert Muir, Steve Rowe)
+
+* LUCENE-4590: Added WriteEnwikiLineDocTask - a benchmark task for writing
+  Wikipedia category pages and non-category pages into separate line files.
+  extractWikipedia.alg was changed to use this task, so now it creates two
+  files. (Doron Cohen)
+
+* LUCENE-4290: Added PostingsHighlighter to the highlighter module. It uses
+  offsets from the postings lists to highlight documents. (Robert Muir)
+
+* LUCENE-4628: Added CommonTermsQuery that executes high-frequency terms
+  in a optional sub-query to prevent slow queries due to "common" terms 
+  like stopwords. (Simon Willnauer)
+
 API Changes
 
 * LUCENE-4399: Deprecated AppendingCodec. Lucene's term dictionaries
@@ -112,7 +222,7 @@ API Changes
   information about the trigger of the merge ie. merge triggered due
   to a segment merge or a full flush etc. (Simon Willnauer)
 
-* Lucene-4415: TermsFilter is now immutable. All terms need to be provided
+* LUCENE-4415: TermsFilter is now immutable. All terms need to be provided
   as constructor argument. (Simon Willnauer)
 
 * LUCENE-4520: ValueSource.getSortField no longer throws IOExceptions
@@ -121,6 +231,25 @@ API Changes
 * LUCENE-4537: RateLimiter is now separated from FSDirectory and exposed via
   RateLimitingDirectoryWrapper. Any Directory can now be rate-limited.
   (Simon Willnauer)  
+
+* LUCENE-4591: CompressingStoredFields{Writer,Reader} now accept a segment
+  suffix as a constructor parameter. (Renaud Delbru via Adrien Grand)
+  
+* LUCENE-4605: Added DocsEnum.FLAG_NONE which can be passed instead of 0 as
+  the flag to .docs() and .docsAndPositions(). (Shai Erera)
+
+* LUCENE-4617: Remove FST.pack() method. Previously to make a packed FST,
+  you had to make a Builder with willPackFST=true (telling it you will later pack it),
+  create your fst with finish(), and then call pack() to get another FST.
+  Instead just pass true for doPackFST to Builder and finish() returns a packed FST.
+  (Robert Muir)
+
+* LUCENE-4663: Deprecate IndexSearcher.document(int, Set). This was not intended
+  to be final, nor named document(). Use IndexSearcher.doc(int, Set) instead.
+  (Robert Muir)
+
+* LUCENE-4684: Made DirectSpellChecker extendable.
+  (Martijn van Groningen)
   
 Bug Fixes
 
@@ -170,13 +299,84 @@ Bug Fixes
   allow 1+maxMergeCount merges threads to be created, instead of just
   maxMergeCount (Radim Kolar, Mike McCandless)
 
-* LUCENE-4567: Fixed NullPointerException in analzying, fuzzy, and
+* LUCENE-4567: Fixed NullPointerException in analyzing, fuzzy, and
   WFST suggesters when no suggestions were added (selckin via Mike
   McCandless)
 
 * LUCENE-4568: Fixed integer overflow in
   PagedBytes.PagedBytesData{In,Out}put.getPosition. (Adrien Grand)
 
+* LUCENE-4581: GroupingSearch.setAllGroups(true) was failing to
+  actually compute allMatchingGroups (dizh@neusoft.com via Mike
+  McCandless)
+
+* LUCENE-4009: Improve TermsFilter.toString (Tim Costermans via Chris
+  Male, Mike McCandless)
+
+* LUCENE-4588: Benchmark's EnwikiContentSource was discarding last wiki 
+  document and had leaking threads in 'forever' mode. (Doron Cohen)   
+
+* LUCENE-4585: Spatial RecursivePrefixTreeFilter had some bugs that only
+  occurred when shapes were indexed.  In what appears to be rare circumstances,
+  documents with shapes near a query shape were erroneously considered a match.
+  In addition, it wasn't possible to index a shape representing the entire
+  globe.
+
+* LUCENE-4595: EnwikiContentSource had a thread safety problem (NPE) in 
+  'forever' mode (Doron Cohen)
+
+* LUCENE-4587: fix WordBreakSpellChecker to not throw AIOOBE when presented
+  with 2-char codepoints, and to correctly break/combine terms containing
+  non-latin characters. (James Dyer, Andreas Hubold)
+
+* LUCENE-4596: fix a concurrency bug in DirectoryTaxonomyWriter.
+  (Shai Erera)
+
+* LUCENE-4594: Spatial PrefixTreeStrategy would index center-points in addition
+  to the shape to index if it was non-point, in the same field.  But sometimes
+  the center-point isn't actually in the shape (consider a LineString), and for
+  highly precise shapes it could cause makeDistanceValueSource's cache to load
+  parts of the shape's boundary erroneously too.  So center points aren't
+  indexed any more; you should use another spatial field. (David Smiley)
+
+* LUCENE-4629: IndexWriter misses to delete documents if a document block is
+  indexed and the Iterator throws an exception. Documents were only rolled back
+  if the actual indexing process failed. (Simon Willnauer)
+
+* LUCENE-4608: Handle large number of requested fragments better.
+  (Martijn van Groningen)
+
+* LUCENE-4633: DirectoryTaxonomyWriter.replaceTaxonomy did not refresh its
+  internal reader, which could cause an existing category to be added twice.
+  (Shai Erera)
+
+* LUCENE-4461: If you added the same FacetRequest more than once, you would get
+  inconsistent results. (Gilad Barkai via Shai Erera)
+
+* LUCENE-4656: Fix regression in IndexWriter to work with empty TokenStreams
+  that have no TermToBytesRefAttribute (commonly provided by CharTermAttribute),
+  e.g., oal.analysis.miscellaneous.EmptyTokenStream.
+  (Uwe Schindler, Adrien Grand, Robert Muir)
+
+* LUCENE-4660: ConcurrentMergeScheduler was taking too long to
+  un-pause incoming threads it had paused when too many merges were
+  queued up. (Mike McCandless)
+
+* LUCENE-4662: Add missing elided articles and prepositions to FrenchAnalyzer's
+  DEFAULT_ARTICLES list passed to ElisionFilter.  (David Leunen via Steve Rowe)
+
+* LUCENE-4671: Fix CharsRef.subSequence method.  (Tim Smith via Robert Muir)
+
+* LUCENE-4465: Let ConstantScoreQuery's Scorer return its child scorer.
+  (selckin via Uwe Schindler)
+    
+Changes in Runtime Behavior
+  
+* LUCENE-4586: Change default ResultMode of FacetRequest to PER_NODE_IN_TREE.
+  This only affects requests with depth>1. If you execute such requests and
+  rely on the facet results being returned flat (i.e. no hierarchy), you should
+  set the ResultMode to GLOBAL_FLAT. (Shai Erera, Gilad Barkai) 
+  
 Optimizations
 
 * LUCENE-2221: oal.util.BitUtil was modified to use Long.bitCount and
@@ -228,7 +428,17 @@ Optimizations
 * LUCENE-4538: DocValues now caches direct sources in a ThreadLocal exposed via SourceCache. 
   Users of this API can now simply obtain an instance via DocValues#getDirectSource per thread.
   (Simon Willnauer)
+  
+* LUCENE-4580: DrillDown.query variants return a ConstantScoreQuery with boost set to 0.0f
+  so that documents scores are not affected by running a drill-down query. (Shai Erera)  
+
+* LUCENE-4598: PayloadIterator no longer uses top-level IndexReader to iterate on the
+  posting's payload. (Shai Erera, Michael McCandless)
 
+* LUCENE-4661: Drop default maxThreadCount to 1 and maxMergeCount to 2
+  in ConcurrentMergeScheduler, for faster merge performance on
+  spinning-magnet drives (Mike McCandless)
+  
 Documentation
 
 * LUCENE-4483: Refer to BytesRef.deepCopyOf in Term's constructor that takes BytesRef.
@@ -236,6 +446,12 @@ Documentation
 
 Build
 
+* LUCENE-4650: Upgrade randomized testing to version 2.0.8: make the
+  test framework more robust under low memory conditions. (Dawid Weiss)
+
+* LUCENE-4603: Upgrade randomized testing to version 2.0.5: print forked
+  JVM PIDs on heartbeat from hung tests (Dawid Weiss)
+
 * Upgrade randomized testing to version 2.0.4: avoid hangs on shutdown
   hooks hanging forever by calling Runtime.halt() in addition to 
   Runtime.exit() after a short delay to allow graceful shutdown (Dawid Weiss)
@@ -244,6 +460,13 @@ Build
   RandomizedContext.contexts static map. Upgrade randomized testing
   to version 2.0.2 (Mike McCandless, Dawid Weiss)
 
+* LUCENE-4589: Upgraded benchmark module's Nekohtml dependency to version
+  1.9.17, removing the workaround in Lucene's HTML parser for the
+  Turkish locale.  (Uwe Schindler)
+
+* LUCENE-4601: Fix ivy availability check to use typefound, so it works
+  if called from another build file.  (Ryan Ernst via Robert Muir)
+  
   
 ======================= Lucene 4.0.0 =======================
 
@@ -339,7 +562,7 @@ API Changes
   StoredFieldVisitor API.  (Mike McCandless)
 
 * LUCENE-4343: Made Tokenizer.setReader final. This is a setter that should
-  not be overriden by subclasses: per-stream initialization should happen
+  not be overridden by subclasses: per-stream initialization should happen
   in reset().  (Robert Muir)
 
 * LUCENE-4377: Remove IndexInput.copyBytes(IndexOutput, long). 
@@ -565,7 +788,7 @@ API Changes
 
 * LUCENE-4273: When pulling a DocsEnum, you can pass an int flags
   instead of the previous boolean needsFlags; consistent with the changes
-  for DocsAndPositionsEnum in LUCENE-4230. Currently othe only flag
+  for DocsAndPositionsEnum in LUCENE-4230. Currently the only flag
   is DocsEnum.FLAG_FREQS. (Robert Muir, Mike McCandless)
   
 * LUCENE-3616: TextField(String, Reader, Store) was reduced to TextField(String, Reader),
@@ -637,7 +860,7 @@ Bug Fixes
   instance are already checked out and queued up but not yet flushed. 
   (Simon Willnauer)
 
-* LUCENE-4282: Automaton FuzzyQuery didnt always deliver all results.
+* LUCENE-4282: Automaton FuzzyQuery didn't always deliver all results.
   (Johannes Christen, Uwe Schindler, Robert Muir)
 
 * LUCENE-4289: Fix minor idf inconsistencies/inefficiencies in highlighter.
@@ -867,7 +1090,7 @@ Changes in backwards compatibility polic
   Query/Weight/Scorer. If you extended Similarity directly before, you should 
   extend TFIDFSimilarity instead.  Similarity is now a lower-level API to 
   implement other scoring algorithms.  See MIGRATE.txt for more details.
-  (David Nemeskey, Simon Willnauer, Mike Mccandless, Robert Muir)
+  (David Nemeskey, Simon Willnauer, Mike McCandless, Robert Muir)
 
 * LUCENE-3330: The expert visitor API in Scorer has been simplified and
   extended to support arbitrary relationships. To navigate to a scorer's 
@@ -975,12 +1198,12 @@ Changes in Runtime Behavior
   omitNorms(true) for field "a" for 1000 documents, but then add a document with
   omitNorms(false) for field "a", all documents for field "a" will have no 
   norms.  Previously, Lucene would fill the first 1000 documents with 
-  "fake norms" from Similarity.getDefault(). (Robert Muir, Mike Mccandless)
+  "fake norms" from Similarity.getDefault(). (Robert Muir, Mike McCandless)
 
 * LUCENE-2846: When some documents contain field "a", and others do not, the
   documents that don't have the field get a norm byte value of 0. Previously, 
   Lucene would populate "fake norms" with Similarity.getDefault() for these 
-  documents.  (Robert Muir, Mike Mccandless)
+  documents.  (Robert Muir, Mike McCandless)
   
 * LUCENE-2720: IndexWriter throws IndexFormatTooOldException on open, rather 
   than later when e.g. a merge starts. 
@@ -1013,13 +1236,13 @@ Changes in Runtime Behavior
     update or delete on IndexWriter. By default DWPTs are flushed either on
     maxBufferedDocs per DWPT or the global active used memory. Once the active
     memory exceeds ramBufferSizeMB only the largest DWPT is selected for
-    flushing and the memory used by this DWPT is substracted from the active
+    flushing and the memory used by this DWPT is subtracted from the active
     memory and added to a flushing memory pool, which can lead to temporarily
     higher memory usage due to ongoing indexing.
     
   - IndexWriter now can utilize ramBufferSize > 2048 MB. Each DWPT can address
     up to 2048 MB memory such that the ramBufferSize is now bounded by the max
-    number of DWPT avaliable in the used DocumentsWriterPerThreadPool.
+    number of DWPT available in the used DocumentsWriterPerThreadPool.
     IndexWriters net memory consumption can grow far beyond the 2048 MB limit if
     the application can use all available DWPTs. To prevent a DWPT from
     exhausting its address space IndexWriter will forcefully flush a DWPT if its
@@ -1027,7 +1250,7 @@ Changes in Runtime Behavior
     via IndexWriterConfig and defaults to 1945 MB. 
     Since IndexWriter flushes DWPT concurrently not all memory is released
     immediately. Applications should still use a ramBufferSize significantly
-    lower than the JVMs avaliable heap memory since under high load multiple
+    lower than the JVMs available heap memory since under high load multiple
     flushing DWPT can consume substantial transient memory when IO performance
     is slow relative to indexing rate.
     
@@ -1035,7 +1258,7 @@ Changes in Runtime Behavior
     'currently' RAM resident documents to disk. Yet, flushes that occur while a
     a full flush is running are queued and will happen after all DWPT involved
     in the full flush are done flushing. Applications using multiple threads
-    during indexing and trigger a full flush (eg call commmit() or open a new
+    during indexing and trigger a full flush (eg call commit() or open a new
     NRT reader) can use significantly more transient memory.
     
   - IndexWriter#addDocument and IndexWriter.updateDocument can block indexing
@@ -1078,7 +1301,7 @@ Changes in Runtime Behavior
 
 * LUCENE-3455: QueryParserBase.newFieldQuery() will throw a ParseException if
   any of the calls to the Analyzer throw an IOException.  QueryParseBase.analyzeRangePart()
-  will throw a RuntimException if an IOException is thrown by the Analyzer.
+  will throw a RuntimeException if an IOException is thrown by the Analyzer.
 
 * LUCENE-4127: IndexWriter will now throw IllegalArgumentException if
   the first token of an indexed field has 0 positionIncrement
@@ -1168,7 +1391,7 @@ API Changes
   customized on a per-field basis.  (Robert Muir)
 
 * LUCENE-3308: DuplicateFilter keepMode and processingMode have been converted to
-  enums DuplicateFilter.KeepMode and DuplicateFilter.ProcessingMode repsectively.
+  enums DuplicateFilter.KeepMode and DuplicateFilter.ProcessingMode respectively.
 
 * LUCENE-3483: Move Function grouping collectors from Solr to grouping module.
   (Martijn van Groningen)
@@ -1326,7 +1549,7 @@ New features
 
 * LUCENE-2742: Add native per-field postings format support. Codec lets you now
   register a postings format for each field and which is in turn recorded 
-  into the index. Postings formtas are maintained on a per-segment basis and be
+  into the index. Postings formats are maintained on a per-segment basis and be
   resolved without knowing the actual postings format used for writing the segment.
   (Simon Willnauer)
 
@@ -1534,7 +1757,7 @@ New features
    - o.a.l.analysis.miscellaneous.CapitalizationFilter: A TokenFilter that applies
      capitalization rules to tokens.
    - o.a.l.analysis.pattern: Package for pattern-based analysis, containing a 
-     CharFilter, Tokenizer, and Tokenfilter for transforming text with regexes.
+     CharFilter, Tokenizer, and TokenFilter for transforming text with regexes.
    - o.a.l.analysis.synonym.SynonymFilter: A synonym filter that supports multi-word
      synonyms.
    - o.a.l.analysis.phonetic: Package for phonetic search, containing various
@@ -1706,7 +1929,7 @@ Bug fixes
   DocsAndPositionsEnum while merging (Marc Sturlese, Erick Erickson,
   Robert Muir, Simon Willnauer, Mike McCandless)
 
-* LUCENE-3589: BytesRef copy(short) didnt set length.
+* LUCENE-3589: BytesRef copy(short) didn't set length.
   (Peter Chang via Robert Muir)
 
 * LUCENE-3045: fixed QueryNodeImpl.containsTag(String key) that was
@@ -1809,6 +2032,51 @@ Build
   XSL.  (Greg Bowyer, Uwe Schindler)
 
 
+======================= Lucene 3.6.2 =======================
+
+Bug Fixes
+
+* LUCENE-4234: Exception when FacetsCollector is used with ScoreFacetRequest,
+  and the number of matching documents is too large. (Gilad Barkai via Shai Erera)
+
+* LUCENE-2686, LUCENE-3505, LUCENE-4401: Fix BooleanQuery scorers to
+  return correct freq().
+  (Koji Sekiguchi, Mike McCandless, Liu Chao, Robert Muir)
+
+* LUCENE-2501: Fixed rare thread-safety issue that could cause
+  ArrayIndexOutOfBoundsException inside ByteBlockPool (Robert Muir,
+  Mike McCandless)
+
+* LUCENE-4297: BooleanScorer2 would multiply the coord() factor
+  twice for conjunctions: for most users this is no problem, but
+  if you had a customized Similarity that returned something other
+  than 1 when overlap == maxOverlap (always the case for conjunctions),
+  then the score would be incorrect.  (Pascal Chollet, Robert Muir)
+
+* LUCENE-4300: BooleanQuery's rewrite was not always safe: if you
+  had a custom Similarity where coord(1,1) != 1F, then the rewritten
+  query would be scored differently.  (Robert Muir)
+
+* LUCENE-4398: If you index many different field names in your
+  documents then due to a bug in how it measures its RAM
+  usage, IndexWriter would flush each segment too early eventually
+  reaching the point where it flushes after every doc.  (Tim Smith via
+  Mike McCandless)
+
+* LUCENE-4411: when sampling is enabled for a FacetRequest, its depth
+  parameter is reset to the default (1), even if set otherwise.
+  (Gilad Barkai via Shai Erera)
+
+* LUCENE-4635: Fixed ArrayIndexOutOfBoundsException when in-memory
+  terms index requires more than 2.1 GB RAM (indices with billions of
+  terms).  (Tom Burton-West via Mike McCandless)
+
+Documentation
+
+* LUCENE-4302: Fix facet userguide to have HTML loose doctype like
+  all other javadocs.  (Karl Nicholas via Uwe Schindler)
+
+
 ======================= Lucene 3.6.1 =======================
 More information about this release, including any errata related to the 
 release notes, upgrade instructions, or other changes may be found online at:
@@ -1855,7 +2123,7 @@ Tests
   random graph tokens.  (Mike McCandless)
 
 * LUCENE-3968: factor out LookaheadTokenFilter from 
-  MockGraphTokenFilter (Mike Mccandless)
+  MockGraphTokenFilter (Mike McCandless)
 
 
 ======================= Lucene 3.6.0 =======================
@@ -2135,7 +2403,7 @@ Bug fixes
 
 * LUCENE-3876: Fix bug where positions for a document exceeding
   Integer.MAX_VALUE/2 would produce a corrupt index.  
-  (Simon Willnauer, Mike Mccandless, Robert Muir)
+  (Simon Willnauer, Mike McCandless, Robert Muir)
 
 * LUCENE-3880: UAX29URLEmailTokenizer now recognizes emails when the mailto:
   scheme is prepended. (Kai Gülzau, Steve Rowe)

Modified: lucene/dev/branches/LUCENE-2878/lucene/NOTICE.txt
URL: http://svn.apache.org/viewvc/lucene/dev/branches/LUCENE-2878/lucene/NOTICE.txt?rev=1435287&r1=1435286&r2=1435287&view=diff
==============================================================================
--- lucene/dev/branches/LUCENE-2878/lucene/NOTICE.txt (original)
+++ lucene/dev/branches/LUCENE-2878/lucene/NOTICE.txt Fri Jan 18 18:30:54 2013
@@ -1,5 +1,5 @@
 Apache Lucene
-Copyright 2012 The Apache Software Foundation
+Copyright 2013 The Apache Software Foundation
 
 This product includes software developed by
 The Apache Software Foundation (http://www.apache.org/).

Modified: lucene/dev/branches/LUCENE-2878/lucene/analysis/common/src/java/org/apache/lucene/analysis/ar/ArabicNormalizationFilterFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/LUCENE-2878/lucene/analysis/common/src/java/org/apache/lucene/analysis/ar/ArabicNormalizationFilterFactory.java?rev=1435287&r1=1435286&r2=1435287&view=diff
==============================================================================
--- lucene/dev/branches/LUCENE-2878/lucene/analysis/common/src/java/org/apache/lucene/analysis/ar/ArabicNormalizationFilterFactory.java (original)
+++ lucene/dev/branches/LUCENE-2878/lucene/analysis/common/src/java/org/apache/lucene/analysis/ar/ArabicNormalizationFilterFactory.java Fri Jan 18 18:30:54 2013
@@ -37,6 +37,7 @@ import org.apache.lucene.analysis.util.T
  */
 public class ArabicNormalizationFilterFactory extends TokenFilterFactory implements MultiTermAwareComponent {
 
+  @Override
   public ArabicNormalizationFilter create(TokenStream input) {
     return new ArabicNormalizationFilter(input);
   }

Modified: lucene/dev/branches/LUCENE-2878/lucene/analysis/common/src/java/org/apache/lucene/analysis/ar/ArabicStemFilterFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/LUCENE-2878/lucene/analysis/common/src/java/org/apache/lucene/analysis/ar/ArabicStemFilterFactory.java?rev=1435287&r1=1435286&r2=1435287&view=diff
==============================================================================
--- lucene/dev/branches/LUCENE-2878/lucene/analysis/common/src/java/org/apache/lucene/analysis/ar/ArabicStemFilterFactory.java (original)
+++ lucene/dev/branches/LUCENE-2878/lucene/analysis/common/src/java/org/apache/lucene/analysis/ar/ArabicStemFilterFactory.java Fri Jan 18 18:30:54 2013
@@ -37,6 +37,7 @@ import org.apache.lucene.analysis.util.T
 public class ArabicStemFilterFactory extends TokenFilterFactory {
 
 
+  @Override
   public ArabicStemFilter create(TokenStream input) {
     return new ArabicStemFilter(input);
   }

Modified: lucene/dev/branches/LUCENE-2878/lucene/analysis/common/src/java/org/apache/lucene/analysis/bg/BulgarianStemFilterFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/LUCENE-2878/lucene/analysis/common/src/java/org/apache/lucene/analysis/bg/BulgarianStemFilterFactory.java?rev=1435287&r1=1435286&r2=1435287&view=diff
==============================================================================
--- lucene/dev/branches/LUCENE-2878/lucene/analysis/common/src/java/org/apache/lucene/analysis/bg/BulgarianStemFilterFactory.java (original)
+++ lucene/dev/branches/LUCENE-2878/lucene/analysis/common/src/java/org/apache/lucene/analysis/bg/BulgarianStemFilterFactory.java Fri Jan 18 18:30:54 2013
@@ -34,6 +34,7 @@ import org.apache.lucene.analysis.util.T
  *
  */
 public class BulgarianStemFilterFactory extends TokenFilterFactory {
+  @Override
   public TokenStream create(TokenStream input) {
     return new BulgarianStemFilter(input);
   }

Modified: lucene/dev/branches/LUCENE-2878/lucene/analysis/common/src/java/org/apache/lucene/analysis/br/BrazilianStemFilterFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/LUCENE-2878/lucene/analysis/common/src/java/org/apache/lucene/analysis/br/BrazilianStemFilterFactory.java?rev=1435287&r1=1435286&r2=1435287&view=diff
==============================================================================
--- lucene/dev/branches/LUCENE-2878/lucene/analysis/common/src/java/org/apache/lucene/analysis/br/BrazilianStemFilterFactory.java (original)
+++ lucene/dev/branches/LUCENE-2878/lucene/analysis/common/src/java/org/apache/lucene/analysis/br/BrazilianStemFilterFactory.java Fri Jan 18 18:30:54 2013
@@ -34,6 +34,7 @@ import org.apache.lucene.analysis.util.T
  *
  */
 public class BrazilianStemFilterFactory extends TokenFilterFactory {
+  @Override
   public BrazilianStemFilter create(TokenStream in) {
     return new BrazilianStemFilter(in);
   }

Modified: lucene/dev/branches/LUCENE-2878/lucene/analysis/common/src/java/org/apache/lucene/analysis/charfilter/HTMLStripCharFilterFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/LUCENE-2878/lucene/analysis/common/src/java/org/apache/lucene/analysis/charfilter/HTMLStripCharFilterFactory.java?rev=1435287&r1=1435286&r2=1435287&view=diff
==============================================================================
--- lucene/dev/branches/LUCENE-2878/lucene/analysis/common/src/java/org/apache/lucene/analysis/charfilter/HTMLStripCharFilterFactory.java (original)
+++ lucene/dev/branches/LUCENE-2878/lucene/analysis/common/src/java/org/apache/lucene/analysis/charfilter/HTMLStripCharFilterFactory.java Fri Jan 18 18:30:54 2013
@@ -43,6 +43,7 @@ import java.util.regex.Pattern;
   Set<String> escapedTags = null;
   Pattern TAG_NAME_PATTERN = Pattern.compile("[^\\s,]+");
 
+  @Override
   public HTMLStripCharFilter create(Reader input) {
     HTMLStripCharFilter charFilter;
     if (null == escapedTags) {

Modified: lucene/dev/branches/LUCENE-2878/lucene/analysis/common/src/java/org/apache/lucene/analysis/charfilter/MappingCharFilter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/LUCENE-2878/lucene/analysis/common/src/java/org/apache/lucene/analysis/charfilter/MappingCharFilter.java?rev=1435287&r1=1435286&r2=1435287&view=diff
==============================================================================
--- lucene/dev/branches/LUCENE-2878/lucene/analysis/common/src/java/org/apache/lucene/analysis/charfilter/MappingCharFilter.java (original)
+++ lucene/dev/branches/LUCENE-2878/lucene/analysis/common/src/java/org/apache/lucene/analysis/charfilter/MappingCharFilter.java Fri Jan 18 18:30:54 2013
@@ -59,7 +59,7 @@ public class MappingCharFilter extends B
     cachedRootArcs = normMap.cachedRootArcs;
 
     if (map != null) {
-      fstReader = map.getBytesReader(0);
+      fstReader = map.getBytesReader();
     } else {
       fstReader = null;
     }

Modified: lucene/dev/branches/LUCENE-2878/lucene/analysis/common/src/java/org/apache/lucene/analysis/charfilter/MappingCharFilterFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/LUCENE-2878/lucene/analysis/common/src/java/org/apache/lucene/analysis/charfilter/MappingCharFilterFactory.java?rev=1435287&r1=1435286&r2=1435287&view=diff
==============================================================================
--- lucene/dev/branches/LUCENE-2878/lucene/analysis/common/src/java/org/apache/lucene/analysis/charfilter/MappingCharFilterFactory.java (original)
+++ lucene/dev/branches/LUCENE-2878/lucene/analysis/common/src/java/org/apache/lucene/analysis/charfilter/MappingCharFilterFactory.java Fri Jan 18 18:30:54 2013
@@ -50,6 +50,7 @@ public class MappingCharFilterFactory ex
   private String mapping;
 
   // TODO: this should use inputstreams from the loader, not File!
+  @Override
   public void inform(ResourceLoader loader) throws IOException {
     mapping = args.get("mapping");
 
@@ -77,6 +78,7 @@ public class MappingCharFilterFactory ex
     }
   }
 
+  @Override
   public Reader create(Reader input) {
     // if the map is null, it means there's actually no mappings... just return the original stream
     // as there is nothing to do here.

Modified: lucene/dev/branches/LUCENE-2878/lucene/analysis/common/src/java/org/apache/lucene/analysis/charfilter/NormalizeCharMap.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/LUCENE-2878/lucene/analysis/common/src/java/org/apache/lucene/analysis/charfilter/NormalizeCharMap.java?rev=1435287&r1=1435286&r2=1435287&view=diff
==============================================================================
--- lucene/dev/branches/LUCENE-2878/lucene/analysis/common/src/java/org/apache/lucene/analysis/charfilter/NormalizeCharMap.java (original)
+++ lucene/dev/branches/LUCENE-2878/lucene/analysis/common/src/java/org/apache/lucene/analysis/charfilter/NormalizeCharMap.java Fri Jan 18 18:30:54 2013
@@ -49,7 +49,7 @@ public class NormalizeCharMap {
       try {
         // Pre-cache root arcs:
         final FST.Arc<CharsRef> scratchArc = new FST.Arc<CharsRef>();
-        final FST.BytesReader fstReader = map.getBytesReader(0);
+        final FST.BytesReader fstReader = map.getBytesReader();
         map.getFirstArc(scratchArc);
         if (FST.targetHasArcs(scratchArc)) {
           map.readFirstRealTargetArc(scratchArc.target, scratchArc, fstReader);

Modified: lucene/dev/branches/LUCENE-2878/lucene/analysis/common/src/java/org/apache/lucene/analysis/cjk/CJKWidthFilter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/LUCENE-2878/lucene/analysis/common/src/java/org/apache/lucene/analysis/cjk/CJKWidthFilter.java?rev=1435287&r1=1435286&r2=1435287&view=diff
==============================================================================
--- lucene/dev/branches/LUCENE-2878/lucene/analysis/common/src/java/org/apache/lucene/analysis/cjk/CJKWidthFilter.java (original)
+++ lucene/dev/branches/LUCENE-2878/lucene/analysis/common/src/java/org/apache/lucene/analysis/cjk/CJKWidthFilter.java Fri Jan 18 18:30:54 2013
@@ -58,6 +58,7 @@ public final class CJKWidthFilter extend
     super(input);
   }
 
+  @Override
   public boolean incrementToken() throws IOException {
     if (input.incrementToken()) {
       char text[] = termAtt.buffer();

Modified: lucene/dev/branches/LUCENE-2878/lucene/analysis/common/src/java/org/apache/lucene/analysis/commongrams/CommonGramsFilterFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/LUCENE-2878/lucene/analysis/common/src/java/org/apache/lucene/analysis/commongrams/CommonGramsFilterFactory.java?rev=1435287&r1=1435286&r2=1435287&view=diff
==============================================================================
--- lucene/dev/branches/LUCENE-2878/lucene/analysis/common/src/java/org/apache/lucene/analysis/commongrams/CommonGramsFilterFactory.java (original)
+++ lucene/dev/branches/LUCENE-2878/lucene/analysis/common/src/java/org/apache/lucene/analysis/commongrams/CommonGramsFilterFactory.java Fri Jan 18 18:30:54 2013
@@ -42,6 +42,7 @@ import org.apache.lucene.analysis.util.*
 public class CommonGramsFilterFactory extends TokenFilterFactory implements
     ResourceLoaderAware {
 
+  @Override
   public void inform(ResourceLoader loader) throws IOException {
     String commonWordFiles = args.get("words");
     ignoreCase = getBoolean("ignoreCase", false);
@@ -69,6 +70,7 @@ public class CommonGramsFilterFactory ex
     return commonWords;
   }
 
+  @Override
   public CommonGramsFilter create(TokenStream input) {
     CommonGramsFilter commonGrams = new CommonGramsFilter(luceneMatchVersion, input, commonWords);
     return commonGrams;