1. 程式人生 > >常用的Ant模板(BUILD.XML)

常用的Ant模板(BUILD.XML)

現在專案使用ant來管理,整理了一個常用的Ant模板檔案,包括:編譯、執行Junit測試用例、CheckStlye、從Vss取版本、javadoc等。希望有用。

<?xml version="1.0" encoding="gb2312"?>
<!--
本模板檔案提供了以下功能:
1.編譯java程式碼;
2.產生java程式碼對應的javaDoc;
3.檢查java程式碼的編碼規範;
4.編譯並執行java程式碼對應的junit測試程式碼
5.從Vss中獲取程式
-->
<project name="Fog Project" default="all" basedir=".">

<!-- 環境變數 -->
<property environment="env"/>
<!-- 設定junit報告的xsl檔案目錄 -->
<property name="junit.styleDir" value="${env.ANT_HOME}/etc"/>

<!-- 原始碼目錄 -->
<property name="src.code" value="src"/>
<!-- 原始碼對應的junit目錄 -->
<property name="src.junit" value="junit"/>
<!-- 引用包所在目錄 -->
<property name="lib.dir" value="lib"/>
<!-- 目標jar名稱 -->
<property name="lib.jar" value="fog.jar"/>

<!-- checkstyle configuration -->
<property name="checkstyle.config" value="${lib.dir}/checkstyle33.xml"/>
<!-- 設定checkstyle的xsl檔案 -->
<property name="checkstyle.xsl" value="${lib.dir}/checkstyle-frames.xsl"/>
<taskdef resource="checkstyletask.properties"
classpath="${lib.dir}/checkstyle-all-3.3.jar"/>

<!-- VSS配置 -->
<property name="vss.ssdir" value="D:/Program Files/vss/win32/"/>
<property name="vss.svrdir" value="Z:"/>
<property name="vss.path" value="/fog/implement"/>

<!-- 輸出文件 -->
<property name="doc.dir" value="doc"/>
<property name="doc.api" value="${doc.dir}/api"/>
<!-- junit report -->
<property name="doc.junitReport" value="${doc.dir}/junitReport"/>
<!-- checkstyle report -->
<property name="doc.checkstyleReport" value="${doc.dir}/checkstyleReport"/>

<!-- 與開發包結構相同 -->
<property name="javadoc.package" value="fog.*"/>

<!-- 輸出二進位制檔案 -->
<property name="dist.root" value="projDist"/>
<property name="dist.proj" value="${dist.root}/proj"/>
<property name="dist.classes" value="${dist.proj}/classes"/>
<property name="dist.lib" value="${dist.proj}/lib"/>
<property name="dist.junit" value="${dist.root}/junit"/>

<!-- classpath -->
<path id="classpath">
<fileset dir="${lib.dir}">
<include name="**/*.jar"/>
</fileset>

<fileset dir="web/WEB-INF/lib">
<include name="**/*.jar"/>
</fileset>

<fileset dir="${dist.lib}">
<include name="**/*.jar"/>
</fileset>

<fileset dir="junit_lib">
<include name="**/*.jar"/>
</fileset>
</path>

<target name="init">
<mkdir dir="${doc.dir}"/>
<mkdir dir="${dist.root}"/>
<mkdir dir="${dist.proj}"/>
<mkdir dir="${dist.lib}"/>
<tstamp/>
<echo message="${TSTAMP}"></echo>
</target>

<target name="all" depends="compilesrc, javadoc, checkstyle"/>

<!-- 編譯原始檔 -->
<target name="compilesrc" depends="init">
<mkdir dir="${dist.classes}"/>

<javac destdir="${dist.classes}" deprecation="on">
<src path="${src.code}"/>
<classpath refid="classpath"/>
</javac>

<jar jarfile="${dist.lib}/${lib.jar}" basedir="${dist.classes}">
<include name="**/*.class"/>
</jar>
</target>

<!-- 產生javadoc -->
<target name="javadoc" depends="init">
<mkdir dir="${doc.api}"/>

<javadoc packagenames="${javadoc.package}" sourcepath="${src.code}"
private="yes" defaultexcludes="yes" destdir="${doc.dir}/api">
<classpath refid="classpath"/>
</javadoc>
</target>

