Index: lucene/module-build.xml
===================================================================
--- lucene/module-build.xml	(revision 1328727)
+++ lucene/module-build.xml	(working copy)
@@ -71,11 +71,14 @@
   <macrodef name="invoke-module-javadoc">
     <!-- additional links for dependencies to other modules -->
       <element name="links" optional="yes"/>
+    <!-- link source (don't do this unless its example code) -->
+      <attribute name="linksource" default="no"/>
     <sequential>
       <mkdir dir="${javadoc.dir}/${name}"/>
       <invoke-javadoc
          destdir="${javadoc.dir}/${name}"
-       	 title="${Name} ${version} ${name} API">
+       	 title="${Name} ${version} ${name} API"
+         linksource="@{linksource}">
          <sources>
            <link href="../core/"/>
            <links/>
Index: lucene/common-build.xml
===================================================================
--- lucene/common-build.xml	(revision 1328727)
+++ lucene/common-build.xml	(working copy)
@@ -1274,6 +1274,7 @@
     <attribute name="destdir"/>
   	<attribute name="title" default="${Name} ${version} API"/>
     <attribute name="overview" default="${src.dir}/overview.html"/>
+    <attribute name="linksource" default="no"/>
     <sequential>
       <antcall target="download-java6-javadoc-packagelist"/>
       <delete file="@{destdir}/stylesheet.css" failonerror="false"/>
@@ -1291,6 +1292,7 @@
           noindex="true"
           author="true"
           version="true"
+          linksource="@{linksource}"
           use="true"
           failonerror="true"
           source="${ant.java.version}"
Index: lucene/demo/build.xml
===================================================================
--- lucene/demo/build.xml	(revision 1328727)
+++ lucene/demo/build.xml	(working copy)
@@ -37,7 +37,8 @@
   </path>
 
   <target name="javadocs" depends="javadocs-analyzers-common,javadocs-queryparser,compile-core">
-    <invoke-module-javadoc>
+    <!-- we link the example source in the javadocs, as its ref'ed elsewhere -->
+    <invoke-module-javadoc linksource="yes">
       <links>
         <link href="../analyzers-common"/>
         <link href="../queryparser"/>
Index: lucene/core/src/java/overview.html
===================================================================
--- lucene/core/src/java/overview.html	(revision 1328727)
+++ lucene/core/src/java/overview.html	(working copy)
@@ -15,22 +15,6 @@
  limitations under the License.
 -->
 <html>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements.  See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
 <head>
    <title>Apache Lucene API</title>
 </head>
@@ -52,19 +36,19 @@
     Directory directory = new RAMDirectory();
     // To store an index on disk, use this instead:
     //Directory directory = FSDirectory.open("/tmp/testindex");
-    IndexWriter iwriter = new IndexWriter(directory, analyzer, true,
-                                          new IndexWriter.MaxFieldLength(25000));
+    IndexWriterConfig config = new IndexWriterConfig(Version.LUCENE_CURRENT, analyzer);
+    IndexWriter iwriter = new IndexWriter(directory, config);
     Document doc = new Document();
     String text = "This is the text to be indexed.";
-    doc.add(new Field("fieldname", TextField.TYPE_STORED, text));
+    doc.add(new Field("fieldname", text, TextField.TYPE_STORED));
     iwriter.addDocument(doc);
     iwriter.close();
     
     // Now search the index:
-    DirectoryReader ireader = DirectoryReader.open(directory); // read-only=true
+    DirectoryReader ireader = DirectoryReader.open(directory);
     IndexSearcher isearcher = new IndexSearcher(ireader);
     // Parse a simple query that searches for "text":
-    QueryParser parser = new QueryParser("fieldname", analyzer);
+    QueryParser parser = new QueryParser(Version.LUCENE_CURRENT, "fieldname", analyzer);
     Query query = parser.parse("text");
     ScoreDoc[] hits = isearcher.search(query, null, 1000).scoreDocs;
     assertEquals(1, hits.length);
@@ -73,7 +57,6 @@
       Document hitDoc = isearcher.doc(hits[i].doc);
       assertEquals("This is the text to be indexed.", hitDoc.get("fieldname"));
     }
-    isearcher.close();
     ireader.close();
     directory.close();</pre>
 <!-- =       END of automatically generated HTML code       = -->
@@ -85,86 +68,87 @@
 
 <ul>
 <li>
