<?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. IntelliJ IDEA 创建 java Maven项目

    1.下载安装Maven 下载官网:http://maven.apache.org/download.cgi 下载解压到当前目录并建立LocalWarehouse文件夹,该文件夹为自己的文件仓库做存储. ...

  2. Linux远程执行Windows机器任务

    Linux远程执行Windows机器任务     近期测试人员提出需求需要在Linux下调用Windows系统下的cmd的命令完成自动构建和测试并生成测试报告. 环境: Windows Server2 ...

  3. ckeditor 触发事件(案例)

    CKEDITOR.instances.positionDesc.on('blur', function() { $("#positionDescMSg").text("& ...

  4. xUtils怎样通过注解对FindViewById进行封装

    之前讲到了介绍了一下xUtils的基本用法,今天我们就来具体介绍一下关于xUtils中的ViewUtils模块. 在ViewUtils模块中我们首先看到的是它採用了一种注解的方式进行声明,那么我们首先 ...

  5. OpenCV 4.1 编译和配置

    OpenCV 4.0 版本,历时3年半,终于在2018年圣诞节前发布了,该版本增加的新功能如下: 1) 更新代码支持 c++11 特性,需要兼容 c++11 语法的编译器 2)增加 dnn 中的模块功 ...

  6. java提高篇-----理解java的三大特性之封装

    在<Think in java>中有这样一句话:复用代码是Java众多引人注目的功能之一.但要想成为极具革命性的语言,仅仅能够复制代码并对加以改变是不够的,它还必须能够做更多的事情.在这句 ...

  7. Hadoop Exit Code 含义

    经常遇到的exception是: 1. PipeMapRed.waitOutputThreads(): subprocess failed with code N  ............ 2. T ...

  8. 关于org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor的队列

    今天查看源码发现spring的线程池是支持队列的: 并且队列支持的上限相当大: 当线程池的达到最大线程时,默认会把任务放在队列(内存)中,所以我们可以放心用这个东西来写日志了

  9. RandomForest&ROC

    # -*- coding: utf-8 -*- # __author__ = 'JieYao' from biocluster.agent import Agent from biocluster.t ...

  10. gulp入门学习教程(入门学习记录)

    前言 最近在通过教学视频学习angularjs,其中有gulp的教学部分,对其的介绍为可以对文件进行合并,压缩,格式化,监听,测试,检查等操作时,看到前三种功能我的心理思想是,网上有很多在线压缩,在线 ...