Index: build.xml
===================================================================
--- build.xml	(revision 1652561)
+++ build.xml	(working copy)
@@ -1,8 +1,9 @@
-<project name="Luke" default="dist">
+<project name="Luke" default="dist" xmlns:ivy="antlib:org.apache.ivy.ant">
   <defaultexcludes add="**/CVS" />
   <property name="build.dir" value="build" />
-  <property name="build.ver" value="4.3.1" />
+  <property name="build.ver" value="4.10.3" />
   <property name="dist.dir" value="dist" />
+  <property name="ivy.lib.dir" value="lib-ivy" />
   <property name="jarfile" value="${build.dir}/luke-${build.ver}.jar" />
   <property name="jarallfile" value="${build.dir}/lukeall-${build.ver}.jar" />
   <property name="jarminfile" value="${build.dir}/lukemin-${build.ver}.jar" />
@@ -19,10 +20,26 @@
     <delete dir="${dist.dir}" />
   </target>
 
+  <!-- resolve dependencies -->
+  <path id="ivy.lib.path">
+    <fileset dir="lib/tools" includes="*.jar"/>
+  </path>
+  <taskdef resource="org/apache/ivy/ant/antlib.xml"
+           uri="antlib:org.apache.ivy.ant" classpathref="ivy.lib.path"/>
+  <target name="ivy-resolve">
+    <ivy:retrieve conf="lucene" pattern="${ivy.lib.dir}/[artifact].[ext]"/>
+    <ivy:retrieve conf="pivot" pattern="${ivy.lib.dir}/[artifact].[ext]"/>
+    <ivy:retrieve conf="solr" pattern="${ivy.lib.dir}/[conf]/[artifact].[ext]"/>
+    <ivy:retrieve conf="hadoop" pattern="${ivy.lib.dir}/[conf]/[artifact].[ext]"/>
+  </target>
+  <target name="ivy-clean">
+    <delete dir="${ivy.lib.dir}"/>
+  </target>
+
   <target name="compile" depends="init">
     <javac classpath="${classpath}" sourcepath="" source="1.5" target="1.5" srcdir="src" destdir="${build.dir}">
       <classpath>
-        <fileset dir="lib">
+        <fileset dir="${ivy.lib.dir}">
           <include name="**/*.jar" />
         </fileset>
       </classpath>
@@ -33,7 +50,7 @@
   <target name="javadoc" depends="init">
     <javadoc sourcepath="src" packagenames="org.*" destdir="${build.dir}/api">
       <classpath>
-        <fileset dir="lib">
+        <fileset dir="${ivy.lib.dir}">
           <include name="**/*.jar" />
         </fileset>
       </classpath>
@@ -53,7 +70,7 @@
       </manifest>
     </jar>
     <unjar dest="${build.dir}">
-      <fileset dir="lib" includes="lucene-*.jar" />
+      <fileset dir="${ivy.lib.dir}" includes="lucene-*.jar" />
     </unjar>
     <jar basedir="${build.dir}" jarfile="${jarminfile}" includes=".plugins,img/,org/" excludes="org/mozilla/,org/apache/lucene/luke/plugins,**/*.js">
       <manifest>
@@ -62,20 +79,20 @@
       </manifest>
     </jar>
     <unjar dest="${build.dir}">
-      <fileset dir="lib" includes="pivot*.jar" />
+      <fileset dir="${ivy.lib.dir}" includes="pivot*.jar" />
     </unjar>
     <unjar dest="${build.dir}">
       <fileset dir="lib" includes="js.jar" />
-      <fileset dir="lib" includes="lucene*.jar" />
+      <fileset dir="${ivy.lib.dir}" includes="lucene*.jar" />
     </unjar>
     <unjar dest="${build.dir}">
-      <fileset dir="lib" includes="hadoop/*.jar" />
+      <fileset dir="${ivy.lib.dir}" includes="hadoop/*.jar" />
     </unjar>
     <unjar dest="${build.dir}">
-      <fileset dir="lib" includes="solr/*.jar" />
+      <fileset dir="${ivy.lib.dir}" includes="solr/*.jar" />
     </unjar>
     <unjar dest="${build.dir}">
-      <fileset dir="lib" includes="lucene-core-*.jar" />
+      <fileset dir="${ivy.lib.dir}" includes="lucene-core-*.jar" />
       <patternset>
         <include name="META-INF/MANIFEST.MF" />
       </patternset>