<!-- 編譯Junit檔案 -->
<target name="compilejunit" depends="compilesrc">
<mkdir dir="${dist.junit}"/>

<javac destdir="${dist.junit}" deprecation="on">
<src path="${src.junit}"/>
<classpath refid="classpath"/>
</javac>
</target>

<!-- 執行checkstyle檢查程式碼規範 -->
<target name="checkstyle" depends="init">
<mkdir dir="${doc.checkstyleReport}"/>

<checkstyle config="${checkstyle.config}">
<fileset dir="${src.code}" includes="**/*.java"/>
<formatter type="plain"/>
<formatter type="xml" toFile="${doc.checkstyleReport}/checkstyle_report.xml"/>
</checkstyle>

<style in="${doc.checkstyleReport}/checkstyle_report.xml" out="${doc.checkstyleReport}/checkstyle_report.html" style="${checkstyle.xsl}"/>
</target>

<!-- 執行junit -->
<target name="junit" depends="compilejunit">
<mkdir dir="${doc.junitReport}"/>
<copy todir="${dist.junit}">
<fileset dir="junit_lib">
<exclude name="**/*.jar"/>
</fileset>

<fileset dir="${src.code}">
<include name="fog.hbm.xml"/>
</fileset>
</copy>

<junit printsummary="yes" haltonfailure="no">
<classpath>
<path refid="classpath"/>
<pathelement location="${dist.junit}"/>
</classpath>

<formatter type="brief" usefile="false"/>
<formatter type="xml"/>

<batchtest todir="${doc.junitReport}">
<fileset dir="${dist.junit}" includes="**/*Test.class" />
</batchtest>
</junit>

<junitreport todir="${doc.junitReport}">
<fileset dir="${doc.junitReport}">
<include name="TEST*-*.xml"/>
</fileset>
<report format="frames" styledir="${junit.styleDir}" todir="${doc.junitReport}"/>
</junitreport>
</target>

<!-- 從Vss中獲取最新版本 -->
<target name="getVersion" depends="">
<vssget
vsspath="${vss.path}" localpath="." login="codeline,codeline"
ssdir="${vss.ssdir}" serverPath="${vss.svrdir}" autoresponse="N" recursive="true"
quiet="true" />
</target>

<!-- 清除產生的類、junit相關類、文件 -->
<target name="clean">
<delete dir="${dist.classes}"/>
<delete dir="${dist.junit}"/>
<delete dir="${doc.api}"/>
<delete dir="${doc.junitReport}"/>
<delete dir="${doc.checkstyleReport}"/>
</target>

<!-- 清除所有輸出結果 -->
<target name="cleanall" depends="clean">
<delete dir="${doc.dir}"/>
<delete dir="${dist.root}"/>
</target>
</project>  

相關推薦

常用Ant模板(BUILD.XML)

現在專案使用ant來管理,整理了一個常用的Ant模板檔案,包括:編譯、執行Junit測試用例、CheckStlye、從Vss取版本、javadoc等。希望有用。 <?xml version="1.0" encoding="gb2312"?> <!-- 本模板檔案提供了以下功能: 1.編譯ja

Antbuild.xml指令碼模板

<?xml version="1.0" encoding="GB2312" ?> <project name="tscms" default="jar" basedir="."> <property file="build.propertie

antbuild.xml文件解釋

project 什麽 dep pat java cdir AR 計劃 Coding 下邊就是一個完整的build.xml,然後我們來詳細的解釋每一句<?xml version="1.0" encoding="UTF-8" ?><project name="

Antbuild.xml詳解

Ant的概念 可能有些讀者並不連線什麼是Ant以及入可使用它,但只要使用通過Linux系統得讀者,應該知道make這個命令。當編譯Linux核心及一些軟體的源程式時,經常要用這個命令。Make命令其實就是一個專案管理工具,而Ant所實現功能與此類似。像make,gnumake

Jmeter+Ant執行build.xml常見錯誤:前言中不允許有內容

build.html<?xml version="1.0" encoding="UTF-8"?><project name="ant-jmeter-test" default="run" basedir='.'>       <tstamp>

Antbuild.xml詳解(有例項)

Ant的概念  可能有些讀者並不連線什麼是Ant以及入可使用它,但只要使用通過Linux系統得讀者,應該知道make這個命令。當編譯Linux核心及一些軟體的源程式時,經常要用這個命令。Make命令其實就是一個專案管理工具,而Ant所實現功能與此類似。像make,gnumake和nmake這些編譯工具都有一

