Index: default.properties
===================================================================
--- default.properties	(revision 1408270)
+++ default.properties	(working copy)
@@ -24,6 +24,7 @@
 lib.dir = ./lib
 conf.dir = ./conf
 plugins.dir = ./src/plugin
+gora.avsc.dir= ./src/gora
 
 build.dir = ./build
 build.classes = ${build.dir}/classes
Index: src/gora/webpage.avsc
===================================================================
--- src/gora/webpage.avsc	(revision 1408270)
+++ src/gora/webpage.avsc	(working copy)
@@ -2,14 +2,14 @@
  "type": "record",
  "namespace": "org.apache.nutch.storage",
  "fields": [
-        {"name": "baseUrl", "type": "string"}, 
+        {"name": "baseUrl", "type": ["null","string"] }, 
         {"name": "status", "type": "int"},
         {"name": "fetchTime", "type": "long"},
         {"name": "prevFetchTime", "type": "long"},
         {"name": "fetchInterval", "type": "int"},
         {"name": "retriesSinceFetch", "type": "int"},
         {"name": "modifiedTime", "type": "long"},
-        {"name": "protocolStatus", "type": {
+        {"name": "protocolStatus", "type": ["null", {
             "name": "ProtocolStatus",
             "type": "record",
             "namespace": "org.apache.nutch.storage",
@@ -18,14 +18,14 @@
                 {"name": "args", "type": {"type": "array", "items": "string"}},
                 {"name": "lastModified", "type": "long"}
             ]
-            }},
-        {"name": "content", "type": "bytes"},
-        {"name": "contentType", "type": "string"},
-        {"name": "prevSignature", "type": "bytes"},
-        {"name": "signature", "type": "bytes"},
-        {"name": "title", "type": "string"},
-        {"name": "text", "type": "string"},
-        {"name": "parseStatus", "type": {
+            }]},
+        {"name": "content", "type": ["null","bytes"]},
+        {"name": "contentType", "type": ["null","string"] },
+        {"name": "prevSignature", "type": ["null","bytes"]},
+        {"name": "signature", "type": ["null","bytes"]},
+        {"name": "title", "type": ["null","string"] },
+        {"name": "text", "type": ["null","string"] },
+        {"name": "parseStatus", "type": ["null",{
             "name": "ParseStatus",
             "type": "record",
             "namespace": "org.apache.nutch.storage",
@@ -34,9 +34,9 @@
                 {"name": "minorCode", "type": "int"},
                 {"name": "args", "type": {"type": "array", "items": "string"}}
             ]
-            }},
+            }]},
         {"name": "score", "type": "float"},
-        {"name": "reprUrl", "type": "string"},
+        {"name": "reprUrl", "type": ["null","string"] },
         {"name": "headers", "type": {"type": "map", "values": "string"}},
         {"name": "outlinks", "type": {"type": "map", "values": "string"}},
         {"name": "inlinks", "type": {"type": "map", "values": "string"}},
Index: build.xml
===================================================================
--- build.xml	(revision 1408270)
+++ build.xml	(working copy)
@@ -513,20 +513,61 @@
   </fail>
  </target>
 	
-  <target name="compile-avro-schema" depends="resolve-default" description="--> compile the avro schema(s) in src/gora/*.avsc">
-    <typedef name="schema" 
-  	         classname="org.apache.avro.specific.SchemaTask"
-  	         classpathref="classpath" />
-    
-  	<mkdir dir="${build.gora}" />
-  	<schema destdir="${build.gora}">
-  	  <fileset dir="./src/gora">
-  	    <include name="**/*.avsc"/>
-  	  </fileset>
-  	</schema>
-  	
-	</target>
+ <target name="compile-avro-schema" depends="resolve-default" 
+  description="--> compile the avro schema(s) in src/gora/*.avsc">
+  <typedef name="schema" classname="org.apache.gora.compiler.GoraCompiler" classpathref="classpath" />
+  <mkdir dir="${build.gora}" />
+  <schema destdir="${build.gora}">
+   <fileset dir="./src/gora">
+    <include name="**/*.avsc"/>
+   </fileset>
+  </schema>
+ </target>
+  
+ <!-- ====================================================== -->
+ <!-- Generate the Java files from the GORA schemas          -->
+ <!-- Will call this automatically later.                    -->
+ <!-- map for the gora .avsc files contained in ./src/gora/  -->
+ <!-- so they can be passed as a list to the GoraCompiler    -->
+ <!-- via the generate-gora-src target                       -->
+ <!-- ====================================================== -->
+ <!--filelist id="gora.avsc.files" dir="${gora.avsc.dir}" files="webpage.avsc, host.avsc" />
 
+ <pathconvert property="gora.avsc.files" refid="gora.avsc.files">
+  <map from="${gora.avsc.dir}" to=""/>
+ </pathconvert-->
+ <!--fileset dir="${gora.avsc.dir}" id="gora.avsc.files">
+  <include name="**/*.avsc"/>
+ </fileset>
+ <pathconvert property="goraavscfiles" refid="gora.avsc.files"/>
+ 
+
+ <target name="generate-gora-src"
+  description=" generate the Java files from the Gora schema(s) in
+src/gora/*.avsc">
+  <java classname="org.apache.gora.compiler.GoraCompiler" fork="true">
+   <classpath refid="classpath"/>
+   <arg value="${goraavscfiles}"/>
+   <arg value="${src.dir}"/>
+  </java>
+ </target-->
+ <fileset dir="${gora.avsc.dir}" id="gora.avsc.files">
+  <include name="*.avsc"/>
+ </fileset>
+ <pathconvert property="goraavscfiles" refid="gora.avsc.files">
+  <map from="${goraavscdir}" to=""/>
+ </pathconvert>
+ 
+ <target name="generate-gora-src" 
+  description="> generate the Java files from the Gora schema(s) in src/gora/*.avsc">
+  <java classname="org.apache.gora.compiler.GoraCompiler" fork="true">
+   <classpath refid="classpath"/>
+   <arg value="./src/gora/webpage.avsc"/>
+   <arg value="${src.dir}"/>
+  </java>
+ </target>
+ 
+ <!--depends="init, resolve-default"-->
  <!-- ================================================================== -->
  <!-- Documentation -->
  <!-- ================================================================== -->
