Index: solr/common-build.xml
===================================================================
--- solr/common-build.xml	(revision 1087424)
+++ solr/common-build.xml	(working copy)
@@ -330,6 +330,7 @@
     </sequential>
   </macrodef>
 
+  <property name="failonjavadocwarning" value="true"/>
   <macrodef name="invoke-javadoc">
     <element name="sources" optional="yes"/>
     <attribute name="destdir"/>
@@ -339,6 +340,7 @@
       <copy todir="@{destdir}/prettify" overwrite="false">
         <fileset dir="${prettify.dir}"/>
       </copy>
+      <record name="@{destdir}/log_javadoc.txt" action="start" append="no"/>
       <javadoc
           packagenames="org.apache.solr.*"
           failonerror="true"
@@ -373,6 +375,24 @@
 
         <classpath refid="javadoc.classpath"/>
       </javadoc>
+      <record name="@{destdir}/log_javadoc.txt" action="stop"/>
+
+      <delete>
+        <fileset file="@{destdir}/log_javadoc.txt">
+          <not>
+           <containsregexp expression="\[javadoc\]\s*[1-9][0-9]*[\s]*warning"/>
+          </not>
+        </fileset>
+      </delete>
+
+      <fail message="Javadocs warnings were found!" >
+        <condition>
+          <and>
+            <available file="@{destdir}/log_javadoc.txt"/>
+            <istrue value="${failonjavadocwarning}"/>
+          </and>
+        </condition>
+      </fail>
    </sequential>
   </macrodef>
 
Index: solr/CHANGES.txt
===================================================================
--- solr/CHANGES.txt	(revision 1087424)
+++ solr/CHANGES.txt	(working copy)
@@ -211,6 +211,8 @@
 * SOLR-2232: Improved README info on solr.solr.home in examples
   (Eric Pugh and hossman)
 
+* LUCENE-3006: Building javadocs will fail on warnings by default.  Override with -Dfailonjavadocwarning=false (sarowe, gsingers)
+
 ==================  3.2.0-dev ==================
 Versions of Major Components
 ---------------------
Index: lucene/common-build.xml
===================================================================
--- lucene/common-build.xml	(revision 1087424)
+++ lucene/common-build.xml	(working copy)
@@ -103,6 +103,7 @@
     <path refid="classpath"/>
     <pathelement location="${ant.home}/lib/ant.jar"/>
     <fileset dir=".">
+      <exclude name="build/**/*.jar"/>
       <include name="**/lib/*.jar"/>
     </fileset>
   </path>
@@ -762,7 +763,8 @@
       </fixcrlf>
     </sequential>
   </macrodef>
-	
+
+  <property name="failonjavadocwarning" value="true"/>
   <macrodef name="invoke-javadoc">
     <element name="sources" optional="yes"/>
     <attribute name="destdir"/>
@@ -772,6 +774,7 @@
       <copy todir="@{destdir}/../prettify" overwrite="false">
         <fileset dir="${prettify.dir}"/>
       </copy>
+      <record name="@{destdir}/log_javadoc.txt" action="start" append="no"/>
       <javadoc
           overview="@{overview}"
           packagenames="org.apache.lucene.*"
@@ -783,6 +786,7 @@
           author="true"
           version="true"
           use="true"
+          failonerror="true"
           source="${ant.java.version}"
           link="${javadoc.link}"
           windowtitle="${Name} ${version} API"
@@ -804,6 +808,26 @@
       	      	
         <classpath refid="javadoc.classpath"/>
       </javadoc>
+      <record name="@{destdir}/log_javadoc.txt" action="stop"/>
+
+      <delete>
+        <fileset file="@{destdir}/log_javadoc.txt">
+          <not>
+           <containsregexp expression="\[javadoc\]\s*[1-9][0-9]*[\s]*warning"/>
+          </not>
+        </fileset>
+      </delete>
+
+      <fail message="Javadocs warnings were found!">
+        <condition>
+          <and>
+            <available file="@{destdir}/log_javadoc.txt"/>
+            <istrue value="${failonjavadocwarning}"/>
+          </and>
+        </condition>
+      </fail>
+
+
    </sequential>
   </macrodef>
 
Index: lucene/CHANGES.txt
===================================================================
--- lucene/CHANGES.txt	(revision 1087424)
+++ lucene/CHANGES.txt	(working copy)
@@ -379,6 +379,11 @@
   stop iterating if at least 'tests.iter.min' ran and a failure occured. 
   (Shai Erera, Chris Hostetter)
 
+Build
+
+* LUCENE-3006: Building javadocs will fail on warnings by default.  Override with -Dfailonjavadocwarning=false (sarowe, gsingers)
+
+
 ======================= Lucene 3.x (not yet released) =======================
 
 Changes in backwards compatibility policy
Index: lucene/build.xml
===================================================================
--- lucene/build.xml	(revision 1087424)
+++ lucene/build.xml	(working copy)
@@ -200,6 +200,7 @@
         <path refid="classpath"/>
         <pathelement location="${ant.home}/lib/ant.jar"/>
         <fileset dir=".">
+          <exclude name="build/**/*.jar"/>
           <include name="**/lib/*.jar"/>
         </fileset>
         <pathelement location="${common.dir}/../modules/analysis/build/common/lucene-analyzers-common-${version}.jar"/>