@@ -99,7 +116,8 @@
       </patternset>
     </fileset>
     <copy todir="${dist.dir}">
-      <fileset dir="lib" />
+      <fileset dir="lib" includes="js.jar"/>
+      <fileset dir="${ivy.lib.dir}" />
       <fileset file="${jarfile}" />
       <fileset file="${jarallfile}" />
       <fileset file="${jarminfile}" />
Index: ivy.xml
===================================================================
--- ivy.xml	(revision 0)
+++ ivy.xml	(working copy)
@@ -0,0 +1,57 @@
+<ivy-module version="2.0">
+  <info organisation="org.apache.lucene" module="luke"/>
+  <configurations>
+    <conf name="lucene" description="for Lucene jars"/>
+    <conf name="pivot" description="for Pivot jars"/>
+    <conf name="solr" description="for Solr jars"/>
+    <conf name="hadoop" description="for Hadoop jars"/>
+  </configurations>
+  <dependencies>
+    <!-- apache lucene -->
+    <dependency org="org.apache.lucene" name="lucene-analyzers-common" rev="4.10.3"
+                conf="lucene->*,!sources,!javadoc"/>
+    <dependency org="org.apache.lucene" name="lucene-codecs" rev="4.10.3"
+                conf="lucene->*,!sources,!javadoc"/>
+    <dependency org="org.apache.lucene" name="lucene-core" rev="4.10.3"
+                conf="lucene->*,!sources,!javadoc"/>
+    <dependency org="org.apache.lucene" name="lucene-misc" rev="4.10.3"
+                conf="lucene->*,!sources,!javadoc"/>
+    <dependency org="org.apache.lucene" name="lucene-queries" rev="4.10.3"
+                conf="lucene->*,!sources,!javadoc"/>
+    <dependency org="org.apache.lucene" name="lucene-queryparser" rev="4.10.3"
+                conf="lucene->*,!sources,!javadoc"/>
+
+    <!-- apache pivot -->
+    <dependency org="org.apache.pivot" name="pivot-charts" rev="2.0.4"
+                conf="pivot->*,!sources,!javadoc"/>
+    <dependency org="org.apache.pivot" name="pivot-core" rev="2.0.4"
+                conf="pivot->*,!sources,!javadoc"/>
+    <dependency org="org.apache.pivot" name="pivot-web" rev="2.0.4"
+                conf="pivot->*,!sources,!javadoc"/>
+    <dependency org="org.apache.pivot" name="pivot-web-server" rev="2.0.4"
+                conf="pivot->*,!sources,!javadoc"/>
+    <dependency org="org.apache.pivot" name="pivot-wtk" rev="2.0.4"
+                conf="pivot->*,!sources,!javadoc"/>
+    <dependency org="org.apache.pivot" name="pivot-wtk-terra" rev="2.0.4"
+                conf="pivot->*,!sources,!javadoc"/>
+
+    <!-- apache solr -->
+    <dependency org="org.apache.solr" name="solr-core" rev="4.10.3"
+                transitive="false"
+                conf="solr->*,!sources,!javadoc"/>
+    <dependency org="org.apache.solr" name="solr-solrj" rev="4.10.3"
+                transitive="false"
+                conf="solr->*,!sources,!javadoc"/>
+
+    <!-- apache hadoop -->
+    <dependency org="org.apache.hadoop" name="hadoop-core" rev="0.20.2"
+                conf="hadoop->*,!sources,!javadoc"/>
+      <dependency org="org.slf4j" name="slf4j-api" rev="1.4.3"
+                  conf="hadoop->*,!sources,!javadoc"/>
+      <dependency org="org.slf4j" name="slf4j-log4j12" rev="1.4.3"
+                  conf="hadoop->*,!sources,!javadoc"/>
+      <dependency org="net.sf.ehcache" name="ehcache" rev="1.6.0"
+                  conf="hadoop->*,!sources,!javadoc"/>
+
+  </dependencies>
+</ivy-module>
\ No newline at end of file
Index: lib/tools/ivy-2.3.0.jar
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/jar
Index: lib/tools/ivy-2.3.0.jar
===================================================================
--- lib/tools/ivy-2.3.0.jar	(revision 0)
+++ lib/tools/ivy-2.3.0.jar	(working copy)

