`

scm2的ant编译打包脚本

阅读更多
<?xml version="1.0" encoding="UTF-8"?>
<!-- ======================================================================
     www.BSTEK.com                                                               
     ====================================================================== -->
<project name="DoradoProject" default="package">

<property file="${basedir}/build.properties" />

<property name="catalina.home" value="${catalina.home}"/>
<property name="lib.dir"    value="${web.dir}/WEB-INF/lib"/>
<property name="cfg.dir" value="../src/com/hupun/scm/ibatis"/>
<!--<property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter"/>-->

<target name="init" depends="clean">
<mkdir dir="${build.dir}" />
<mkdir dir="${build.dir}/dorado-home" />
<!--<copy todir="${build.dir}/dorado-home">
<fileset dir="../dorado-home">
<include name="**/*.*" />
</fileset>
</copy>
-->
<!--<mkdir dir="${build.dir}/WebContent" />-->
<copy todir="${build.dir}/WebContent">
<fileset dir="${web.dir}">
<include name="**/*.*" />
</fileset>
</copy>
<!--
<delete file="${build.dir}/WebContent/WEB-INF/dorado.properties" />
<copy file="prod-dorado.properties" tofile="${build.dir}/WebContent/WEB-INF/dorado.properties" />
-->
</target>

<path id="compile.classpath"> 
        <fileset dir="${catalina.home}/lib"> 
          <include name="*.jar"/> 
        </fileset> 
        <fileset dir="${lib.dir}"> 
          <include name="*.jar"/> 
        </fileset> 
</path> 

<target name="compile" description="Compile Java sources" > 
        <mkdir dir="${build.dir}/WebContent/WEB-INF/classes"/> 
        <javac source="1.6" target="1.6" fork="true" executable="C:\Program Files\Java\jdk1.6.0_13\bin\javac" debug="true" srcdir="../src" 
              destdir="${build.dir}/WebContent/WEB-INF/classes"  includeantruntime="on" encoding="UTF-8"> 
            <classpath refid="compile.classpath"/> 
        </javac>
     <copy  todir="${build.dir}/WebContent/WEB-INF/classes"> 
          <fileset dir="../src">
             <exclude name="**/*.java"/>
             <include name="**/*.xml"/>
             <include name="**/*.ibatis"/>
             <include name="**/*.properties"/>
             <include name="**/*.js"/>
             <include name="**/*.css"/>
          </fileset>
      <!--<fileset dir="${cfg.dir}"/>-->
      </copy>
      <copy todir="${build.dir}/WebContent/">
      <fileset dir="../WebContent"></fileset>
      </copy>
</target> 


<!-- ================================================================== -->
<!-- Make Dorado Web Project war file                                   -->
<!-- ================================================================== -->
<target name="war" depends="compile">
<war destfile="${build.dir}/${final.name}.war" webxml="${build.dir}/WebContent/WEB-INF/web.xml">
<fileset dir="${build.dir}/WebContent/" />
<!--<zipfileset prefix="WEB-INF/classes/dorado-home" dir="${build.dir}/dorado-home" />-->
</war>
</target>

<!-- ================================================================== -->
<!-- Clean Dorado build file                                   -->
<!-- ================================================================== -->

<target name="clean">
<delete dir="${build.dir}" />
</target>

<!-- copy war -->
<target name="copywar">
<delete dir="${catalina.home}/webapps/SCM" />
    <delete file="${catalina.home}/webapps/SCM.war" />
    <copy  todir="${catalina.home}/webapps/">
    <fileset file="${build.dir}/SCM.war"/>
</copy>
</target>



<target name="package" depends="clean,init,compile,war,copywar">
</target>

</project>


注意点
A. 打包包含资源文件
<fileset dir="../src">
             <exclude name="**/*.java"/>
             <include name="**/*.xml"/>
             <include name="**/*.ibatis"/>
             <include name="**/*.properties"/>
             <include name="**/*.js"/>
             <include name="**/*.css"/>
</fileset>
B.编译带上 debug="true" 不关联源文件
<javac source="1.6" target="1.6" fork="true" executable="C:\Program Files\Java\jdk1.6.0_13\bin\javac" debug="true"

==========scm_auto_package.bat start==========
echo 'kill tomcat'
call taskkill /IM java.exe
echo 'update sql'
cd F:\SCM_SAAS\sql
rem #rm -rf /home/admin/scm/source/*
call svn  -q --force checkout https://localhost:5032/svn/xxx --username=xxx --password=xxx
call xcopy /S/Y F:\SCM_SAAS\sql\设计文档  F:\tools\SQLTool\sql
call F:\tools\SQLTool\runSQL.bat
rem #call svn update
echo 'db update end'
call F:\SCM_SAAS\scm2_package.bat
cd F:\SCM_SAAS
call F:\apache-tomcat-7.0.16\bin\startup.bat
echo 'update sql ok'
===========scm_auto_package.bat end==================

===========scm2_package.bat end==================
echo 'update source'
cd F:\SCM_SAAS\source
rem #rm -rf /home/admin/scm/source/*
call svn checkout https://localhost:5032/svn/xxx --username=xxxx --password=xxxx
rem #call svn update
cd F:\SCM_SAAS\source\SCM2.0\script
call ant package
cd F:\SCM_SAAS
echo 'update source ok'
===========scm2_package.bat end==================



分享到:
评论

相关推荐

    Ant 整合Jenkins自动构建

    它通过XML格式的构建文件(build.xml)来定义构建任务,如编译代码、打包、测试等。Ant的主要优点是跨平台性和灵活性,使得开发者可以定制化构建过程。 Jenkins则是一个持续集成服务器,它提供了丰富的插件支持,...

    持续集成工具Hudson入门介绍(结合Ant)

    4. **配置Ant构建脚本**:在build.xml中,你需要定义目标(targets)来执行不同的构建任务,如`clean`用于清理构建产物,`compile`用于编译源代码,`test`用于运行单元测试,`package`用于打包应用程序等。...

    maven简单实用教程

    Maven自动处理构建过程,如编译、测试、打包、文档生成等,而Ant则更注重于手动配置和脚本编写。 4. Maven的基本功能 - 构建:创建Java类、JAR、WAR或EAR文件。 - 文档生成:生成Javadoc和其他项目文档。 - 报告...

    maven 简单使用教程

    - Maven采用声明式配置,避免了Ant中的复杂脚本编写。 - Maven提供了一种标准的构建生命周期,包括清理、编译、测试、打包、集成测试、验证、部署等阶段。 - Maven通过POM自动管理项目依赖,减少了手动解决依赖...

    如何搭建CI环境,持续构建环境搭建

    4. 配置构建步骤,例如运行Ant或Maven命令进行编译、测试和打包。 5. 安装Archiva,配置Maven指向Archiva作为本地仓库。 6. 配置Tomcat自动部署策略,例如通过JMX或脚本接收并部署新构建的应用。 **8. 扩展与优化**...

    持续集成与自动化测试

    2. **构建工具(Build Tool)**:如Apache Maven和Apache Ant,它们负责根据项目配置文件编译源代码、运行单元测试和打包应用程序。 3. **持续集成服务器(CI Server)**:如CruiseControl和Continuum,它们自动化...

    hudson学习教程Hudson安装与使用,Hudson配置,Hudson插件

    - 配置项目源代码仓库(如Git、SVN)、构建触发器(定时、提交触发等)、构建脚本(如Ant、Maven)。 4. **构建与测试** - 设置构建步骤,包括编译源码、执行单元测试、打包等。 - 配置邮件通知,当构建失败时...

    jenkins 开发导读

    3. **执行构建**:在工作区中,Jenkins 运行构建脚本,完成编译任务。 4. **运行测试**:构建成功后,Jenkins 自动执行预定义的测试套件。 5. **通知与反馈**:若测试失败,Jenkins 会通过邮件、消息等方式通知相关...

    hudson+sonar自动部署配置

    - 在 Ant 构建脚本 `build.xml` 中,定义各种目标,如清理、编译、生成 Java 文档、运行测试和部署等。例如: ```xml &lt;!-- ... --&gt; &lt;!-- 部署逻辑 --&gt; &lt;!-- 更新部署逻辑 --&gt; &lt;!-- ... --&gt; ```...

    maven简单使用PPT

    Maven起源于Jakarta Turbine项目,为了简化多子项目的管理和依赖管理,避免重复的Ant脚本(build.xml)。Maven不仅能够构建项目,还能生成项目文档、执行测试、管理依赖并自动化项目生命周期中的各种任务。 【Maven...

    Jenkins与网站代码上线解决方案.docx

    Jenkins的主要功能包括自动化软件开发的持续集成服务,支持多种版本控制系统(如AccuRev SCM、CVS、Subversion、Git、Perforce、Clearcase和RTC),并且能够执行Apache Ant、Apache Maven项目,以及Shell脚本和...

    cruisecontrol配置定时运行

    在`cruisecontrol.xml`中,还需要定义构建过程,这包括编译、测试、打包等步骤。例如,如果你的项目是Java项目,可能需要调用Maven或Ant进行构建: ```xml &lt;trunkUrl&gt;...

    elpi:基于Apache-OFBiz Framework(bootstrap-theme)的问题跟踪软件

    1. **Ant**:一个Java项目构建工具,用于自动化构建过程,如编译、打包和测试。Elpi的构建可能依赖于Ant脚本来完成。 2. **PostgreSQL**:一种开源的关系型数据库管理系统,Elpi很可能使用它来存储和管理问题跟踪的...

Global site tag (gtag.js) - Google Analytics