<commit_before><?xml version="1.0"?>
<project name="Simple" default="usage" basedir=".">

   <target name="usage">
      <echo message="clean - Cleans the build and jar directories"/>
      <echo message="build - Builds the JAR archive for the project and generates SHA1 and MD5 signatures"/>
      <echo message="report - Generates a Cobertura report from the test cases"/>
      <echo message="test - Executes the tests once for each XML library"/>
      <echo message="test-woodstox - Executes the tests once with the Woodstox StAX framework"/>
      <echo message="test-kxml - Executes the tests once with the KXML framework"/>
      <echo message="test-dom - Executes the tests once with the W3C DOM framework"/>
      <echo message="benchmark - Runs a rather lame benchmark"/>
      <echo message="package - Packages the framework in to a downloadable package"/>
      <echo message="pom - Generate the POM file used for Maven"/>
      <echo message="maven-archive - Packages a maven execution in to a deployable archive"/>
   </target>

   <target name="-layout">
      <property name="root.path" value="."/>
      <property name="source.path" value="src"/>                
      <property name="main.source.path" value="src/main/java"/>            
      <property name="test.source.path" value="src/test/java"/>
      <property name="benchmark.source.path" value="src/benchmark/java"/>
      <property name="main.package.path" value="src/package/java"/>     
      <property name="javadoc.path" value="doc/javadoc"/>
      <property name="tutorial.path" value="doc/tutorial"/>
      <property name="target.path" value="target"/>      
      <property name="doc.path" value="doc"/>
      <property name="maven.path" value="maven"/> 
      <property name="script.path" value="script"/> 
      <property name="build.path" value="build"/>
      <property name="main.build.path" value="build/main"/>            
      <property name="test.build.path" value="build/test"/>
      <property name="benchmark.build.path" value="build/benchmark"/>
      <property name="instrumented.build.path" value="build/instrumented"/>
      <property name="obfuscated.path" value="obfuscated"/>
      <property name="jar.path" value="jar"/>
      <property name="lib.path" value="lib"/>
      <property name="package.path" value="package"/>
      <property name="test.path" value="test"/>
      <property name="example.path" value="example"/>
      <property name="skel.path" value="skel"/>
      <property name="report.path" value="report"/>
      <property name="test.report.path" value="report/test"/>
      <property name="cobertura.report.path" value="report/cobertura"/>
      <property name="cobertura.data" value="cobertura.ser"/>
      <property file="build.properties"/>
      <property file="ssh.properties"/>
   </target>

   <target name="clean" depends="-layout">
      <delete dir="${build.path}"/>
      <delete dir="${jar.path}"/>
      <delete dir="${maven.path}"/>
   </target>

   <target name="-prepare" depends="clean">
      <mkdir dir="${maven.path}"/>
      <mkdir dir="${build.path}"/>
      <mkdir dir="${main.build.path}"/>
      <mkdir dir="${test.build.path}"/>
      <mkdir dir="${benchmark.build.path}"/>
      <mkdir dir="${instrumented.build.path}"/>
      <mkdir dir="${report.path}"/>
      <mkdir dir="${test.report.path}"/>
      <mkdir dir="${cobertura.report.path}"/>
      <mkdir dir="${jar.path}"/>
   </target>

   <target name="-setup" depends="-prepare">
      <taskdef resource="tasks.properties">
         <classpath> 
            <fileset dir="${lib.path}">
               <include name="**/*.jar"/>
            </fileset>
         </classpath>
      </taskdef>
      <taskdef name="svn" classname="org.tigris.subversion.svnant.SvnTask">
         <classpath> 
            <fileset dir="${lib.path}">
               <include name="**/*.jar"/>
            </fileset>
         </classpath>
      </taskdef>
   </target>

   <target name="-compile" depends="-setup">
      <javac srcdir="${main.source.path}" destdir="${main.build.path}" debug="true" debuglevel="lines,vars,source" source="1.5" encoding="UTF-8">
         <classpath>
            <fileset dir="${lib.path}">
               <include name="**/*.jar"/>
            </fileset>
         </classpath>
      </javac>
      <copy todir="${build.path}">
         <fileset dir="${main.source.path}">
            <exclude name="**/*.java"/>
         </fileset>
      </copy>
      <javac srcdir="${test.source.path}" destdir="${test.build.path}" debug="true" debuglevel="lines,vars,source" source="1.5" encoding="UTF-8">
         <classpath>
            <fileset dir="${lib.path}">
               <include name="**/*.jar"/>
            </fileset>
            <pathelement path="${main.build.path}"/>
         </classpath>
       </javac>
       <copy todir="${test.build.path}">
         <fileset dir="${test.source.path}">
            <exclude name="**/*.java"/>
         </fileset>
      </copy>
      <javac srcdir="${benchmark.source.path}" destdir="${benchmark.build.path}" debug="true" debuglevel="lines,vars,source" source="1.5" encoding="UTF-8">
         <classpath>
            <fileset dir="${lib.path}">
               <include name="**/*.jar"/>
            </fileset>
            <pathelement path="${main.build.path}"/>
         </classpath>
      </javac>
   </target>

   <target name="build" depends="-compile" description="Compile and build project archive">
      <jar jarfile="${jar.path}/simple-xml-${version}.jar" basedir="${main.build.path}"/>
      <checksum file="${jar.path}/simple-xml-${version}.jar" algorithm="SHA1" fileext=".sha1"/>
      <checksum file="${jar.path}/simple-xml-${version}.jar" algorithm="MD5" fileext=".md5"/>
      <delete dir="${build.path}"/>
   </target>

   <target name="-instrument" depends="-compile">
      <cobertura-instrument todir="${instrumented.build.path}" datafile="${build.path}/${cobertura.data}">
         <fileset dir="${main.build.path}">
            <include name="**/*.class"/>
         </fileset>
      </cobertura-instrument>
   </target>

   <target name="-coverage" depends="-instrument">
      <junit printsummary="yes" haltonfailure="yes" fork="yes">
	     <sysproperty key="net.sourceforge.cobertura.datafile"  file="${build.path}/${cobertura.data}" />
         <classpath location="${instrumented.build.path}"/>
         <classpath location="${test.build.path}"/>
         <classpath location="${main.build.path}"/>
         <classpath>
            <fileset dir="${lib.path}">
               <include name="**/*.jar"/>
            </fileset>
         </classpath>
         <formatter type="plain"/>
         <batchtest fork="yes" todir="${test.report.path}">
            <fileset dir="${build.path}/test">
               <include name="**/*Test.class"/>
               <exclude name="**/*TestSuite.class"/>
            </fileset>
         </batchtest>
      </junit>
   </target>

   <target name="report" depends="-coverage" description="Generate a coverage report with project unit tests">
      <mkdir dir="${cobertura.report.path}"/>
      <cobertura-report destdir="${cobertura.report.path}" datafile="${build.path}/${cobertura.data}">
         <fileset dir="${main.source.path}">
            <include name="**/*.java" />
            <exclude name="**/*Test.java" />
            <exclude name="**/*TestSuite.java" />
         </fileset>
      </cobertura-report>
      <delete dir="${build.path}"/>
   </target>

   <target name="test" depends="-compile" description="Compile project and run unit tests">
      <echo message="Executing tests with W3C DOM"/>
      <junit showoutput="true" printsummary="yes" haltonfailure="yes">
         <classpath location="${main.build.path}"/>
         <classpath location="${test.build.path}"/>
         <classpath>
            <fileset dir="${lib.path}">
               <include name="**/*.jar"/>
               <exclude name="**/stax-api-1.0.1.jar"/>
               <exclude name="**/stax-1.2.0.jar"/>
               <exclude name="**/wstx-asl-3.2.1.jar"/>
               <exclude name="**/kxml2-2.3.0.jar"/>
            </fileset>
         </classpath>
         <formatter type="plain"/>
         <batchtest fork="yes" todir="${test.report.path}">
            <fileset dir="${test.build.path}">
               <include name="**/*Test.class"/>
               <exclude name="**/*TestSuite.class"/>
            </fileset>
         </batchtest>
      </junit>
      <echo message="Executing tests with XPP3"/>
      <junit showoutput="true" printsummary="yes" haltonfailure="yes">
         <classpath location="${main.build.path}"/>
         <classpath location="${test.build.path}"/>
         <classpath>
            <fileset dir="${lib.path}">
               <include name="**/*.jar"/>
               <exclude name="**/stax-api-1.0.1.jar"/>
               <exclude name="**/stax-1.2.0.jar"/>
               <exclude name="**/wstx-asl-3.2.1.jar"/>
            </fileset>
         </classpath>
         <formatter type="plain"/>
         <batchtest fork="yes" todir="${test.report.path}">
            <fileset dir="${test.build.path}">
               <include name="**/*Test.class"/>
               <exclude name="**/*TestSuite.class"/>
            </fileset>
         </batchtest>
      </junit>
      <echo message="Executing tests with StAX"/>
      <junit showoutput="true" printsummary="yes" haltonfailure="yes">
         <classpath location="${main.build.path}"/>
         <classpath location="${test.build.path}"/>
         <classpath>
            <fileset dir="${lib.path}">
               <include name="**/*.jar"/>
            </fileset>
         </classpath>
         <formatter type="plain"/>
         <batchtest fork="yes" todir="${test.report.path}">
            <fileset dir="${test.build.path}">
               <include name="**/*Test.class"/>
               <exclude name="**/*TestSuite.class"/>
            </fileset>
         </batchtest>
      </junit>
      <delete dir="${build.path}"/>
   </target>

   <target name="test-woodstox" depends="-compile" description="Compile project and run unit tests with Woodstox">
      <junit showoutput="true" printsummary="yes" haltonfailure="yes">
	      <sysproperty key="javax.xml.stream.XMLInputFactory"  value="com.ctc.wstx.stax.WstxInputFactory"/>
         <classpath location="${main.build.path}"/>
         <classpath location="${test.build.path}"/>
         <classpath>
            <fileset dir="${lib.path}">
               <include name="**/*.jar"/>
            </fileset>
         </classpath>
         <formatter type="plain"/>
         <batchtest fork="yes" todir="${test.report.path}">
            <fileset dir="${test.build.path}">
               <include name="**/*Test.class"/>
               <exclude name="**/*TestSuite.class"/>
            </fileset>
         </batchtest>
      </junit>
      <delete dir="${build.path}"/>
   </target>

   <target name="test-kxml" depends="-compile" description="Compile project and run unit tests with KXML">
      <junit showoutput="true" printsummary="yes" haltonfailure="yes">
         <classpath location="${main.build.path}"/>
         <classpath location="${test.build.path}"/>
         <classpath>
            <fileset dir="${lib.path}">
               <include name="**/*.jar"/>
               <exclude name="**/stax-api-1.0.1.jar"/>
               <exclude name="**/stax-1.2.0.jar"/>
               <exclude name="**/wstx-asl-3.2.1.jar"/>
            </fileset>
         </classpath>
         <formatter type="plain"/>
         <batchtest fork="yes" todir="${test.report.path}">
            <fileset dir="${test.build.path}">
               <include name="**/*Test.class"/>
               <exclude name="**/*TestSuite.class"/>
            </fileset>
         </batchtest>
      </junit>
      <delete dir="${build.path}"/>
   </target>

   <target name="test-dom" depends="-compile" description="Compile project and run unit tests with W3C DOM">
      <junit showoutput="true" printsummary="yes" haltonfailure="yes">
         <classpath location="${main.build.path}"/>
         <classpath location="${test.build.path}"/>
         <classpath>
            <fileset dir="${lib.path}">
               <include name="**/*.jar"/>
               <exclude name="**/stax-api-1.0.1.jar"/>
               <exclude name="**/stax-1.2.0.jar"/>
               <exclude name="**/wstx-asl-3.2.1.jar"/>
               <exclude name="**/kxml2-2.3.0.jar"/>
            </fileset>
         </classpath>
         <formatter type="plain"/>
         <batchtest fork="yes" todir="${test.report.path}">
            <fileset dir="${test.build.path}">
               <include name="**/*Test.class"/>
               <exclude name="**/*TestSuite.class"/>
            </fileset>
         </batchtest>
      </junit>
      <delete dir="${build.path}"/>
   </target>

   <target name="profile" depends="-compile" description="Target for netbeans profiler">
      <fail unless="netbeans.home">Requires Net Beans IDE</fail>
      <nbprofiledirect>
         <classpath>
            <fileset dir="${lib.path}">
               <include name="**/*.jar"/>
            </fileset>
            <pathelement path="${main.build.path}"/>
            <pathelement path="${benchmark.build.path}"/>
         </classpath>
      </nbprofiledirect> 
      <java classname="org.simpleframework.xml.benchmark.Benchmark" fork="yes">
         <jvmarg value="${profiler.info.jvmargs.agent}"/>                   
         <classpath>
            <fileset dir="${lib.path}">
               <include name="**/*.jar"/>
            </fileset>
            <pathelement path="${main.build.path}"/>
            <pathelement path="${benchmark.build.path}"/>
         </classpath>
         <arg value="${root.path}/data/test.xml"/>
      </java>           
   </target>

   <target name="benchmark" depends="-compile" description="Benchmark the current version">
      <jar jarfile="${jar.path}/simple-xml-benchmark-${version}.jar">
          <fileset dir="${main.build.path}">
             <include name="**/*.class"/>
             <include name="**/*.properties"/>
             <include name="**/*.xml"/>
          </fileset>
          <fileset dir="${benchmark.build.path}">
             <include name="**/*.class"/>
             <include name="**/*.properties"/>
             <include name="**/*.xml"/>
          </fileset>
      </jar>
      <java classname="org.simpleframework.xml.benchmark.Benchmark" fork="yes">
         <sysproperty key="javax.xml.stream.XMLInputFactory"  value="com.ctc.wstx.stax.WstxInputFactory"/>
         <classpath location="${main.build.path}"/>
         <classpath location="${benchmark.build.path}"/>
         <classpath>
            <fileset dir="${lib.path}">
               <include name="**/*.jar"/>
            </fileset>
            <pathelement path="${main.build.path}"/>
            <pathelement path="${benchmark.build.path}"/>
         </classpath>
         <arg value="${root.path}/data/test.xml"/>
      </java>
      <delete dir="${build.path}"/>
   </target>

   <target name="package" depends="test" description="Build and test project for a new release">
      <mkdir dir="${package.path}/${build.path}"/>
      <mkdir dir="${package.path}/${build.path}/simple-xml-${version}"/>
      <copy todir="${package.path}/${build.path}/simple-xml-${version}/${source.path}">
         <fileset dir="${main.source.path}"> 
            <exclude name="**/*.class"/>
         </fileset>
      </copy>
      <copy todir="${package.path}/${build.path}/simple-xml-${version}">
         <fileset file="LICENSE.txt"/>
      </copy>
      <copy todir="${package.path}/${build.path}/simple-xml-${version}/${test.path}">
         <fileset dir="${skel.path}/${test.path}"/>
      </copy>
      <copy todir="${package.path}/${build.path}/simple-xml-${version}/${lib.path}">
         <fileset dir="${skel.path}/${lib.path}"/>
      </copy>
      <copy todir="${package.path}/${build.path}/simple-xml-${version}/${test.path}/${source.path}">
         <fileset dir="${test.source.path}"/>
      </copy>
      <copy todir="${package.path}/${build.path}/simple-xml-${version}">
         <fileset file="${skel.path}/build.xml"/>
         <filterset>
            <filter token="version" value="${version}"/>
         </filterset>
      </copy>
      <mkdir dir="${package.path}/${version}"/>
      <ant antfile="build.xml" dir="${package.path}/${build.path}/simple-xml-${version}" target="all" inheritall="false"/>
      <ant antfile="build.xml" dir="${package.path}/${build.path}/simple-xml-${version}/${test.path}" target="test" inheritall="false"/>
      <zip destfile="${package.path}/${version}/simple-xml-${version}.zip" basedir="${package.path}/${build.path}"/>
      <tar tarfile="${package.path}/${version}/simple-xml-${version}.tar" basedir="${package.path}/${build.path}"/>
      <gzip zipfile="${package.path}/${version}/simple-xml-${version}.tar.gz" src="${package.path}/${version}/simple-xml-${version}.tar"/>
      <tstamp>
         <format property="build.time" pattern="d MMMM yyyy" locale="en"/>
      </tstamp>
      <copy todir="${package.path}/${version}">
         <fileset file="${skel.path}/build.time"/>
         <filterset>
            <filter token="timestamp" value="${build.time}"/>
         </filterset>
      </copy>
      <delete file="${package.path}/${version}/simple-xml-${version}.tar"/>
      <delete dir="${package.path}/${build.path}"/>
      <delete dir="${build.path}"/>
   </target>

   <target name="site" depends="package" description="Generate the site">
      <copy todir="${root.path}" overwrite="true">
         <fileset dir="${script.path}">
            <include name="site.sh"/>
         </fileset>
         <filterset>
            <filtersfile file="${root.path}/build.properties"/>
         </filterset>
      </copy>
      <antcall target="javadoc" inheritall="false"/> 
      <antcall target="report" inheritall="false"/>
      <exec executable="sh">
         <arg value="${root.path}/site.sh"/>
      </exec>
   </target>

   <target name="maven" depends="-compile" description="Upload release to maven">
      <copy todir="${root.path}" overwrite="true">
         <fileset dir="${script.path}">
            <include name="pom.xml"/>
            <include name="maven.sh"/>
         </fileset>
         <filterset>
            <filtersfile file="${root.path}/build.properties"/>
         </filterset>
      </copy>
      <exec executable="sh">
         <arg value="${root.path}/maven.sh"/>
      </exec>
   </target>

   
   <target name="pom" depends="-compile" description="Create maven bundle">
      <copy todir="${root.path}" overwrite="true">
         <fileset dir="${script.path}">
            <include name="pom.xml"/>
            <include name="maven-package.sh"/>
         </fileset>
         <filterset>
            <filtersfile file="${root.path}/build.properties"/>
         </filterset>
      </copy>
   </target>

   <target name="maven-exec" depends="-compile" description="Create maven bundle">
      <copy todir="${root.path}" overwrite="true">
         <fileset dir="${script.path}">
            <include name="pom.xml"/>
            <include name="maven-package.sh"/>
         </fileset>
         <filterset>
            <filtersfile file="${root.path}/build.properties"/>
         </filterset>
      </copy>
      <exec executable="sh">
         <arg value="${root.path}/maven-package.sh"/>
      </exec>
      <antcall target="maven-archive"/>
   </target>

   <target name="maven-archive" depends="-setup">
      <copy todir="${root.path}" overwrite="true">
         <fileset dir="${script.path}">
            <include name="pom.xml"/>
         </fileset>
         <filterset>
            <filtersfile file="${root.path}/build.properties"/>
         </filterset>
      </copy>
      <delete dir="${target.path}/maven"/>       
      <delete dir="${target.path}/maven/maven-metadata.xml"/>        
      <mkdir dir="${target.path}/maven"/>
      <mkdir dir="${target.path}/maven/${version}"/>
      <copy todir="${target.path}/maven/${version}">
         <fileset dir="${target.path}">
            <include name="simple-xml-${version}.jar"/>
            <include name="simple-xml-${version}-sources.jar"/>
         </fileset>
         <fileset dir="${root.path}">
            <include name="pom.xml"/>
         </fileset>        
      </copy>       
      <get src="http://www.simpleframework.org/maven/org/simpleframework/simple-xml/maven-metadata.xml" dest="${root.path}/maven-metadata.xml"/>
      <copy todir="${target.path}" overwrite="true">
         <fileset dir="${root.path}">
            <include name="maven-metadata.xml"/>             
         </fileset>   
      </copy>      
      <replace file="${target.path}/maven-metadata.xml">
         <replacetoken><![CDATA[</versions>]]></replacetoken>
         <replacevalue><![CDATA[  <version>@version@</version>
    </versions>]]></replacevalue>
      </replace> 
      <copy todir="${target.path}/maven">
         <fileset dir="${target.path}">
            <include name="maven-metadata.xml"/>             
         </fileset>   
         <filterset>
            <filtersfile file="${root.path}/build.properties"/>
         </filterset>        
      </copy> 
      <move file="${target.path}/maven/${version}/pom.xml" tofile="${target.path}/maven/${version}/simple-xml-${version}.pom"/>
      <checksum file="${target.path}/maven/${version}/simple-xml-${version}.jar" algorithm="SHA1" fileext=".sha1"/>
      <checksum file="${target.path}/maven/${version}/simple-xml-${version}.jar" algorithm="MD5" fileext=".md5"/>      
      <checksum file="${target.path}/maven/${version}/simple-xml-${version}-sources.jar" algorithm="SHA1" fileext=".sha1"/>
      <checksum file="${target.path}/maven/${version}/simple-xml-${version}-sources.jar" algorithm="MD5" fileext=".md5"/> 
      <checksum file="${target.path}/maven/${version}/simple-xml-${version}.pom" algorithm="SHA1" fileext=".sha1"/>
      <checksum file="${target.path}/maven/${version}/simple-xml-${version}.pom" algorithm="MD5" fileext=".md5"/>
      <checksum file="${target.path}/maven/maven-metadata.xml" algorithm="SHA1" fileext=".sha1"/>
      <checksum file="${target.path}/maven/maven-metadata.xml" algorithm="MD5" fileext=".md5"/>       
      <zip destfile="${root.path}/maven-${version}.zip" basedir="${target.path}/maven"/>      
   </target>

   <target name="javadoc" depends="clean" description="Generate source documentation">
      <mkdir dir="${javadoc.path}"/>
      <copy todir="${build.path}">
         <fileset dir="${main.source.path}">
            <include name="**/*.java"/>
         </fileset>
      </copy>
      <copy todir="${build.path}">
         <fileset dir="${main.package.path}">
            <include name="**/*.java"/>
         </fileset>
      </copy>
      <javadoc sourcepath="${build.path}" packagenames="org.simpleframework.*" destdir="${javadoc.path}" private="false">
         <classpath>
            <fileset dir="${lib.path}">
               <include name="**/*.jar"/>
            </fileset>
         </classpath>  
         <link offline="true" href="http://download.oracle.com/javase/1.5.0/docs/api/" packagelistloc="${doc.path}" resolvelink="true"/> 
      </javadoc>
      <delete dir="${build.path}"/>
   </target>         

   <target name="javadoc-private" depends="clean" description="Generate source documentation">
      <mkdir dir="${javadoc.path}"/>
      <javadoc sourcepath="${main.source.path}" packagenames="org.simpleframework.*" destdir="${javadoc.path}" private="true">
         <classpath>
            <fileset dir="${lib.path}">
               <include name="**/*.jar"/>
            </fileset>
         </classpath> 
         <link offline="true" href="http://download.oracle.com/javase/1.5.0/docs/api/" packagelistloc="${doc.path}" resolvelink="true"/>         
      </javadoc>
      <delete dir="${build.path}"/>
   </target>          

   <target name="tutorial" depends="-setup" description="Upload tutorial to sourceforge">
      <tar tarfile="tutorial.tar">
         <tarfileset dir="${root.path}">
            <include name="${tutorial.path}/**/*"/>            
         </tarfileset>
      </tar>       
      <gzip zipfile="tutorial.tar.gz" src="tutorial.tar"/>
      <scp file="tutorial.tar.gz" todir="${login}:${password}<EMAIL>:${home}" trust="yes"/>
      <sshexec host="simple.sourceforge.net" username="${login}" password="${password}" command="tar -xzvf ${home}/tutorial.tar.gz -C ${home}" trust="yes"/>
      <delete file="tutorial.tar.gz"/>      
      <delete file="tutorial.tar"/>
   </target>

   <target name="obfuscate" depends="build" description="Obfuscates and optimizes the JAR">
      <copy todir="${root.path}">
         <fileset file="${script.path}/proguard.pro"/>
         <filterset>
            <filter token="injar" value="${jar.path}/simple-xml-${version}.jar"/>
            <filter token="outjar" value="${obfuscated.path}/simple-xml-${version}-obfuscated.jar"/>
         </filterset>
      </copy>
      <java classname="proguard.ProGuard" fork="yes">
         <classpath>
            <fileset dir="${lib.path}">
               <include name="**/*.jar"/>
            </fileset>
         </classpath>
         <arg value="@proguard.pro"/>
     </java>
     <antcall target="-compile"/>
     <java classname="org.simpleframework.xml.benchmark.Benchmark" fork="yes">
         <classpath>
            <fileset dir="${lib.path}">
               <include name="**/*.jar"/>
            </fileset>
            <fileset dir="${obfuscated.path}">
               <include name="simple-xml-${version}-obfuscated.jar"/>
            </fileset>
            <pathelement path="${benchmark.build.path}"/>
         </classpath>
         <arg value="${root.path}/data/test.xml"/>
      </java>            
   </target>