-<b><a href="org/apache/lucene/analysis/package-summary.html">org.apache.lucene.analysis</a></b>
-defines an abstract <a href="org/apache/lucene/analysis/Analyzer.html">Analyzer</a>
-API for converting text from a <a href="http://java.sun.com/products/jdk/1.2/docs/api/java/io/Reader.html">java.io.Reader</a>
-into a <a href="org/apache/lucene/analysis/TokenStream.html">TokenStream</a>,
-an enumeration of token <a href="org/apache/lucene/util/Attribute.html">Attribute</a>s.&nbsp;
-A TokenStream can be composed by applying <a href="org/apache/lucene/analysis/TokenFilter.html">TokenFilter</a>s
-to the output of a <a href="org/apache/lucene/analysis/Tokenizer.html">Tokenizer</a>.&nbsp;
-Tokenizers and TokenFilters are strung together and applied with an <a href="org/apache/lucene/analysis/Analyzer.html">Analyzer</a>.&nbsp;
-A handful of Analyzer implementations are provided, including <a href="org/apache/lucene/analysis/StopAnalyzer.html">StopAnalyzer</a>
-and the grammar-based <a href="org/apache/lucene/analysis/standard/StandardAnalyzer.html">StandardAnalyzer</a>.</li>
+<b>{@link org.apache.lucene.analysis}</b>
+defines an abstract {@link org.apache.lucene.analysis.Analyzer Analyzer}
+API for converting text from a {@link java.io.Reader}
+into a {@link org.apache.lucene.analysis.TokenStream TokenStream},
+an enumeration of token {@link org.apache.lucene.util.Attribute Attribute}s.&nbsp;
+A TokenStream can be composed by applying {@link org.apache.lucene.analysis.TokenFilter TokenFilter}s
+to the output of a {@link org.apache.lucene.analysis.Tokenizer Tokenizer}.&nbsp;
+Tokenizers and TokenFilters are strung together and applied with an {@link org.apache.lucene.analysis.Analyzer Analyzer}.&nbsp;
+<a href="../analyzers-common/overview-summary.html">analyzers-common</a> provides a number of Analyzer implementations, including 
+<a href="../analyzers-common/org/apache/lucene/analysis/core/StopAnalyzer.html">StopAnalyzer</a>
+and the grammar-based <a href="../analyzers-common/org/apache/lucene/analysis/standard/StandardAnalyzer.html">StandardAnalyzer</a>.</li>
 
 <li>
-<b><a href="org/apache/lucene/document/package-summary.html">org.apache.lucene.document</a></b>
-provides a simple <a href="org/apache/lucene/document/Document.html">Document</a>
-class.&nbsp; A Document is simply a set of named <a href="org/apache/lucene/document/Field.html">Field</a>s,
-whose values may be strings or instances of <a href="http://java.sun.com/products/jdk/1.2/docs/api/java/io/Reader.html">java.io.Reader</a>.</li>
+<b>{@link org.apache.lucene.codecs}</b>
+provides an abstraction over the encoding and decoding of the inverted index structure,
+as well as different implementations that can be chosen depending upon application needs.
 
 <li>
-<b><a href="org/apache/lucene/index/package-summary.html">org.apache.lucene.index</a></b>
-provides two primary classes: <a href="org/apache/lucene/index/IndexWriter.html">IndexWriter</a>,
-which creates and adds documents to indices; and <a href="org/apache/lucene/index/IndexReader.html">IndexReader</a>,
-which accesses the data in the index.</li>
+<b>{@link org.apache.lucene.document}</b>
+provides a simple {@link org.apache.lucene.document.Document Document}
+class.&nbsp; A Document is simply a set of named {@link org.apache.lucene.document.Field Field}s,
+whose values may be strings or instances of {@link java.io.Reader}.</li>
 
 <li>
-<b><a href="org/apache/lucene/search/package-summary.html">org.apache.lucene.search</a></b>
-provides data structures to represent queries (ie <a href="org/apache/lucene/search/TermQuery.html">TermQuery</a>
-for individual words, <a href="org/apache/lucene/search/PhraseQuery.html">PhraseQuery</a>
-for phrases, and <a href="org/apache/lucene/search/BooleanQuery.html">BooleanQuery</a>
-for boolean combinations of queries) and the abstract <a href="org/apache/lucene/search/Searcher.html">Searcher</a>
-which turns queries into <a href="org/apache/lucene/search/TopDocs.html">TopDocs</a>.
-<a href="org/apache/lucene/search/IndexSearcher.html">IndexSearcher</a>
-implements search over a single IndexReader.</li>
+<b>{@link org.apache.lucene.index}</b>
+provides two primary classes: {@link org.apache.lucene.index.IndexWriter IndexWriter},
+which creates and adds documents to indices; and {@link org.apache.lucene.index.IndexReader},
+which accesses the data in the index.</li>
 
 <li>
-<b><a href="org/apache/lucene/queryParser/package-summary.html">org.apache.lucene.queryParser</a></b>
-uses <a href="http://javacc.dev.java.net">JavaCC</a> to implement a
-<a href="org/apache/lucene/queryParser/QueryParser.html">QueryParser</a>.</li>
+<b>{@link org.apache.lucene.search}</b>
+provides data structures to represent queries (ie {@link org.apache.lucene.search.TermQuery TermQuery}
+for individual words, {@link org.apache.lucene.search.PhraseQuery PhraseQuery} 
+for phrases, and {@link org.apache.lucene.search.BooleanQuery BooleanQuery} 
+for boolean combinations of queries) and the {@link org.apache.lucene.search.IndexSearcher IndexSearcher}
+which turns queries into {@link org.apache.lucene.search.TopDocs TopDocs}.
+A number of <a href="../queryparser/overview-summary.html">QueryParser</a>s are provided for producing
+query structures from strings or xml.
 
 <li>
