Index: build.xml
===================================================================
--- build.xml	(revision 542306)
+++ build.xml	(working copy)
@@ -6,7 +6,7 @@
 
   <import file="common-build.xml"/>
 
-  
+  <property name="build.demo.xml" value="demo-build.xml"/> 
 
   <property name="demo.name" value="lucene-demos-${version}"/>
   <property name="demo.war.name" value="luceneweb"/>
@@ -54,7 +54,7 @@
               includes="${final.name}.jar,${demo.war.name}.war,${demo.name}.jar,docs/,contrib/*/*.jar"
   />
   <patternset id="binary.root.dist.patterns"
-              includes="src/demo/,src/jsp/,build.xml,docs/,*.txt"
+              includes="src/demo/,src/jsp/,common-build.properties,docs/,*.txt"
   />
 
 
@@ -171,6 +171,7 @@
       <zipfileset prefix="lucene-${version}" dir=".">
         <patternset refid="binary.root.dist.patterns"/>
       </zipfileset>
+	  <zipfileset dir="." includes="${build.demo.xml}" fullpath="lucene-${version}/build.xml"/>
       <zipfileset prefix="lucene-${version}" dir="${build.dir}">
         <patternset refid="binary.build.dist.patterns"/>
       </zipfileset>
@@ -191,6 +192,7 @@
       <tarfileset prefix="lucene-${version}" dir=".">
         <patternset refid="binary.root.dist.patterns"/>
       </tarfileset>
+	  <tarfileset dir="." includes="${build.demo.xml}" fullpath="lucene-${version}/build.xml"/>
       <tarfileset prefix="lucene-${version}" dir="${build.dir}">
         <patternset refid="binary.build.dist.patterns"/>
       </tarfileset>
Index: common-build.properties
===================================================================
--- common-build.properties	(revision 0)
+++ common-build.properties	(revision 0)
@@ -0,0 +1,16 @@
+Name=Lucene
+version=2.2-dev
+ 
+javac.deprecation=off
+javac.debug=on
+javac.source=1.4
+javac.target=1.4
+build.encoding=utf-8
+
+src.dir=src/java
+build.dir=build
+dist.dir=dist
+	
+core.name=lucene-core-${version}
+demo.name=lucene-demos-${version}
+demo.war.name=luceneweb
\ No newline at end of file
Index: common-build.xml
===================================================================
--- common-build.xml	(revision 542306)
+++ common-build.xml	(working copy)
@@ -6,7 +6,8 @@
   </description>
 
   <dirname file="${ant.file.common}" property="common.dir"/>
-
+  <property file="common-build.properties"/>
+	
   <!-- Give user a chance to override without editing this file
       (and without typing -D each time it compiles it -->
   <property file="${user.home}/lucene.build.properties"/>
@@ -21,23 +22,11 @@
   </tstamp>
 
   <property name="name" value="${ant.project.name}"/>
-  <property name="Name" value="Lucene"/>
-  <property name="version" value="2.2-dev"/>
   <property name="year" value="2000-${current.year}"/>
   <property name="final.name" value="lucene-${name}-${version}"/>
 
-  <property name="javac.deprecation" value="off"/>
-  <property name="javac.debug" value="on"/>
-  <property name="javac.source" value="1.4"/>
-  <property name="javac.target" value="1.4"/>
-
   <property name="project.name" value="site"/> <!-- todo: is this used by anakia or something else? -->
-  <property name="build.encoding" value="utf-8"/>
 
-  <property name="src.dir" location="src/java"/>
-  <property name="build.dir" location="build"/>
-  <property name="dist.dir" location="dist"/>
-
   <property name="javacc.home" location="${common.dir}"/>
 
   <property name="junit.output.dir" location="${build.dir}/test"/>
Index: demo-build.xml
===================================================================
--- demo-build.xml	(revision 0)
+++ demo-build.xml	(revision 0)
@@ -0,0 +1,102 @@
+<?xml version="1.0"?>
+
+<project name="lucene-demo" default="compile-demo" basedir=".">
+  <dirname file="${ant.file.common}" property="common.dir"/>
+  <property file="common-build.properties"/>
+  <property name="core.name" value="lucene-core-${version}"/>
+
+  <!-- Build classpath -->
+  <path id="classpath">
+    <pathelement location="${common.dir}/${core.name}.jar"/>
+  </path>
+
+  <path id="demo.classpath">
+    <path refid="classpath"/>
+    <pathelement location="${build.dir}/classes/demo"/>
+  </path>
+	
+  <available
+    property="jar.core.present"
+	type="file"
+	file="${common.dir}/${core.name}.jar"
+  />
+
+  <target name="jar.core-check">
+    <fail unless="jar.core.present">
+	  ##################################################################
+	  ${common.dir}/${core.name}.jar not found.
+	  ##################################################################
+	</fail>
+  </target>
+
+  <!-- ================================================================== -->
+  <!-- J A R                                                              -->
+  <!-- ================================================================== -->
+  <!--                                                                    -->
+  <!-- ================================================================== -->
+
+  <target name="jar-demo" depends="compile-demo"
+	description="Build demo jar file">
+    <jar
+      destfile="${demo.name}.jar"
+      basedir="${build.dir}/classes/demo"
+      excludes="**/*.java"
+      />
+  </target>
+
+  <target name="war-demo" depends="jar-demo"	
+	description="Build demo war file">
+    <war destfile="${demo.war.name}.war"
+         webxml="src/jsp/WEB-INF/web.xml">
+      <fileset dir="src/jsp" excludes="WEB-INF/web.xml"/>
+      <lib dir="." includes="${demo.name}.jar"/>
+      <lib dir="." includes="${core.name}.jar"/>
+    </war>
+  </target>
+
+  <!-- ================================================================== -->
+  <!-- B U I L D  D E M O                                                 -->
+  <!-- ================================================================== -->
+  <!--                                                                    -->
+  <!-- ================================================================== -->
+  <target name="compile-demo" depends="jar.core-check"
+	description="Compile demo classes">
+    <mkdir dir="${build.dir}/classes/demo"/>
+
+    <compile
+      srcdir="src/demo"
+      destdir="${build.dir}/classes/demo">
+      <classpath refid="demo.classpath"/>
+    </compile>
+  </target>
+	
+  <target name="clean"
+    description="Removes contents of build directory">
+    <delete dir="${build.dir}"/>
+  </target>
+
+	
+	  <!--+
+	      | M A C R O S
+	      +-->
+	  <macrodef name="compile">
+	    <attribute name="srcdir"/>
+	    <attribute name="destdir"/>
+	    <element name="nested" implicit="yes" optional="yes"/>
+
+	    <sequential>
+	      <mkdir dir="@{destdir}"/>
+	      <javac
+	        encoding="${build.encoding}"
+	        srcdir="@{srcdir}"
+	        destdir="@{destdir}"
+	        deprecation="${javac.deprecation}"
+	        debug="${javac.debug}"
+	        source="${javac.source}"
+	        target="${javac.target}">
+	        <nested/>
+	      </javac>
+	    </sequential>
+	  </macrodef>
+
+</project>