</project>
<commit_msg>Fix build for unit tests to use UTF-8<commit_after><?xml version="1.0"?>
<project name="Simple" default="usage" basedir=".">

   <target name="usage">
      <echo message="clean - Cleans the build and jar directories"/>
      <echo message="build - Builds the JAR archive for the project and generates SHA1 and MD5 signatures"/>
      <echo message="report - Generates a Cobertura report from the test cases"/>
      <echo message="test - Executes the tests once for each XML library"/>
      <echo message="test-woodstox - Executes the tests once with the Woodstox StAX framework"/>
      <echo message="test-kxml - Executes the tests once with the KXML framework"/>
      <echo message="test-dom - Executes the tests once with the W3C DOM framework"/>
      <echo message="benchmark - Runs a rather lame benchmark"/>
      <echo message="package - Packages the framework in to a downloadable package"/>
      <echo message="pom - Generate the POM file used for Maven"/>
      <echo message="maven-archive - Packages a maven execution in to a deployable archive"/>
   </target>

   <target name="-layout">
      <property name="root.path" value="."/>
      <property name="source.path" value="src"/>                
      <property name="main.source.path" value="src/main/java"/>            
      <property name="test.source.path" value="src/test/java"/>
      <property name="benchmark.source.path" value="src/benchmark/java"/>
      <property name="main.package.path" value="src/package/java"/>     
      <property name="javadoc.path" value="doc/javadoc"/>
      <property name="tutorial.path" value="doc/tutorial"/>
      <property name="target.path" value="target"/>      
      <property name="doc.path" value="doc"/>
      <property name="maven.path" value="maven"/> 
      <property name="script.path" value="script"/> 
      <property name="build.path" value="build"/>
      <property name="main.build.path" value="build/main"/>            
      <property name="test.build.path" value="build/test"/>
      <property name="benchmark.build.path" value="build/benchmark"/>
      <property name="instrumented.build.path" value="build/instrumented"/>
      <property name="obfuscated.path" value="obfuscated"/>
      <property name="jar.path" value="jar"/>
      <property name="lib.path" value="lib"/>
      <property name="package.path" value="package"/>
      <property name="test.path" value="test"/>
      <property name="example.path" value="example"/>
      <property name="skel.path" value="skel"/>
      <property name="report.path" value="report"/>
      <property name="test.report.path" value="report/test"/>
      <property name="cobertura.report.path" value="report/cobertura"/>
      <property name="cobertura.data" value="cobertura.ser"/>
      <property file="build.properties"/>
      <property file="ssh.properties"/>
   </target>

   <target name="clean" depends="-layout">
      <delete dir="${build.path}"/>
      <delete dir="${jar.path}"/>
      <delete dir="${maven.path}"/>
   </target>

   <target name="-prepare" depends="clean">
      <mkdir dir="${maven.path}"/>
      <mkdir dir="${build.path}"/>
      <mkdir dir="${main.build.path}"/>
      <mkdir dir="${test.build.path}"/>
      <mkdir dir="${benchmark.build.path}"/>
      <mkdir dir="${instrumented.build.path}"/>
      <mkdir dir="${report.path}"/>
      <mkdir dir="${test.report.path}"/>
      <mkdir dir="${cobertura.report.path}"/>
      <mkdir dir="${jar.path}"/>
   </target>

   <target name="-setup" depends="-prepare">
      <taskdef resource="tasks.properties">
         <classpath> 
            <fileset dir="${lib.path}">
               <include name="**/*.jar"/>
            </fileset>
         </classpath>
      </taskdef>
      <taskdef name="svn" classname="org.tigris.subversion.svnant.SvnTask">
         <classpath> 
            <fileset dir="${lib.path}">
               <include name="**/*.jar"/>
            </fileset>
         </classpath>
      </taskdef>
   </target>

   <target name="-compile" depends="-setup">
      <javac srcdir="${main.source.path}" destdir="${main.build.path}" debug="true" debuglevel="lines,vars,source" source="1.5" encoding="UTF-8">
         <classpath>
            <fileset dir="${lib.path}">
               <include name="**/*.jar"/>
            </fileset>
         </classpath>
      </javac>
      <copy todir="${build.path}">
         <fileset dir="${main.source.path}">
            <exclude name="**/*.java"/>
         </fileset>
      </copy>
      <javac srcdir="${test.source.path}" destdir="${test.build.path}" debug="true" debuglevel="lines,vars,source" source="1.5" encoding="UTF-8">
         <classpath>
            <fileset dir="${lib.path}">
               <include name="**/*.jar"/>
            </fileset>
            <pathelement path="${main.build.path}"/>
         </classpath>
       </javac>
       <copy todir="${test.build.path}">
         <fileset dir="${test.source.path}">
            <exclude name="**/*.java"/>
         </fileset>
      </copy>
      <javac srcdir="${benchmark.source.path}" destdir="${benchmark.build.path}" debug="true" debuglevel="lines,vars,source" source="1.5" encoding="UTF-8">
         <classpath>
            <fileset dir="${lib.path}">
               <include name="**/*.jar"/>
            </fileset>
            <pathelement path="${main.build.path}"/>
         </classpath>
      </javac>
   </target>

   <target name="build" depends="-compile" description="Compile and build project archive">
      <jar jarfile="${jar.path}/simple-xml-${version}.jar" basedir="${main.build.path}"/>
      <checksum file="${jar.path}/simple-xml-${version}.jar" algorithm="SHA1" fileext=".sha1"/>
      <checksum file="${jar.path}/simple-xml-${version}.jar" algorithm="MD5" fileext=".md5"/>
      <delete dir="${build.path}"/>
   </target>

   <target name="-instrument" depends="-compile">
      <cobertura-instrument todir="${instrumented.build.path}" datafile="${build.path}/${cobertura.data}">
         <fileset dir="${main.build.path}">
            <include name="**/*.class"/>
         </fileset>
      </cobertura-instrument>
   </target>

   <target name="-coverage" depends="-instrument">
      <junit printsummary="yes" haltonfailure="yes" fork="yes">
	     <sysproperty key="net.sourceforge.cobertura.datafile"  file="${build.path}/${cobertura.data}" />
         <classpath location="${instrumented.build.path}"/>
         <classpath location="${test.build.path}"/>
         <classpath location="${main.build.path}"/>
         <classpath>
            <fileset dir="${lib.path}">
               <include name="**/*.jar"/>
            </fileset>
         </classpath>
         <formatter type="plain"/>
         <batchtest fork="yes" todir="${test.report.path}">
            <fileset dir="${build.path}/test">
               <include name="**/*Test.class"/>
               <exclude name="**/*TestSuite.class"/>
            </fileset>
         </batchtest>
      </junit>
   </target>

   <target name="report" depends="-coverage" description="Generate a coverage report with project unit tests">
      <mkdir dir="${cobertura.report.path}"/>
      <cobertura-report destdir="${cobertura.report.path}" datafile="${build.path}/${cobertura.data}">
         <fileset dir="${main.source.path}">
            <include name="**/*.java" />
            <exclude name="**/*Test.java" />
            <exclude name="**/*TestSuite.java" />
         </fileset>
      </cobertura-report>
      <delete dir="${build.path}"/>
   </target>

   <target name="test" depends="-compile" description="Compile project and run unit tests">
      <echo message="Executing tests with W3C DOM"/>
      <junit showoutput="true" printsummary="yes" haltonfailure="yes" fork="yes">
         <jvmarg value="-Dfile.encoding=UTF-8"/>   
         <classpath location="${main.build.path}"/>
         <classpath location="${test.build.path}"/>
         <classpath>
            <fileset dir="${lib.path}">
               <include name="**/*.jar"/>
               <exclude name="**/stax-api-1.0.1.jar"/>
               <exclude name="**/stax-1.2.0.jar"/>
               <exclude name="**/wstx-asl-3.2.1.jar"/>
               <exclude name="**/kxml2-2.3.0.jar"/>
               <exclude name="**/xpp3-1.1.3.3.jar"/>
            </fileset>
         </classpath>
         <formatter type="plain"/>
         <batchtest fork="yes" todir="${test.report.path}">
            <fileset dir="${test.build.path}">
               <include name="**/*Test.class"/>
               <exclude name="**/*TestSuite.class"/>
            </fileset>
         </batchtest>
      </junit>
      <echo message="Executing tests with XPP3"/>
      <junit showoutput="true" printsummary="yes" haltonfailure="yes" fork="yes">
         <jvmarg value="-Dfile.encoding=UTF-8"/>     
         <classpath location="${main.build.path}"/>
         <classpath location="${test.build.path}"/>
         <classpath>
            <fileset dir="${lib.path}">
               <include name="**/*.jar"/>
               <exclude name="**/stax-api-1.0.1.jar"/>
               <exclude name="**/stax-1.2.0.jar"/>
               <exclude name="**/wstx-asl-3.2.1.jar"/>
            </fileset>
         </classpath>
         <formatter type="plain"/>
         <batchtest fork="yes" todir="${test.report.path}">
            <fileset dir="${test.build.path}">
               <include name="**/*Test.class"/>
               <exclude name="**/*TestSuite.class"/>
            </fileset>
         </batchtest>
      </junit>
      <echo message="Executing tests with StAX"/>
      <junit showoutput="true" printsummary="yes" haltonfailure="yes" fork="yes">
         <jvmarg value="-Dfile.encoding=UTF-8"/>
         <classpath location="${main.build.path}"/>
         <classpath location="${test.build.path}"/>
         <classpath>
            <fileset dir="${lib.path}">
               <include name="**/*.jar"/>
            </fileset>
         </classpath>
         <formatter type="plain"/>
         <batchtest fork="yes" todir="${test.report.path}">
            <fileset dir="${test.build.path}">
               <include name="**/*Test.class"/>
               <exclude name="**/*TestSuite.class"/>
            </fileset>
         </batchtest>
      </junit>
      <delete dir="${build.path}"/>
   </target>

   <target name="test-woodstox" depends="-compile" description="Compile project and run unit tests with Woodstox">
      <junit showoutput="true" printsummary="yes" haltonfailure="yes">
	      <sysproperty key="javax.xml.stream.XMLInputFactory"  value="com.ctc.wstx.stax.WstxInputFactory"/>
         <classpath location="${main.build.path}"/>
         <classpath location="${test.build.path}"/>
         <classpath>
            <fileset dir="${lib.path}">
               <include name="**/*.jar"/>
            </fileset>
         </classpath>
         <formatter type="plain"/>
         <batchtest fork="yes" todir="${test.report.path}">
            <fileset dir="${test.build.path}">
               <include name="**/*Test.class"/>
               <exclude name="**/*TestSuite.class"/>
            </fileset>
         </batchtest>
      </junit>
      <delete dir="${build.path}"/>
   </target>

   <target name="test-kxml" depends="-compile" description="Compile project and run unit tests with KXML">
      <junit showoutput="true" printsummary="yes" haltonfailure="yes">
         <classpath location="${main.build.path}"/>
         <classpath location="${test.build.path}"/>
         <classpath>
            <fileset dir="${lib.path}">
               <include name="**/*.jar"/>
               <exclude name="**/stax-api-1.0.1.jar"/>
               <exclude name="**/stax-1.2.0.jar"/>
               <exclude name="**/wstx-asl-3.2.1.jar"/>
            </fileset>
         </classpath>
         <formatter type="plain"/>
         <batchtest fork="yes" todir="${test.report.path}">
            <fileset dir="${test.build.path}">
               <include name="**/*Test.class"/>
               <exclude name="**/*TestSuite.class"/>
            </fileset>
         </batchtest>
      </junit>
      <delete dir="${build.path}"/>
   </target>

   <target name="test-dom" depends="-compile" description="Compile project and run unit tests with W3C DOM">
      <junit showoutput="true" printsummary="yes" haltonfailure="yes">
         <classpath location="${main.build.path}"/>
         <classpath location="${test.build.path}"/>
         <classpath>
            <fileset dir="${lib.path}">
               <include name="**/*.jar"/>
               <exclude name="**/stax-api-1.0.1.jar"/>
               <exclude name="**/stax-1.2.0.jar"/>
               <exclude name="**/wstx-asl-3.2.1.jar"/>
               <exclude name="**/kxml2-2.3.0.jar"/>
            </fileset>
         </classpath>
         <formatter type="plain"/>
         <batchtest fork="yes" todir="${test.report.path}">
            <fileset dir="${test.build.path}">
               <include name="**/*Test.class"/>
               <exclude name="**/*TestSuite.class"/>
            </fileset>
         </batchtest>
      </junit>
      <delete dir="${build.path}"/>
   </target>

   <target name="profile" depends="-compile" description="Target for netbeans profiler">
      <fail unless="netbeans.home">Requires Net Beans IDE</fail>
      <nbprofiledirect>
         <classpath>
            <fileset dir="${lib.path}">
               <include name="**/*.jar"/>
            </fileset>
            <pathelement path="${main.build.path}"/>
            <pathelement path="${benchmark.build.path}"/>
         </classpath>
      </nbprofiledirect> 
      <java classname="org.simpleframework.xml.benchmark.Benchmark" fork="yes">
         <jvmarg value="${profiler.info.jvmargs.agent}"/>                   
         <classpath>
            <fileset dir="${lib.path}">
               <include name="**/*.jar"/>
            </fileset>
            <pathelement path="${main.build.path}"/>
            <pathelement path="${benchmark.build.path}"/>
         </classpath>
         <arg value="${root.path}/data/test.xml"/>
      </java>           
   </target>

   <target name="benchmark" depends="-compile" description="Benchmark the current version">
      <jar jarfile="${jar.path}/simple-xml-benchmark-${version}.jar">
          <fileset dir="${main.build.path}">
             <include name="**/*.class"/>
             <include name="**/*.properties"/>
             <include name="**/*.xml"/>
          </fileset>
          <fileset dir="${benchmark.build.path}">
             <include name="**/*.class"/>
             <include name="**/*.properties"/>
             <include name="**/*.xml"/>
          </fileset>
      </jar>
      <java classname="org.simpleframework.xml.benchmark.Benchmark" fork="yes">
         <sysproperty key="javax.xml.stream.XMLInputFactory"  value="com.ctc.wstx.stax.WstxInputFactory"/>
         <classpath location="${main.build.path}"/>
         <classpath location="${benchmark.build.path}"/>
         <classpath>
            <fileset dir="${lib.path}">
               <include name="**/*.jar"/>
            </fileset>
            <pathelement path="${main.build.path}"/>
            <pathelement path="${benchmark.build.path}"/>
         </classpath>
         <arg value="${root.path}/data/test.xml"/>
      </java>
      <delete dir="${build.path}"/>
   </target>

   <target name="package" depends="test" description="Build and test project for a new release">
      <mkdir dir="${package.path}/${build.path}"/>
      <mkdir dir="${package.path}/${build.path}/simple-xml-${version}"/>
      <copy todir="${package.path}/${build.path}/simple-xml-${version}/${source.path}">
         <fileset dir="${main.source.path}"> 
            <exclude name="**/*.class"/>
         </fileset>
      </copy>
      <copy todir="${package.path}/${build.path}/simple-xml-${version}">
         <fileset file="LICENSE.txt"/>
      </copy>
      <copy todir="${package.path}/${build.path}/simple-xml-${version}/${test.path}">
         <fileset dir="${skel.path}/${test.path}"/>
      </copy>
      <copy todir="${package.path}/${build.path}/simple-xml-${version}/${lib.path}">
         <fileset dir="${skel.path}/${lib.path}"/>
      </copy>
      <copy todir="${package.path}/${build.path}/simple-xml-${version}/${test.path}/${source.path}">
         <fileset dir="${test.source.path}"/>
      </copy>
      <copy todir="${package.path}/${build.path}/simple-xml-${version}">
         <fileset file="${skel.path}/build.xml"/>
         <filterset>
            <filter token="version" value="${version}"/>
         </filterset>
      </copy>
      <mkdir dir="${package.path}/${version}"/>
      <ant antfile="build.xml" dir="${package.path}/${build.path}/simple-xml-${version}" target="all" inheritall="false"/>
      <ant antfile="build.xml" dir="${package.path}/${build.path}/simple-xml-${version}/${test.path}" target="test" inheritall="false"/>
      <zip destfile="${package.path}/${version}/simple-xml-${version}.zip" basedir="${package.path}/${build.path}"/>
      <tar tarfile="${package.path}/${version}/simple-xml-${version}.tar" basedir="${package.path}/${build.path}"/>
      <gzip zipfile="${package.path}/${version}/simple-xml-${version}.tar.gz" src="${package.path}/${version}/simple-xml-${version}.tar"/>
      <tstamp>
         <format property="build.time" pattern="d MMMM yyyy" locale="en"/>
      </tstamp>
      <copy todir="${package.path}/${version}">
         <fileset file="${skel.path}/build.time"/>
         <filterset>
            <filter token="timestamp" value="${build.time}"/>
         </filterset>
      </copy>
      <delete file="${package.path}/${version}/simple-xml-${version}.tar"/>
      <delete dir="${package.path}/${build.path}"/>
      <delete dir="${build.path}"/>
   </target>

   <target name="site" depends="package" description="Generate the site">
      <copy todir="${root.path}" overwrite="true">
         <fileset dir="${script.path}">
            <include name="site.sh"/>
         </fileset>
         <filterset>
            <filtersfile file="${root.path}/build.properties"/>
         </filterset>
      </copy>
      <antcall target="javadoc" inheritall="false"/> 
      <antcall target="report" inheritall="false"/>
      <exec executable="sh">
         <arg value="${root.path}/site.sh"/>
      </exec>
   </target>

   <target name="maven" depends="-compile" description="Upload release to maven">
      <copy todir="${root.path}" overwrite="true">
         <fileset dir="${script.path}">
            <include name="pom.xml"/>
            <include name="maven.sh"/>
         </fileset>
         <filterset>
            <filtersfile file="${root.path}/build.properties"/>
         </filterset>
      </copy>
      <exec executable="sh">
         <arg value="${root.path}/maven.sh"/>
      </exec>
   </target>

   
   <target name="pom" depends="-compile" description="Create maven bundle">
      <copy todir="${root.path}" overwrite="true">
         <fileset dir="${script.path}">
            <include name="pom.xml"/>
            <include name="maven-package.sh"/>
         </fileset>
         <filterset>
            <filtersfile file="${root.path}/build.properties"/>
         </filterset>
      </copy>
   </target>

   <target name="maven-exec" depends="-compile" description="Create maven bundle">
      <copy todir="${root.path}" overwrite="true">
         <fileset dir="${script.path}">
            <include name="pom.xml"/>
            <include name="maven-package.sh"/>
         </fileset>
         <filterset>
            <filtersfile file="${root.path}/build.properties"/>
         </filterset>
      </copy>
      <exec executable="sh">
         <arg value="${root.path}/maven-package.sh"/>
      </exec>
      <antcall target="maven-archive"/>
   </target>

   <target name="maven-archive" depends="-setup">
      <copy todir="${root.path}" overwrite="true">
         <fileset dir="${script.path}">
            <include name="pom.xml"/>
         </fileset>
         <filterset>
            <filtersfile file="${root.path}/build.properties"/>
         </filterset>
      </copy>
      <delete dir="${target.path}/maven"/>       
      <delete dir="${target.path}/maven/maven-metadata.xml"/>        
      <mkdir dir="${target.path}/maven"/>
      <mkdir dir="${target.path}/maven/${version}"/>
      <copy todir="${target.path}/maven/${version}">
         <fileset dir="${target.path}">
            <include name="simple-xml-${version}.jar"/>
            <include name="simple-xml-${version}-sources.jar"/>
         </fileset>
         <fileset dir="${root.path}">
            <include name="pom.xml"/>
         </fileset>        
      </copy>       
      <get src="http://www.simpleframework.org/maven/org/simpleframework/simple-xml/maven-metadata.xml" dest="${root.path}/maven-metadata.xml"/>
      <copy todir="${target.path}" overwrite="true">
         <fileset dir="${root.path}">
            <include name="maven-metadata.xml"/>             
         </fileset>   
      </copy>      
      <replace file="${target.path}/maven-metadata.xml">
         <replacetoken><![CDATA[</versions>]]></replacetoken>
         <replacevalue><![CDATA[  <version>@version@</version>
    </versions>]]></replacevalue>
      </replace> 
      <copy todir="${target.path}/maven">
         <fileset dir="${target.path}">
            <include name="maven-metadata.xml"/>             
         </fileset>   
         <filterset>
            <filtersfile file="${root.path}/build.properties"/>
         </filterset>        
      </copy> 
      <move file="${target.path}/maven/${version}/pom.xml" tofile="${target.path}/maven/${version}/simple-xml-${version}.pom"/>
      <checksum file="${target.path}/maven/${version}/simple-xml-${version}.jar" algorithm="SHA1" fileext=".sha1"/>
      <checksum file="${target.path}/maven/${version}/simple-xml-${version}.jar" algorithm="MD5" fileext=".md5"/>      
      <checksum file="${target.path}/maven/${version}/simple-xml-${version}-sources.jar" algorithm="SHA1" fileext=".sha1"/>
      <checksum file="${target.path}/maven/${version}/simple-xml-${version}-sources.jar" algorithm="MD5" fileext=".md5"/> 
      <checksum file="${target.path}/maven/${version}/simple-xml-${version}.pom" algorithm="SHA1" fileext=".sha1"/>
      <checksum file="${target.path}/maven/${version}/simple-xml-${version}.pom" algorithm="MD5" fileext=".md5"/>
      <checksum file="${target.path}/maven/maven-metadata.xml" algorithm="SHA1" fileext=".sha1"/>
      <checksum file="${target.path}/maven/maven-metadata.xml" algorithm="MD5" fileext=".md5"/>       
      <zip destfile="${root.path}/maven-${version}.zip" basedir="${target.path}/maven"/>      
   </target>

   <target name="javadoc" depends="clean" description="Generate source documentation">
      <mkdir dir="${javadoc.path}"/>
      <copy todir="${build.path}">
         <fileset dir="${main.source.path}">
            <include name="**/*.java"/>
         </fileset>
      </copy>
      <copy todir="${build.path}">
         <fileset dir="${main.package.path}">
            <include name="**/*.java"/>
         </fileset>
      </copy>
      <javadoc sourcepath="${build.path}" packagenames="org.simpleframework.*" destdir="${javadoc.path}" private="false">
         <classpath>
            <fileset dir="${lib.path}">
               <include name="**/*.jar"/>
            </fileset>
         </classpath>  
         <link offline="true" href="http://download.oracle.com/javase/1.5.0/docs/api/" packagelistloc="${doc.path}" resolvelink="true"/> 
      </javadoc>
      <delete dir="${build.path}"/>
   </target>         

   <target name="javadoc-private" depends="clean" description="Generate source documentation">
      <mkdir dir="${javadoc.path}"/>
      <javadoc sourcepath="${main.source.path}" packagenames="org.simpleframework.*" destdir="${javadoc.path}" private="true">
         <classpath>
            <fileset dir="${lib.path}">
               <include name="**/*.jar"/>
            </fileset>
         </classpath> 
         <link offline="true" href="http://download.oracle.com/javase/1.5.0/docs/api/" packagelistloc="${doc.path}" resolvelink="true"/>         
      </javadoc>
      <delete dir="${build.path}"/>
   </target>          

   <target name="tutorial" depends="-setup" description="Upload tutorial to sourceforge">
      <tar tarfile="tutorial.tar">
         <tarfileset dir="${root.path}">
            <include name="${tutorial.path}/**/*"/>            
         </tarfileset>
      </tar>       
      <gzip zipfile="tutorial.tar.gz" src="tutorial.tar"/>
      <scp file="tutorial.tar.gz" todir="${login}:${password}<EMAIL>:${home}" trust="yes"/>
      <sshexec host="simple.sourceforge.net" username="${login}" password="${password}" command="tar -xzvf ${home}/tutorial.tar.gz -C ${home}" trust="yes"/>
      <delete file="tutorial.tar.gz"/>      
      <delete file="tutorial.tar"/>
   </target>

   <target name="obfuscate" depends="build" description="Obfuscates and optimizes the JAR">
      <copy todir="${root.path}">
         <fileset file="${script.path}/proguard.pro"/>
         <filterset>
            <filter token="injar" value="${jar.path}/simple-xml-${version}.jar"/>
            <filter token="outjar" value="${obfuscated.path}/simple-xml-${version}-obfuscated.jar"/>
         </filterset>
      </copy>
      <java classname="proguard.ProGuard" fork="yes">
         <classpath>
            <fileset dir="${lib.path}">
               <include name="**/*.jar"/>
            </fileset>
         </classpath>
         <arg value="@proguard.pro"/>
     </java>
     <antcall target="-compile"/>
     <java classname="org.simpleframework.xml.benchmark.Benchmark" fork="yes">
         <classpath>
            <fileset dir="${lib.path}">
               <include name="**/*.jar"/>
            </fileset>
            <fileset dir="${obfuscated.path}">
               <include name="simple-xml-${version}-obfuscated.jar"/>
            </fileset>
            <pathelement path="${benchmark.build.path}"/>
         </classpath>
         <arg value="${root.path}/data/test.xml"/>
      </java>            
   </target>

</project>

{'fraction_non_alphanumeric': 0.19693301049233253, 'fraction_numerical': 0.003434878089982544, 'mean_word_length': 2.201225740551583, 'pattern_counts': {'":': 0, '<': 1155, '<?xml version=': 2, '>': 1155, 'https://': 0, 'lorem ipsum': 0, 'www.': 2, 'xml': 126}, 'pii_count': 1, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 6, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '37975', 'n_tokens_mistral': 16210, 'n_tokens_neox': 15307, 'n_words': 2628}