Execute shell command : Shell Command « Ant « Java






Execute shell command

 
<?xml version="1.0"?>
<project name="Demo ant junit" default="compile" basedir=".">

  <property name="dir.build" value="build"/>
  <property name="dir.src" value="src"/>
  <property environment="env"/>

  <path id="classpath.project">
    <pathelement path="${dir.build}"/>
  </path>

  <target name="install.junit">
    <fail unless="env.JUNIT_HOME">
      The JUNIT_HOME environment variable must be set.
    </fail>

    <available property="junit.already.installed"
               file="${ant.home}/lib/junit.jar"/>

    <copy file="${env.JUNIT_HOME}/junit.jar"
          todir="${ant.home}/lib"
          failonerror="true"/>
   
    <fail unless="junit.already.installed">
      junit.jar was not found in ANT_HOME/lib prior to this 
      build, so it was copied for you. Please try your build again.
    </fail>
  </target>

  <target name="prepare" depends="install.junit">
    <mkdir dir="${dir.build}"/>
  </target>

  <target name="clean"
          description="Remove all generated files.">
    <delete dir="${dir.build}"/>
  </target>

  <target name="compile" depends="prepare"
          description="Compile all source code.">
    <javac srcdir="${dir.src}" destdir="${dir.build}">
      <classpath refid="classpath.project"/>
    </javac>
  </target>

  <target name="junit1" depends="compile">
    <junit printsummary="on" 
           fork="false" 
           haltonfailure="false"
           failureproperty="tests.failed"
           showoutput="true">

      <classpath refid="classpath.project"/>
      <formatter type="brief" usefile="false"/>

      <batchtest>
        <fileset dir="${dir.src}">
          <include name="**/Test*.java"/>
          <exclude name="**/AllTests.java"/>
        </fileset>
      </batchtest>
    </junit>

    <fail if="tests.failed">
    *******************************************************
    *******************************************************
    One or more tests failed. Check the output...
    *******************************************************
    *******************************************************
    </fail>
  </target>

  <target name="junit2" depends="compile">
    <!-- you may override this on the command line:
         ant -Dtestcase=com/java2s/javaxp/junit/TestGame junit2 -->
    <property name="testcase" 
              value="com/java2s/javaxp/junit/TestPerson"/>

    <junit fork="false">
      <classpath refid="classpath.project"/>
      <formatter type="plain" usefile="false"/>

      <test name="${testcase}"/>
    </junit>
  </target>


  <target name="junit3" depends="compile">
    <junit printsummary="on" fork="false" haltonfailure="false">

      <classpath refid="classpath.project"/>
      <formatter type="xml"/>

      <batchtest todir="${dir.build}">
        <fileset dir="${dir.src}">
          <include name="**/Test*.java"/>
          <exclude name="**/AllTests.java"/>
        </fileset>
      </batchtest>

    </junit>

    <junitreport todir="${dir.build}">
      <fileset dir="${dir.build}">
        <include name="TEST-*.xml"/>
      </fileset>
      <report format="frames" todir="${dir.build}"/>
    </junitreport>

    <pathconvert dirsep="/" property="reportUrl">
      <path>
        <pathelement location="${dir.build}/index.html"/>
      </path>
    </pathconvert>

    <exec executable="cmd" os="Windows XP">
      <arg value="/C"/>
      <arg value="${reportUrl}"/>
    </exec>
  </target>

</project>


           
         
  








Related examples in the same category

1.Use exec executable to call system shell command
2.Apply executable