-<b><a href="org/apache/lucene/store/package-summary.html">org.apache.lucene.store</a></b>
-defines an abstract class for storing persistent data, the <a href="org/apache/lucene/store/Directory.html">Directory</a>,
-which is a collection of named files written by an <a href="org/apache/lucene/store/IndexOutput.html">IndexOutput</a>
-and read by an <a href="org/apache/lucene/store/IndexInput.html">IndexInput</a>.&nbsp;
-Multiple implementations are provided, including <a href="org/apache/lucene/store/FSDirectory.html">FSDirectory</a>,
-which uses a file system directory to store files, and <a href="org/apache/lucene/store/RAMDirectory.html">RAMDirectory</a>
+<b>{@link org.apache.lucene.store}</b>
+defines an abstract class for storing persistent data, the {@link org.apache.lucene.store.Directory Directory},
+which is a collection of named files written by an {@link org.apache.lucene.store.IndexOutput IndexOutput}
+and read by an {@link org.apache.lucene.store.IndexInput IndexInput}.&nbsp;
+Multiple implementations are provided, including {@link org.apache.lucene.store.FSDirectory FSDirectory},
+which uses a file system directory to store files, and {@link org.apache.lucene.store.RAMDirectory RAMDirectory}
 which implements files as memory-resident data structures.</li>
 
 <li>
-<b><a href="org/apache/lucene/util/package-summary.html">org.apache.lucene.util</a></b>
-contains a few handy data structures and util classes, ie <a href="org/apache/lucene/util/BitVector.html">BitVector</a>
-and <a href="org/apache/lucene/util/PriorityQueue.html">PriorityQueue</a>.</li>
+<b>{@link org.apache.lucene.util}</b>
+contains a few handy data structures and util classes, ie {@link org.apache.lucene.util.OpenBitSet OpenBitSet}
+and {@link org.apache.lucene.util.PriorityQueue PriorityQueue}.</li>
 </ul>
 To use Lucene, an application should:
 <ol>
 <li>
-Create <a href="org/apache/lucene/document/Document.html">Document</a>s by
+Create {@link org.apache.lucene.document.Document Document}s by
 adding
-<a href="org/apache/lucene/document/Field.html">Field</a>s;</li>
+{@link org.apache.lucene.document.Field Field}s;</li>
 
 <li>
-Create an <a href="org/apache/lucene/index/IndexWriter.html">IndexWriter</a>
-and add documents to it with <a href="org/apache/lucene/index/IndexWriter.html#addDocument(org.apache.lucene.document.Document)">addDocument()</a>;</li>
+Create an {@link org.apache.lucene.index.IndexWriter IndexWriter}
+and add documents to it with {@link org.apache.lucene.index.IndexWriter#addDocument(Iterable) addDocument()};</li>
 
 <li>
-Call <a href="org/apache/lucene/queryParser/QueryParser.html#parse(java.lang.String)">QueryParser.parse()</a>
+Call <a href="../queryparser/org/apache/lucene/queryparser/classic/QueryParserBase.html#parse(java.lang.String)">QueryParser.parse()</a>
 to build a query from a string; and</li>
 
 <li>
-Create an <a href="org/apache/lucene/search/IndexSearcher.html">IndexSearcher</a>
-and pass the query to its <a href="org/apache/lucene/search/Searcher.html#search(org.apache.lucene.search.Query)">search()</a>
+Create an {@link org.apache.lucene.search.IndexSearcher IndexSearcher}
+and pass the query to its {@link org.apache.lucene.search.IndexSearcher#search(org.apache.lucene.search.Query, int) search()}
 method.</li>
 </ol>
 Some simple examples of code which does this are:
 <ul>
 <li>
-&nbsp;<a href="http://svn.apache.org/repos/asf/lucene/dev/trunk/lucene/contrib/demo/src/java/org/apache/lucene/demo/IndexFiles.java">IndexFiles.java</a> creates an
+&nbsp;<a href="../demo/src-html/org/apache/lucene/demo/IndexFiles.html">IndexFiles.java</a> creates an
 index for all the files contained in a directory.</li>
 
 <li>
-&nbsp;<a href="http://svn.apache.org/repos/asf/lucene/dev/trunk/lucene/demo/src/java/org/apache/lucene/demo/SearchFiles.java">SearchFiles.java</a> prompts for
+&nbsp;<a href="../demo/src-html/org/apache/lucene/demo/SearchFiles.html">SearchFiles.java</a> prompts for
 queries and searches an index.</li>
 </ul>
 To demonstrate these, try something like:
