close
<?xml version=”1.0″ encoding=”UTF-8″?>
<project name=”Forth” default=”compile” basedir=”.”>
  <property name=”build.dir” value=”build” />
  <property name=”build.dist.dir” value=”${build.dir}/dist” />
  <property name=”build.main.dir” value=”${build.dir}/main” />
  <property name=”build.test.dir” value=”${build.dir}/test” />
  <property name=”build.test.output.dir” value=”${build.dir}/test-output” />
  <property name=”build.test.report.dir” value=”${build.dir}/test-report” />
  <property name=”src.dir” value=”src” />
  <property name=”test.dir” value=”test” />
  <property name=”lib.dir” value=”lib” />
  <property name=”ext.dir” value=”ext” />
  <property name=”web.dir” value=”web” />

  <path id=”classpath”>
    <pathelement location=”${build.main.dir}” />
    <pathelement location=”${build.test.dir}” />
    <fileset dir=”${lib.dir}” includes=”*.jar” />
    <fileset dir=”${ext.dir}” includes=”*.jar” />
  </path>

  <target name=”prepare”>
    <mkdir dir=”${build.dist.dir}” />
    <mkdir dir=”${build.main.dir}” />
    <mkdir dir=”${build.test.dir}” />
    <mkdir dir=”${build.test.output.dir}” />
    <mkdir dir=”${build.test.report.dir}” />
  </target>

  <target name=”clean” depends=”prepare”>
    <delete dir=”${build.dir}” />
  </target>

  <target name=”compile” depends=”prepare”>
    <javac srcdir=”${src.dir}” destdir=”${build.main.dir}” encoding=”UTF-8″>
      <classpath refid=”classpath” />
    </javac>
  </target>

  <target name=”compile-test” depends=”compile”>
    <javac srcdir=”${test.dir}” destdir=”${build.test.dir}” encoding=”UTF-8″>
      <classpath refid=”classpath” />
    </javac>
  </target>

  <target name=”test” depends=”compile-test”>
    <taskdef name=”testng”
      classname=”org.testng.TestNGAntTask”
      classpath=”${ext.dir}/testng-5.1.jar” />
    <testng classpathref=”classpath”
      outputdir=”${build.test.output.dir}”
      haltOnfailure=”true”>
      <xmlfileset dir=”test” includes=”testng.xml” />
    </testng>
  </target>

  <target name=”test-report” depends=”test”>
    <junitreport todir=”${build.test.report.dir}”>
      <fileset dir=”${build.test.output.dir}” includes=”**/*.xml” />
      <report format=”noframes” todir=”${build.test.report.dir}” />
    </junitreport>
  </target>

  <target name=”pack-main” depends=”compile”>
    <jar destfile=”${build.dist.dir}/setup.jar”>
      <manifest>
        <attribute name=”Main-Class” value=”Installer” />
        <attribute name=”Class-Path” value=”. server.jar” />
      </manifest>
    </jar>
    <jar destfile=”${build.dist.dir}/server.jar”>
      <fileset dir=”${build.main.dir}” />
    </jar>
    <jar destfile=”${build.dist.dir}/web.war”>
      <fileset dir=”${web.dir}” />
    </jar>
 </target>

  <target name=”pack-test” depends=”compile-test”>
    <jar destfile=”${build.dist.dir}/test.jar”>
      <fileset dir=”${build.test.dir}” />
    </jar>
  </target>

  <target name=”dist” depends=”pack-main, pack-test”>
    <copy todir=”${build.dist.dir}”>
      <fileset dir=”.” includes=”resource/*” />
      <fileset dir=”.” includes=”config/*” />
    </copy>
  </target>
</project>
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 Forth 的頭像
    Forth

    不就是個blog

    Forth 發表在 痞客邦 留言(0) 人氣()