Property changes on: lib/tools/ivy-2.3.0.jar
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/jar
\ No newline at end of property
Index: src/org/apache/lucene/index/IndexGate.java
===================================================================
--- src/org/apache/lucene/index/IndexGate.java	(revision 1652561)
+++ src/org/apache/lucene/index/IndexGate.java	(working copy)
@@ -146,7 +146,8 @@
     infos.read(dir);
     int compound = 0, nonCompound = 0;
     for (int i = 0; i < infos.size(); i++) {
-      if (((SegmentInfoPerCommit)infos.info(i)).info.getUseCompoundFile()) {
+      //if (((SegmentInfoPerCommit)infos.info(i)).info.getUseCompoundFile()) {
+      if (infos.info(i).info.getUseCompoundFile()) {
         compound++;
       } else {
         nonCompound++;
Index: src/org/apache/lucene/luke/core/IndexInfo.java
===================================================================
--- src/org/apache/lucene/luke/core/IndexInfo.java	(revision 1652561)
+++ src/org/apache/lucene/luke/core/IndexInfo.java	(working copy)
@@ -74,7 +74,8 @@
     
     AtomicReader r;
     if (reader instanceof CompositeReader) {
-      r = new SlowCompositeReaderWrapper((CompositeReader)reader);
+      //r = new SlowCompositeReaderWrapper((CompositeReader)reader);
+      r = SlowCompositeReaderWrapper.wrap(reader);
     } else {
       r = (AtomicReader)reader;
     }
Index: src/org/apache/lucene/luke/ui/AnalyzersTab.java
===================================================================
--- src/org/apache/lucene/luke/ui/AnalyzersTab.java	(revision 1652561)
+++ src/org/apache/lucene/luke/ui/AnalyzersTab.java	(working copy)
@@ -68,7 +68,15 @@
         .getAnalyzerNames()));
     analyzersListButton.setSelectedIndex(0);
     List<String> versions = new ArrayList<String>();
-    Version[] values = Version.values();
+    // TODO: Version.values() was removed, and Version.LUCENE_X_X_X were all depricated. How do we fix this line?
+    //Version[] values = Version.values();
+    Version[] values = {
+      Version.LUCENE_3_0_0, Version.LUCENE_3_1_0, Version.LUCENE_3_2_0, Version.LUCENE_3_3_0,
+      Version.LUCENE_3_4_0, Version.LUCENE_3_5_0, Version.LUCENE_3_6_0,
+      Version.LUCENE_4_1_0, Version.LUCENE_4_2_0, Version.LUCENE_4_3_0, Version.LUCENE_4_4_0,
+      Version.LUCENE_4_5_0, Version.LUCENE_4_6_0, Version.LUCENE_4_7_0, Version.LUCENE_4_8_0,
+      Version.LUCENE_4_9_0, Version.LUCENE_4_10_0
+    };
     for (int i = 0; i < values.length; i++) {
       Version v = values[i];
       versions.add(v.toString());
@@ -116,8 +124,10 @@
   
   public void analyze() {
     try {
-      Version v = Version.valueOf((String) luceneVersionListButton
-          .getSelectedItem());
+      //Version v = Version.valueOf((String) luceneVersionListButton
+      // .getSelectedItem());
+      Version v = Version.parseLeniently((String) luceneVersionListButton
+        .getSelectedItem());
       Class clazz = Class.forName((String) analyzersListButton
           .getSelectedItem());
       Analyzer analyzer = null;
Index: src/org/apache/lucene/luke/ui/DocumentsTab.java
===================================================================
--- src/org/apache/lucene/luke/ui/DocumentsTab.java	(revision 1652561)
+++ src/org/apache/lucene/luke/ui/DocumentsTab.java	(working copy)
@@ -192,7 +192,8 @@
     this.idxInfo = lukeMediator.getIndexInfo();
     this.ir = idxInfo.getReader();
     if (ir instanceof CompositeReader) {
-      ar = new SlowCompositeReaderWrapper((CompositeReader) ir);
+      //ar = new SlowCompositeReaderWrapper((CompositeReader) ir);
+      ar = SlowCompositeReaderWrapper.wrap(ir);
     } else if (ir instanceof AtomicReader) {
       ar = (AtomicReader) ir;
     }
