`
garyli
  • 浏览: 173109 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Ant 获取svn工程并编译

    博客分类:
  • java
阅读更多
<?xml version="1.0" encoding="UTF-8"?>
<!-- ====================================================================== 
     2008-8-4 下午05:39:58                                                        

     test-hibernate3    
     description
                   
     user                                                                
     ====================================================================== -->
<project name="test-hibernate3" default="usage">
	<description>
            description
    </description>


	<property name="project.name" value="test-hibernate3" />
	<property name="war.name" value="HBDemo" />
	<property name="project.author" value="ShenLi" />
	<property name="project.version" value="1.0" />

	<!--
    	      系统目录定义
    	    -->
	<property file="build.properties" />

	<property name="release.dir" value="./release" />
	<property name="web.dir" value="./src_latest/WebContent" />
	<property name="src.dir" value="./src_latest/src/main/" />
	<property name="resources.dir" value="./src_latest/src/resource/" />
	<property name="lib.dir" value="${web.dir}/WEB-INF/lib" />
	<property name="servlet.lib.dir" value="${catalina.dir}/lib" />
	<property name="build.dir" value="${web.dir}/WEB-INF/classes" />
	<property name="server.deploy" value="${catalina.dir}/webapps" />


	<property name="test.dir" value="./test/" />
	<property name="test.resources" value="${test.dir}/resources/" />
	<property name="unit_test.src" value="${test.dir}/unit/" />
	<property name="functional_test.src" value="${test.dir}/functional/" />
	<property name="test.lib.dir" value="${test.dir}/lib" />
	<property name="target.dir" value="./target" />
	<property name="test.build" value="${target.dir}/test/classes" />
	<property name="functional_test.build" value="${target.dir}/test/fun_classes" />
	<property name="test.data" value="${target.dir}/test/unit_data" />
	<property name="functional_test.data" value="${target.dir}/test/functional_data" />
	<property name="test.report" value="${target.dir}/test/unit_reports" />
	<property name="functional_test.report" value="${target.dir}/test/functional_reports" />
	<property name="junit.lib.dir" value="D:\\eclipse\\plugins\\org.junit4_4.3.1" />

	
	<path id="svnant.classpath">
	    <fileset dir="${svnant.lib.dir}">
	      <include name="**/*.jar"/>
	    </fileset>
	  </path>  
	  
	  <!-- load the svn task -->
	  <typedef resource="org/tigris/subversion/svnant/svnantlib.xml" classpathref="svnant.classpath" />
	  
	  <target name="clean">
	    <delete dir="src_latest"/>
	    <delete dir="src_${svnant.version}"/>  
	  	<delete dir="${build.dir}" />
	  	<delete dir="${release.dir}" />
	  	<delete dir="${target.dir}" />
	  </target>

	  <target name="checkoutLatest">
	    <svn username="${svnant.repository.user}" password="${svnant.repository.passwd}">
	      <checkout url="${svnant.latest.url}" revision="HEAD" destPath="src_latest" />
	    </svn>
	  </target>
	
	
	<tstamp>
		<format property="datestamp" pattern="yyyy-MM-dd" />
	</tstamp>

	<!-- 	定义Class Path 	-->
	<path id="compile.classpath">
		<pathelement path="${jsdk_jar}" />
		<fileset dir="${lib.dir}">
			<include name="**/*.jar" />
		</fileset>
		<fileset dir="${servlet.lib.dir}">
			<include name="**/*.jar" />
		</fileset>
	</path>

	<path id="test.classpath">
		<path refid="compile.classpath" />
		<path location="${build.dir}" />
		<fileset dir="${junit.lib.dir}">
			<include name="**/*.jar" />
		</fileset>
		<fileset dir="${test.lib.dir}">
			<include name="**/*.jar" />
		</fileset>
	</path>

	<!-- 	编译选项 	-->
	<property name="compiler.args" value="-encoding UTF-8" />

	<patternset id="compiler.resources">
		<include name="**/?*.properties" />
		<include name="**/?*.script" />
		<include name="**/?*.groovy" />
		<include name="**/?*.drl" />
		<include name="**/?*.ftl" />
		<include name="**/?*.dsl" />
		<include name="**/?*.xml" />
		<include name="**/?*.html" />
		<include name="**/?*.dtd" />
		<include name="**/?*.tld" />
		<include name="**/?*.gif" />
		<include name="**/?*.png" />
		<include name="**/?*.jpeg" />
		<include name="**/?*.jpg" />
		<include name="**/?*.xsd" />
		<include name="**/?*.schemas" />
	</patternset>


	<!--  	初始化目录    -->
	<target name="init" depends="checkoutLatest">
		<mkdir dir="${build.dir}" />
		<mkdir dir="${release.dir}" />

		<!--<mkdir dir="${target.dir}" />
		<mkdir dir="${test.build}" />
		<mkdir dir="${functional_test.build}" />
		<mkdir dir="${test.data}" />
		<mkdir dir="${functional_test.data}" />
		<mkdir dir="${test.report}" />
		<mkdir dir="${functional_test.report}" />-->
	</target>

	<!--
	      编译Java文件并复制资源文件
	       -->
	<target name="compile.java" depends="init" description="编译Java文件并复制资源文件">


		<!--编译i-TEST Manager Java 文件-->
		<javac destdir="${build.dir}" fork="true" debug="true">
			<compilerarg line="${compiler.args}" />
			<classpath refid="compile.classpath" />
			<src path="${src.dir}" />
		</javac>

		<!--复制i-TEST Manager的资源文件到classes-->
		<copy todir="${build.dir}">
			<fileset dir="${src.dir}">
				<patternset refid="compiler.resources" />
			</fileset>
			<fileset dir="${resources.dir}">
				<patternset refid="compiler.resources" />
			</fileset>
		</copy>
	</target>
	
	<!--
	      生成war文件
	-->
	<target name="war" depends="compile.java" description="生成war文件">
		<property name="release.warfile" value="${release.dir}/${war.name}.war" />

		<!--复制到一个新的文件夹创建War-->
		<property name="temp.dir" value="${release.dir}/deploy" />

		<delete file="${release.warfile}" />

		<mkdir dir="${temp.dir}" />

		<copy todir="${temp.dir}">
			<fileset dir="${web.dir}" />
		</copy>

		<delete dir="${temp.dir}/WEB-INF/classes" />
		<mkdir dir="${temp.dir}/WEB-INF/classes" />
		<copy todir="${temp.dir}/WEB-INF/classes">
			<fileset dir="${web.dir}/WEB-INF/classes" />
		</copy>

		<war destfile="${release.warfile}" webxml="${temp.dir}/WEB-INF/web.xml" basedir="${temp.dir}" excludes="**/web.xml">
			<manifest>
				<attribute name="Author" value="${project.author}" />
				<section name="Shared">
					<attribute name="Vendor" value="${project.author}" />
					<attribute name="Version" value="${project.version}" />
					<attribute name="Date" value="${datestamp}" />
				</section>

				<section name="Copyright">
					<attribute name="Copy" value="(C) ${project.author} 2007" />
				</section>
			</manifest>
		</war>
		<delete dir="${temp.dir}" />
	</target>


	<!--
	   部署项目 到servers中的Tomcat
	    -->
	<target name="deploy" depends="fun.test.deploy" description="Deploy Project to serverr">
		<antcall target="tomcat.start" />
		<echo message="请访问http://${tomcat.server}:${tomcat.port}/${war.name}" />
	</target>

	<target name="fun.test.deploy" depends="war" description="功能测试发布,不启动Tomcat">
		<antcall target="tomcat.stop" />
		<delete dir="${server.deploy}/${war.name}" />
		<delete file="${server.deploy}/${war.name}.war" />
		<copy todir="${server.deploy}" file="${release.dir}/${war.name}.war" />
	</target>


	<!--
		 显示可选任务,并接受用户的选择
	-->
	<target name="usage">
		<echo message="${project.name} ${project.version}" />
		<echo message="------------------------------------------------------" />
		<echo message="" />
		<echo message="可选Target:" />
		<echo message="" />
		<echo message="deploy           --&gt; Deploy Project to server" />
		<echo message="compile          --&gt; 编译Java文件并复制资源文件" />
		<echo message="war              --&gt; 生成war文件" />
		<echo message="clean            --&gt; 清除环境" />
		<echo message="" />
		<input message="请选择一个Target" validargs="deploy,compile,war,clean" addproperty="ant.task" />
		<antcall target="${ant.task}" />
	</target>

</project>


对应的properties文件如下
JAVA_HOME=C:/Program Files/Java/jdk1.6.0
catalina.dir=C:/Program Files/Apache Software Foundation/Tomcat 6.0
tomcat.server=localhost
tomcat.port=8080

svnant.version=1.1.0-RC2

# -----------------------------------------------------------------------------
# all jar needed
# -----------------------------------------------------------------------------
svnant.lib.dir=D:/apache-ant-1.7.0/svnant-1.1.0-RC2/lib

svnant.latest.url=http://192.168.0.17:8060/svn/demo_projects/trunk/HibernateDemo
svnant.this.url=http://subclipse.tigris.org/svn/subclipse/tags/svnant/${svnant.version}/

svnant.repository.user=shenli
svnant.repository.passwd=garyli
分享到:
评论

相关推荐

    ant获取SVN版本信息的jar包xmltask以及安装,使用方法

    ant获取SVN版本信息的jar包xmltask以及安装,使用方法 包含jar包以及在ant的编译脚本XML所需加入的节点信息,供大家参考!

    SVN+ant 服务器代码打包编译流程详解,内含详细安装以及操作说明

    SVN+ant 服务器代码打包编译流程详解,内含详细安装以及操作说明build.xml+build.properties详解,可以直接修改路径后打包编译SVN代码。

    基于jenkins整合ant和svn的持续集成环境

    通过jenkins和ant以及svn进行整合,可以完成对系统的源代码的自动下载更新,以及代码的自动编译打包和项目的自动部署(项目的自动构建部署)。而且项目的自动构建部署和平台无关,不限定时间,可以定时操作,将开发...

    基于Jenkins的自动化部署

    Jenkins是一个开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能,通过Jenkins和Ant以及SVN整合,可以比较容易的实现通过SVN获取源代码更新,然后应用Ant自动编译打包,然后部署到相应的...

    使用ant将SVN版本信息打包进jar包

    近几天在做一个小项目,需要使用ant编译并能够将SVN版本信息打包进所编译出的jar包,为此查了很多资料,总结如下: 1.运行环境需要安装ant并配置好环境变量(此点很重要,Eclipse自带的ant某些功能会受限报错) 2....

    CruiseControl + ANT +SVN

    可以完成代码的自动编译,打包。这些是我在网上搜集到的资料,我用了其中一种方法。其他的不知道行不行。有待考察。希望对你有所帮助

    ant一键构建工具

    使用Ant从svn更新项目、编译、打包,一键完成。

    通过脚本,编译打包android工程

    通过ant脚本,编译打包android工程, 编译打包android工程的ant脚本。

    将CVS库转换为SVN库

    包含将CVS库转换为SVN库的方法、转换后svn的配置及....

    ant自动化发布脚本

    利用ant,自动化发布工程。具体过程包括:备份之前发布的工程,从svn checkout工程,编译工程,打包工程,关闭web服务器,删除已发布在web服务器的工程,复制打包的工程到web服务器,解压工程,启动web服务器。

    使用jenkins直接将svn代码部署到tomcat

    通过jenkins和ant以及svn进行整合,可以完成对系统的源代码的自动下载更新,以及代码的自动编译打包和项目的自动部署(项目的自动构建部署)

    服务器 使用脚本打包编译java项目

    服务器 使用脚本打包编译java项目 包含了使用svn下载代码,ant编译打包,发布 等所有的过程

    SVN分支与合并【超详细的图文教程】

    分支经常被用来试验新的特性,而不会对开发有编译错误的干扰。当新的特性足够稳定之后,开发品的分支就可以混合回主分支里(主干线)。 合并:分支用来维护独立的开发支线,在一些阶段,你可能需要将分支上的修改合并...

    ant xml 打包

    ant对工程打包 ${basedir}\src"/&gt; ${env.JBOSS_HOME}"/&gt; ${basedir}\build"/&gt;

    使用SVN+CruiseControl+ANT实现持续集成

    经历这样痛苦的一段时间,终于忍受不了,通过命令行实现了包括获取、编译、发布过程的集成,大大减轻版本编译的时间,此时还能见到团队成员一边编译程序一边聊天轻松的笑脸,这就坚定了自己持续集成的做法,不过可笑...

    eclipse ant编译时需要的几个jar包

    拷贝下面这些jar包到ant_home/lib org.eclipse.jdt.compiler.tool_1.1.0.v20150513-2007 org.eclipse.jdt.core_3.11.0.v20150602-1242 org.eclipse.jdt.debug.ui_3.7.0.v20150505-1916 jdtCompilerAdapter.jar

    linux平台编译hadoop所需软件和详细步骤

    资源中包含linux平台编译Hadoop源码的所有软件和详细步骤: 1、下载安装各种软件库 yum -y install svn ncurses-devel gcc* yum -y install lzo-devel zlib-devel autoconf automake libtool cmake openssl-devel 2...

    svnant.jar,svnClientAdapter.jar,svnjavahl.jar,javasvn.jar,ganymed.jar

    包括文件:svnant.jar,svnClientAdapter.jar,svnjavahl.jar,javasvn.jar,ganymed.jar 是使用ANT工具自动导出,编译,部署SVN服务器上的JAVA 程序的必须包

Global site tag (gtag.js) - Google Analytics