ant学习笔记(五)
来源:互联网 发布:淘宝因为质量问题退款 编辑:程序博客网 时间:2024/06/11 18:41
今天喵喵使用ant给一个eclipse plugin打build,下面是具体脚本代码。只需要稍作改动即可完成其他plugin的build工作:包括把xxx改成相应的项目名称,filecopy那段的改写等等n_n。
<?xml version="1.0" encoding="UTF-8" ?>
<!--
====================================================
Can be used as a base for any Eclipse Plugin's build
with a bit of work.
Date: 2008.1.7
Author: zz
====================================================
-->
<project name="buildplugin" default="zipup" basedir=".">
<property file="buildplugin.properties"/>
<property name="plugin.name" value="com.ibm.xxx"/>
<property name="temp.build.root" value="temp_build"/>
<property name="xxx.root" value="../../Projects"/>
<property name="xxx.src" value="${xxx.root}/${plugin.name}/src"/>
<property name="xxx.bin" value="${xxx.root}/${plugin.name}/bin"/>
<property name="xxx.lib" value="${xxx.root}/${plugin.name}/lib"/>
<property name="xxx.plugin.dir" value="${temp.build.root}/plugins"/>
<property name="xxx.plugin.name.final" value="${plugin.name}_${version}"/>
<property name="xxx.feature.dir" value="${temp.build.root}/features"/>
<property name="xxx.feature.name.final" value="${plugin.name}_${version}"/>
<property name="junit.src" value="${xxx.root}/UnitTest/src"/>
<property name="junit.bin" value="${xxx.root}/UnitTest/bin"/>
<property name="xxx.jar.name" value="xxx.jar"/>
<property name="junit.report" value="junit_report"/>
<property name="junit.report.dir" value="${temp.build.root}/report"/>
<property name="xxx.zip.name" value="xxx_${version}.zip"/>
<target name="init">
<delete dir="${xxx.bin}"/>
<delete dir="${temp.build.root}"/>
<delete dir="${junit.bin}"/>
<!-- build dir -->
<mkdir dir="${build.dir}"/>
<!-- temp dir -->
<mkdir dir="${temp.build.root}"/>
<mkdir dir="${xxx.bin}"/>
<mkdir dir="${xxx.plugin.dir}"/>
<mkdir dir="${xxx.plugin.dir}/${xxx.plugin.name.final}"/>
<mkdir dir="${xxx.feature.dir}"/>
<mkdir dir="${xxx.feature.dir}/${xxx.feature.name.final}"/>
<mkdir dir="${junit.bin}"/>
<mkdir dir="${junit.report.dir}"/>
</target>
<target name="compile" depends="init">
<javac srcdir="${xxx.src}"
destdir="${xxx.bin}"
source="1.4"
encoding="UTF-8"
deprecation="on"
failonerror="true"
>
<classpath>
<fileset dir="${xxx.lib}">
<include name="*.jar"/>
</fileset>
<fileset dir="${plugin.depend}">
<include name="**/*.jar"/>
</fileset>
</classpath>
</javac>
</target>
<target name="filecopy" depends="compile">
<!-- copy to bin dir -->
<copy todir="${xxx.bin}">
<fileset dir="${xxx.src}" includes="*.properties" />
</copy>
<!-- copy to feature dir -->
<copy todir="${xxx.feature.dir}/${xxx.feature.name.final}">
<fileset dir="${xxx.root}/Feature" includes="feature.xml build.properties" />
</copy>
<!-- copy to plugin dir -->
<copy todir="${xxx.plugin.dir}/${xxx.plugin.name.final}/lib">
<fileset dir="${xxx.lib}"/>
</copy>
<copy todir="${xxx.plugin.dir}/${xxx.plugin.name.final}/icons">
<fileset dir="${xxx.root}/${plugin.name}/icons"/>
</copy>
<copy todir="${xxx.plugin.dir}/${xxx.plugin.name.final}">
<fileset dir="${xxx.root}/${plugin.name}" includes="plugin.*" />
</copy>
</target>
<target name="makejar" depends="filecopy">
<jar destfile="${xxx.plugin.dir}/${xxx.plugin.name.final}/${xxx.jar.name}" basedir="${xxx.bin}" />
</target>
<!-- compile Junit classes -->
<target name="compilejunit" depends="makejar">
<javac destdir="${junit.bin}"
deprecation="on"
failonerror="true"
source="1.4">
<src path="${junit.src}"/>
<classpath>
<fileset dir="${plugin.depend}">
<include name="**/*.jar"/>
</fileset>
<fileset dir="${xxx.plugin.dir}/${xxx.plugin.name.final}">
<include name="${xxx.jar.name}"/>
</fileset>
</classpath>
</javac>
</target>
<!-- run junit -->
<target name="junit" depends="compilejunit">
<junit printsummary="yes" haltonfailure="yes" >
<classpath>
<fileset dir="${plugin.depend}">
<include name="**/*.jar"/>
<exclude name="**/ant*.jar"/>
</fileset>
<fileset dir="${xxx.plugin.dir}/${xxx.plugin.name.final}">
<include name="${xxx.jar.name}"/>
</fileset>
<pathelement location="${junit.bin}"/>
</classpath>
<test name="${release.checher}"
haltonfailure="yes"
todir="${junit.report.dir}"
>
<formatter type="xml"/>
</test>
<batchtest fork="yes"
todir="${junit.report.dir}"
haltonfailure="yes"
>
<fileset dir="${junit.src}">
<include name="**/*Test*.java"/>
</fileset>
<formatter type="xml"/>
</batchtest>
</junit>
</target>
<target name="zipup" depends="junit">
<zip destfile="${build.dir}/${xxx.zip.name}" basedir="${temp.build.root}" includes="plugins/** features/**" />
</target>
<target name="clean" depends="zipup">
<delete dir="${temp.build.root}"/>
</target>
</project>
- ant学习笔记(五)
- Ant 学习笔记(五)
- ant 学习笔记(Ant来打包)
- Ant学习笔记(一)-Ant入门
- ant学习笔记(一)
- ant学习笔记(二)
- ant学习笔记(三)
- ant学习笔记(四)
- ant学习笔记(六)
- ant学习笔记(七)
- Ant学习笔记(一)
- Ant学习笔记(二)
- Ant学习笔记(一)
- Ant 学习笔记(一)
- Ant 学习笔记(二)
- Ant 学习笔记(三)
- Ant 学习笔记(四)
- Ant 学习笔记(一)
- 显示隐藏文本框
- df 和du 的区别 linux磁盘命令详解
- OpenLDAP Quick Start Guide
- 考研倒计时
- Input和Output
- ant学习笔记(五)
- 生成条码
- 线程的创建
- 线程的优先级
- NetBeans选择管理教程 I—使用TopComponent的Lookup
- [多图]Skype与Intel联手打造移动VoIP设备
- 视图
- 网站建设手记
- CSDN新登陆验证码?