Antbuild.xml詳解---可用

Ant的概念 :在Eclipse中使用Ant Ant是Java平臺下非常棒的批處理命令執行程式,能非常方便地自動完成編譯,測試,打包,部署等等一系列任務,大大提高開發效率。 Ant和make命令很像。當編譯Linux核心及一些軟體的源程式時,經常要用這個命令。Make命令其

Win10 安裝Ant執行build.xml遇到的問題以及解決

在Win 7 系統下安裝ant的方法,可以查閱 http://blog.csdn.net/liujingqiu/article/details/54647394 對於 Win 10 安裝Ant 1.9.9 可以使用上述同樣的方法,將Ant安裝成功。 執行b

Jmeter4.0+Ant整合 build.xml高階配置

批量執行某一目錄下多個測試指令碼,build.xml檔案如下 <?xml version="1.0" encoding="UTF-8"?> <project name="ant-jmeter-test" default="run" base

Antbuild.xml配置詳解

前言 國內關於build.xml的配置資料太零散了,實在是受不了,故而將自己的筆記整理成博文,方便大家查閱和理解。 build.xml配置引數 構建檔案預設叫build.xml,其有很多配置引數。 project 每個構建檔案都有一個project標籤,有以下屬性:

Antbuild.xml詳細部署

Ant的優點 跨平臺性。Ant是用Java語言編寫的,所示具有很好的跨平臺性。 操作簡單。Ant是由一個內建任務和可選任務組成的。 Ant執行時需要一個XML檔案(構建檔案)。 Ant通過呼叫target樹,就可以執行各種task。每個task實現了特定介面物件。 Ant開發 Ant的構建檔案

ant 01——編寫antbuild.xml的方法

ant 是apache的java子專案"jakarta"的子專案.你可以選擇當前的版本,,window版 解壓後ant_home用來方便訪問。並確保你也設定了java_home 。 set ant_home=D:\java\kit\ant\jakarta-an

Eclipse 中給專案自動建立antbuild.xml檔案

Eclipse 自動生成 Ant的Build.xml 配置檔案,生成的方法很隱蔽 選擇你要生成Build.xml檔案的專案,右鍵. Export-> General-> Ant Buildfiles . 點Next,再點Finish. 生成完畢. 希望使用的可

antbuild.xml構建自動化打包android apk 完全詳解(打包系列教程之二)

打包系列教程目錄: 通過上一篇文章內容的學習,我們基本已經明白了android打包簽名apk的主要操作與流程,那麼這一篇文章我們就將上一篇文章的打包內容轉化成ant的build.xml檔案進行自動化打包,這樣可以避免我們上一篇文章的敲打命令列的繁瑣操作,從而

OA之Ant打包build.xml解析

1.project 根結點   基本屬性:name、default、basedir。    name:    專案名稱(可選)    default: 預設開始執行的target。(必需)    basedir: 用於計算所有其他路徑的基路徑。可以被basedir p

antBuild.xml檔案解析

1.<project>標籤 每個構建檔案對應一個專案。<project>標籤時構建檔案的根標籤。它可以有多個內在屬性,就如程式碼中所示,其各個屬性的含義分別如下。 (1) default表示預設的執行目標,這個屬性是必須的。 (2) basedir表

Ant常用命令簡介以及一個最完整的build.xml樣例

Ant的概念  Make命令是一個專案管理工具,而Ant所實現功能與此類似。像make,gnumake和nmake這些編譯工具都有一定的缺陷,但是Ant卻克服了這些工具的缺陷。最初Ant開發者在開發跨平臺的應用時,用樣也是基於這些缺陷對Ant做了更好的設計。  A

Ant build.xml (模板)

< ? xml version = "1.0" ? > < project name= "your_porject_name" default= "deploy-db" >     < !-- properies -->      < !-- 定義一些常量 --

Ant 的最完整build.xml(轉)

<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">轉:http://www.cnblogs.com/clarkchen/archive/2011

ant呼叫jmeter時的build.xml

<?xml version="1.0" encoding="utf-8"?> <project name="ant-jmeter-test" default="run" basedir=".">      <tstamp>