ant.xml
<?xml version="1.0"?>
<project name="dxcc" default="buildplugins" basedir="..">
<property name="build.lib.dir" value="${basedir}/build/lib"/>
<property name="target.dir" value="${basedir}/target"/>
<property name="deploy.dir" value="${basedir}/deploy"/>
<property name="target.plugins.dir" value="${basedir}/target/plugins"/>
<property name="lib.web.dir" value="${basedir}/WebRoot/WEB-INF/lib"/>
<property name="plugin.src.dir" value="${basedir}/src/plugins" />
<property name="compile.dir" value="${basedir}/WebRoot/WEB-INF/classes" />
<property name="localdeploy.dir" value="E:/apache-tomcat-7.0.63-dxcc/webapps/dxcc/plugins" />
<taskdef resource="net/sf/antcontrib/antlib.xml"><!-- 需要将ant-contrib.jar文件加到myeclipse配置ant类路径下 -->
<classpath>
<pathelement location="${basedir}/build/lib/ant-contrib.jar"/>
</classpath>
</taskdef>
<path id="compile.dependencies">
<fileset dir="${build.lib.dir}" includes="rt.jar,servlet.jar"/>
<fileset dir="${lib.web.dir}" includes="**/*.jar"/>
<pathelement location="${compile.dir}"/>
</path> <!-- clean ================================================================================== -->
<target name="clean">
<delete dir="${target.dir}"/>
<delete dir="${deploy.dir}"/>
<!-- <delete dir="${localdeploy.dir}"/>-->
</target>
<!-- init ================================================================================== -->
<target name="init" depends="clean">
<mkdir dir="${target.dir}"/>
<mkdir dir="${deploy.dir}"/>
<mkdir dir="${target.plugins.dir}"/>
</target> <!-- build all plugins in plugins src folder ================================================ -->
<target name="buildplugins" depends="anttasks,init" description="遍历插件文件夹">
<subdirinfo dir="${plugin.src.dir}" property="dirlist" ifexists="plugin.xml" except="admin" />
<for list="${dirlist}" param="plugin" trim="true">
<sequential>
<buildplugin plugin="@{plugin}" pluginsrc="${plugin.src.dir}"/>
</sequential>
</for>
</target> <!-- anttasks ============================================================================== -->
<target name="anttasks" description="自定义ant遍历目录接口">
<taskdef name="subdirinfo" classname="org.jivesoftware.ant.SubDirInfoTask">
<classpath>
<pathelement location="${basedir}/build/lib/ant-subdirtask.jar" />
</classpath>
</taskdef>
</target> <!-- localdeploy =========================================================================== --> -----------------部署全部插件
<target name="localdeploy" depends="anttasks,init" description="本地部署">
<subdirinfo dir="${plugin.src.dir}" property="dirlist" ifexists="plugin.xml" except="admin" />
<for list="${dirlist}" param="plugin" trim="true">
<sequential>
<deployplugin plugin="@{plugin}" pluginsrc="${plugin.src.dir}"/>
</sequential>
</for>
</target>
<target name="amobile" depends="anttasks,init" description="遍历插件文件夹"> -----------------------部署指定插件
<deployplugin plugin="oa" pluginsrc="${plugin.src.dir}"/>
<deployplugin plugin="websites" pluginsrc="${plugin.src.dir}"/>
<deployplugin plugin="salary" pluginsrc="${plugin.src.dir}"/>
<deployplugin plugin="newResearch" pluginsrc="${plugin.src.dir}"/>
<deployplugin plugin="cloud" pluginsrc="${plugin.src.dir}"/>
<deployplugin plugin="thesis" pluginsrc="${plugin.src.dir}"/>
<deployplugin plugin="tmprt_check_sys" pluginsrc="${plugin.src.dir}"/>
<deployplugin plugin="sam" pluginsrc="${plugin.src.dir}" />
<deployplugin plugin="boh_sys" pluginsrc="${plugin.src.dir}" />
<deployplugin plugin="periodical" pluginsrc="${plugin.src.dir}" />
</target>
<!-- deployplugin (MACRO) =================================================================== -->
<macrodef name="deployplugin" description="建立插件宏">
<attribute name="plugin"/>
<attribute name="pluginsrc"/>
<sequential>
<copy todir="${localdeploy.dir}/@{plugin}" overwrite="true">
<fileset dir="@{pluginsrc}/@{plugin}">
<include name="**/*.*"/>
<exclude name="src/**/*.*"/>
</fileset>
</copy>
</sequential>
</macrodef>
<!-- buildplugin (MACRO) =================================================================== -->
<macrodef name="buildplugin" description="建立插件宏">
<attribute name="plugin"/>
<attribute name="pluginsrc"/> <sequential>
<mkdir dir="${target.plugins.dir}/@{plugin}/classes"/>
<mkdir dir="${target.plugins.dir}/@{plugin}/lib"/>
<mkdir dir="${target.plugins.dir}/@{plugin}/web"/>
<!-- Compile java classes -->
<javac
destdir="${target.plugins.dir}/@{plugin}/classes"
includeAntRuntime="no"
debug="on"
source="1.6"
target="1.6"
>
<compilerarg line="-encoding UTF-8 "/>
<src path="@{pluginsrc}/@{plugin}/src/java"/>
<classpath>
<path refid="compile.dependencies"/>
<!-- Jars used by the plugin to compile with -->
<fileset dir="@{pluginsrc}/@{plugin}" includes="lib/*.jar"/>
</classpath>
</javac> <!-- Jar the plugin -->
<jar jarfile="${target.plugins.dir}/@{plugin}/lib/@{plugin}.jar">
<fileset dir="${target.plugins.dir}/@{plugin}/classes"/>
</jar> <!-- copy the plugin -->
<copy todir="${target.plugins.dir}/@{plugin}" overwrite="true">
<fileset dir="@{pluginsrc}/@{plugin}">
<include name="**/*.*"/>
<exclude name="src/**/*.*"/>
</fileset>
</copy> <!-- Jar the plugin for deploy -->
<jar jarfile="${deploy.dir}/@{plugin}.jar">
<fileset dir="${target.plugins.dir}/@{plugin}">
<include name="**/*.*"/>
<exclude name="classes/**/*.*"/>
</fileset>
</jar>
</sequential>
</macrodef>
</project>
ant.xml的更多相关文章
- 2013.11.15 初学ant构建
该做的事情都差不多做完了,今天开始用ant构建,所以学了下ant,其实要不是因为ubuntu时不时的抽风我应该早就可以开始构建了,但重写的时候也想清楚了一些逻辑,优化了一些地方.下面是我这辈子写的第一 ...
- weblogic对JSP预编译、weblogic读取JSP编译后的class文件、ant中weblogic.jspc预编译JSP
我们都知道在weblogic中JSP是每次第一次访问的时候才会编译,这就造成第一次访问某个JSP的时候性能下降,有时候我们也希望JSP被编译成class然后打包在jar中实现隐藏JSP的功能,下面介绍 ...
- 职场菜鸟初窥Ant
对于新入职的新人来说,学校的那一套东西于实际的工作根本不够.诸多的技术知识还得自己去慢慢掌握和理解.对于项目的发布笔者以前也就仅仅使用开发工具集成的发布功能,并未使用过Ant进行项目的发布.因此需要做 ...
- Jenkins +Ant +Jmeter(apache-jmeter-5.1.1)自动化性能测试平台
1.安装配置好Jdk, 下载网址:https://www.cr173.com/soft/33894.html 2.Jmeter下载地址:http://jmeter.apache.org/downloa ...
- Java琐记
svn项目倒入,所选的文件夹一定是src上面以及的:然后eclipse会自动创建一个项目,项目名称就是src上级文件夹的名称:然后会按照路径下的文档结构如导入到eclipse的结构中: 被标记为// ...
- Chapter 2. Overview gradle概览
2.1. Features //gradle特性 Here is a list of some of Gradle's features. Declarative builds and build-b ...
- Gradle学习之基础篇
一.gradle基础概念 Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建工具.Gradle抛弃了基于各种繁琐的XML,使用一种基于Groovy的特定领域语言( ...
- Linux(centos6.5)下安装jenkins
Jenkins 的前身是 Hudson 是一个可扩展的持续集成引擎. 通俗的来讲,jenkins就是一个可以实现自动化部署的一个插件, 对于我来说,也是应用在系统部署上. 废话不多说,直接进入我们的安 ...
- Gradle2.0用户指南翻译——第二章. 概述
翻译项目请关注Github上的地址:https://github.com/msdx/gradledoc本文翻译所在分支:https://github.com/msdx/gradledoc/tree/2 ...
随机推荐
- 【转载】C/C++语言分析 & 每年学一种编程语言 & git历史
http://blog.csdn.net/turingbook/article/details/1778867 <程序员修炼之路>英文注释版 作者提出的经营之道是:——Invest Reg ...
- [S5PV210 Linux字符驱动之PWM蜂鸣器驱动
在SMDK210.C中添加如下beeper_device 结构体 static struct platform_device beeper_device = { .name = "pwm_b ...
- [Android] Android工程以jar包形式向第三方应用提供服务
参考: http://www.cnblogs.com/0616--ataozhijia/p/4094952.html 以API 19为例: 系统默认提供的 android.jar整体大小为: 21.8 ...
- DevExpress:下拉框绑定数据源 (ComboBoxEdit,LookUpEdit)
DevExpress:下拉框绑定数据源 (ComboBoxEdit,LookUpEdit) DevExpress:下拉框绑定数据源 (ComboBoxEdit,LookUpEdit) // 设置下拉框 ...
- automake连载---关于两个文件configure.in和Makefile.am的编写
http://blog.csdn.net/shanzhizi/article/details/30251763 automake主要通过编辑Makefile.am来控制它的行为,下面就常用的三个Mak ...
- Android 内存泄漏分析利器——leakcanary
LeakCanary Android 和 Java 内存泄露检测. “A small leak will sink a great ship.” - Benjamin Franklin 千里之堤, 毁 ...
- Android BaseAdapter和ViewHolder 优化 解决ListView的item抢焦点问题和item错乱问题
首先赞下hyman大神 曾经仅仅是简单的重写个BaseAdapter,将getView方法保持抽象.而ViewHolder没有抽象过. .. ViewHolder (用了一个集合+泛型管理存取view ...
- Java之基础(1) - 编程中“为了性能”尽量要做到的一些地方
最近的机器内存又爆满了,除了新增机器内存外,还应该好好review一下我们的代码,有很多代码编写过于随意化,这些不好的习惯或对程序语言的不了解是应该好好打压打压了. 下面是参考网络资源总结的一些在Ja ...
- ubuntu14.04无法连接有线连接问题
在windows系统下关闭有线网卡的关机,自动唤醒功能即可
- 关于天津中软国际ETC培训中心的见与闻
半个月的时间转眼即逝,在中软国际天津ETC的实训的两个星期就这样过去了,在中软国际天津站的这段时间也收获了非常多.明确了非常多,了解了很多关于社会就业的知识以及关于软件培训的一些事情.尽管我的了解可能 ...