<project name="ThinkMiddleware.com Java Security Manager Tutorial" default="build" basedir=".">
  <description>Java Security Manager Tutorial</description> 
  <property name="src" location="src" /> 
  <property name="build" location="build" /> 
  <property name="config" location="config"/>
  <property name="output" location="output"/>
  <target name="init">
   <tstamp/> 
   <mkdir dir="${build}" />
   <mkdir dir="${build}/classes" />
   <mkdir dir="${build}/config" />
   <mkdir dir="${build}/tm_security_jar"/>
   <mkdir dir="${output}" />
   <mkdir dir="${config}" />
  </target>
  <target name="compile" depends="init" description="compile the source">
    <javac srcdir="${src}" destdir="${build}/classes" debug="on" /> 
  </target>
  <target name="copies" depends="" description="copy files to jar dirs">
    <copy todir="${build}/tm_security_jar" >
      <fileset dir="${build}/classes">
        <include name="com/tm/sm/*"/>
        <include name="com/tm/testTool/*"/>
      </fileset>
    </copy>
   </target>
  <target name="config" depends="" description="copy java.policy file">
    <copy todir="${build}/config" >
      <fileset dir="${src}/config">
        <include name="tm.java.policy"/>
      </fileset>
    </copy>
  </target>
  <target name="copy_run" depends="" description="copy java.policy file">
    <copy todir="${build}" >
      <fileset dir="${src}/test">
        <include name="*"/>
      </fileset>
    </copy>
  </target>
  <target name="jars" depends="compile,copies,copy_run" description="build jars">
    <jar jarfile="${build}/tm_security.jar" basedir="${build}/tm_security_jar"/>
    <jar jarfile="${build}/test_suite.jar" basedir="${build}/classes"/>
  </target>
  <target name="run" depends="build" description="test application">
    <java classname="com.tm.testTool.SecurityTest" fork="true" output="output/stdout.log" error="output/stderr.log">
      <classpath refid="run.classpath"/>
      <jvmarg value="-server"/>
      <jvmarg value="-Djava.security.manager"/>
      <jvmarg value="-Djava.security.policy=${build}/config/tm.java.policy"/>
      <jvmarg value="-XX:+DisableExplicitGC"/>
      <jvmarg value="-Dprivledged.jar.path=${build}/tm_security.jar"/>
      <!--      <jvmarg value="-Djava.security.debug=all"/> -->
    </java>
  </target>
  <path id="run.classpath">
    <fileset dir="${build}" includes="tm_security.jar"/>
    <fileset dir="${build}" includes="test_suite.jar"/>
  </path>
  <target name="build" depends="jars,config">
  </target>
  <target name="clean" depends="init">
    <delete dir="${build}" /> 
  </target>
</project>
