今天喵喵使用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学习的一点点小结,整理成档了,文档中已经包含了几个简单的build.xml实例,也有注释,简单明了、通俗易懂
ant个人学习笔记和简单示例,主要包括各种命令,以及简单的示例
十分有用的ant资料,由此可以快速入门.
博文链接:https://jimjiang.iteye.com/blog/123820
NULL 博文链接:https://worktianqi.iteye.com/blog/2162932
Java/JavaEE 学习笔记 作者在杰普学习时的学习笔记,是J2ee初学者必备手册,是大家学习J2EE开发的很好的参考笔记。 Java/JavaEE 学习笔记 内容...ant学习笔记...................387 Web Service学习笔记.....388
NULL 博文链接:https://shawnfree.iteye.com/blog/346466
Ant Design Pro 4.x学习笔记(一)基础 简介 自己学习的一点心得,希望有不足的地方,轻喷。 Ant Design Pro 是ant的一个项目,是一个企业级中后台前端/设计解决方案,与Ant Design 一脉同源。学习Ant Design Pro ...
ant是一个基于JAVA的自动化脚本引擎,脚本格式为XML。除了做JAVA编译相关任务外,ANT还可以通过插件实现很多应用的调用。 1. ANT的基本概念: ...3. ANT的使用:最好的学习只不过是一个简单实用的例子起步……
Java JDK 5.0学习笔记 1至6章及附录A和附录B 包含java特性、java学习方法、网络资源汇总、jdk下载和安装、path与CLASSPATH的设置、java基本语法、关于对象的认识、数组、字符串(String类))、Ant简介、JUnit简介。 ...
内容目录 .......................1 Java/JavaEE.....1 2008年11月1日...............1 Unix 学习笔记7 一、Unix前言............7 ...ant学习笔记...................387 Web Service学习笔记.....388