Skip to content
Snippets Groups Projects
build.xml 3.42 KiB
Newer Older
<!--
Anders Nilsson's avatar
Anders Nilsson committed
    Targets for working from terminal window:
    build (default) - generates java files and compiles them
    clean           - removes all generated files and class files
    Targets for working from Eclipse:
    gen             - generates java files
    genClean        - removes all generated files and their class files
  -->
<project name="Java1.4Frontend" default="build" basedir=".">

  <!-- "package" is the directory where generated files will be stored -->
  <property name="package" value="AST"/>

  <!-- "tools" is the directory where generators and libraries are located. -->
  <property name="tools" value="tools"/>

  <property name="javacc.home" value="tools/javacc-4.0"/>
  
  <property name="parser.name" value="SchemaParser"/>
  
  <!-- "jflex" is an ant task class for the scanner generator in JFlex.jar -->
<!--   <taskdef name="jflex" classname="JFlex.anttask.JFlexTask" classpath="tools/JFlex.jar"/> -->
  <!-- "beaver" is an ant task class for the parser generator in beaver.jar -->
<!--   <taskdef name="beaver" classname="beaver.comp.run.AntTask" classpath="tools/beaver.jar"/> -->
  <!-- "jastadd" is an ant task class in jastadd2.jar -->
  <taskdef name="jastadd" classname="jastadd.JastAddTask" classpath="tools/jastadd2.jar"/>

  <!-- compile sources -->
  <target name="build" depends="gen">
Anders Nilsson's avatar
Anders Nilsson committed
    <javac compiler="jikes" debug="true" nowarn="true" srcdir="." includes="**/*.java" excludes="tools/** x3d/**" classpath=".:${tools}/beaver-rt.jar:${tools}/junit.jar"/>
Anders Nilsson's avatar
Anders Nilsson committed
  </target>
  
  <!-- generate compiler source files -->
  <target name="gen" description="Generate compiler source files">
    <!-- create AST node types and weave aspect modules -->
    <echo message = "Running JastAdd"/>
	<!--  <jastadd package="${package}" rewrite="true" beaver="true" novisitcheck="true"> -->
    <jastadd package="${package}" grammar="${parser.name}" rewrite="true" jjtree="true">
      <fileset dir=".">
	  	<include name="*.ast"/>
		<include name="*.jrag"/>
		<include name="*.jadd"/>
      </fileset>
    </jastadd>
    <jjtree 
       target="xmlschema.jjt" 
       outputdirectory="${package}" 
       javacchome="${javacc.home}"
       buildnodefiles="true"
       static="false"
       multi="true"
       visitor="true"
       nodedefaultvoid="true"
       nodeprefix='""'
       nodepackage="${package}"
       />
    <javacc
       target="${package}/xmlschema.jj"
       outputdirectory="${package}"
       javacchome="${javacc.home}"
       buildparser="true"
       buildtokenmanager="true"
       static="false"
       />
  </target>

<!--   <target name="test" depends="build"> -->
<!--     <java classname="GenCompiler" classpath="."> -->
<!--       <arg value="GripperOntology_experimental3.owl" /> -->
<!--     </java> -->
<!--   </target> -->

  <!-- remove generated source files and .class files -->
  <target name="clean" depends="cleanGen">
    <!-- delete all .class files recursively -->
    <delete>
      <fileset dir="." includes="**/*.class" excludes="beaver/*.class"/>
    </delete>
  </target>

<!--   <target name="jar" depends="build"> -->
<!--     <jar destfile="PrettyPrint.jar" basedir="." includes="**/*.class" excludes="test/**"> -->
<!--       <manifest> -->
<!-- 	<attribute name="Main-Class" value="JavaPrettyPrinter"/> -->
<!--       </manifest> -->
<!--     </jar> -->
<!--   </target> -->

  <!-- remove generated source files and their .class files -->
  <target name="cleanGen">
    <delete dir="${package}"/>
  </target>
</project>