<?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的更多相关文章

  1. 2013.11.15 初学ant构建

    该做的事情都差不多做完了,今天开始用ant构建,所以学了下ant,其实要不是因为ubuntu时不时的抽风我应该早就可以开始构建了,但重写的时候也想清楚了一些逻辑,优化了一些地方.下面是我这辈子写的第一 ...

  2. weblogic对JSP预编译、weblogic读取JSP编译后的class文件、ant中weblogic.jspc预编译JSP

    我们都知道在weblogic中JSP是每次第一次访问的时候才会编译,这就造成第一次访问某个JSP的时候性能下降,有时候我们也希望JSP被编译成class然后打包在jar中实现隐藏JSP的功能,下面介绍 ...

  3. 职场菜鸟初窥Ant

    对于新入职的新人来说,学校的那一套东西于实际的工作根本不够.诸多的技术知识还得自己去慢慢掌握和理解.对于项目的发布笔者以前也就仅仅使用开发工具集成的发布功能,并未使用过Ant进行项目的发布.因此需要做 ...

  4. Jenkins +Ant +Jmeter(apache-jmeter-5.1.1)自动化性能测试平台

    1.安装配置好Jdk, 下载网址:https://www.cr173.com/soft/33894.html 2.Jmeter下载地址:http://jmeter.apache.org/downloa ...

  5. Java琐记

    svn项目倒入,所选的文件夹一定是src上面以及的:然后eclipse会自动创建一个项目,项目名称就是src上级文件夹的名称:然后会按照路径下的文档结构如导入到eclipse的结构中: 被标记为// ...

  6. Chapter 2. Overview gradle概览

    2.1. Features //gradle特性 Here is a list of some of Gradle's features. Declarative builds and build-b ...

  7. Gradle学习之基础篇

    一.gradle基础概念 Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建工具.Gradle抛弃了基于各种繁琐的XML,使用一种基于Groovy的特定领域语言( ...

  8. Linux(centos6.5)下安装jenkins

    Jenkins 的前身是 Hudson 是一个可扩展的持续集成引擎. 通俗的来讲,jenkins就是一个可以实现自动化部署的一个插件, 对于我来说,也是应用在系统部署上. 废话不多说,直接进入我们的安 ...

  9. Gradle2.0用户指南翻译——第二章. 概述

    翻译项目请关注Github上的地址:https://github.com/msdx/gradledoc本文翻译所在分支:https://github.com/msdx/gradledoc/tree/2 ...

随机推荐

  1. 深度增强学习--A3C

    A3C 它会创建多个并行的环境, 让多个拥有副结构的 agent 同时在这些并行环境上更新主结构中的参数. 并行中的 agent 们互不干扰, 而主结构的参数更新受到副结构提交更新的不连续性干扰, 所 ...

  2. 使用rsync进行多服务器同步

    使用rsync进行多服务器同步 @(Others) 当集群数量很大时,修改配置文件和节点之间的文件同步是一件很麻烦且浪费时间的事情. rsync是linux上实现不同机器之间文件同步.备份的工具,ce ...

  3. ESLint:can not ESLint annotation...

    刚开始用webstorm开发VUE,提示这个东西: 安装一个npm库就可以了 命令行执行:npm install eslint -g

  4. 抓取网页图片的脚本(javascript)

    抓取网页图片的脚本(javascript) 本文地址: http://blog.csdn.net/caroline_wendy/article/details/24172223 脚本内容 (没有换行) ...

  5. 解决 java.lang.ClassNotFoundException配置文件出错的问题

    出现的原因: 1.jar包没有导入 2.jar包有冲突 3.jar包没有同步发布到自己项目的lib目录中 解决方案: maven构建工程的方式:项目点击右键 点击 Properties 选择Deplo ...

  6. TreeView 类 事件

    名称 说明 AfterCheck 在选中树节点复选框后发生. AfterCollapse 在折叠树节点后发生. AfterExpand 在展开树节点后发生. AfterLabelEdit 在编辑树节点 ...

  7. aspcms 幻灯片用列表调用

    首先找到网站目录/inc/AspCms_MainClass.asp 增加主函数 Public Function parseSlideList(str) if not isExistStr(conten ...

  8. 求函数 y=x^2-2x-3/2x^2+2x+1 的极值

    解:展开函数式得到2yx2+2xy+y=x2-2x-3 继而得到(2y-1)x2+(2y+2)x+(y+3)=0 将上式看作x的二次方程,y组成了方程的系数. 只有Δ>=0,x才有实值. Δ=( ...

  9. NoSQL的CURD结构体的定义

    NoSQL的CURD结构体的定义 flyfish 2015-7-23 參考MongoDB Wire Protocol  在这里document部分使用json表示 使用boost::property_ ...

  10. Python 二维码解码

    二维码解析 Python中关于二维码解析的现成模块有很多,比较著名的就是Zbar以及ZXing.然而很不幸的是,官方的版本都是支持到python2.x,下面是在python2.x的例子: import ...