ant-built

第一次用ant编写打包命令,写下纪念

<?xml version="1.0" encoding= "UTF-8" ?>
<project name="myweb_project" default="dist" basedir=".">
	
	<!--
		该项目需要jdk1.5以上的编译器进行编译
	-->
	<property name="java_home" value="C:\jdk5"></property>
	
	<!-- 定义项目变量 -->
	<property name="project" value="myweb"></property>
	<property name="project_root" value="."/>
	<property name="project_src" value="${project_root}\src"/>
	<property name="project_webcontent_name" value="WebContent"/>
	
	<!-- 定义项目依赖的各个包的路径变量-->
	<property name="project_lib" value="${project_root}\${project_webcontent_name}\WEB-INF\lib"/>
	<property name="jboss_home" value="E:\jboss"/>
	<property name="jboss_lib" value="${jboss_home}\lib"/>
	<property name="jboss_client_lib" value="${jboss_home}\client"/>
	
	<!-- 定义打包输出路径 -->
	<property name="duilt_dir" value="E:\autoBiult"/>
	<property name="dest" value="${duilt_dir}\myweb_dest"/>
	<property name="classes" value="${dest}/WEB-INF/classes"/>
	
	<!-- 定义打包的后缀 -->
	<property name="suffix" value="war"/>
    
    <!-- 定义发布路径 -->
	<property name="deploy_path" value="${jboss_home}\server\default\deploy"/>
	

	<!-- 设置项目的类路径:将各个依赖包包含进来 -->
	<path id="myweb.project.class.path">
		<fileset dir="${project_lib}">
			<include name="**/*.jar"/>
		</fileset>
		<fileset dir="${jboss_lib}">
			<include name="**/*.jar"/>
		</fileset>
		<fileset dir="${jboss_client_lib}">
			<include name="**/*.jar"/>
		</fileset>
	</path>
	
	<!-- 判断源码是否存在 -->
	<condition property="project_src_exist">
		<and>
			<available file="${project_src}" type="dir"/>
		</and>
	</condition>
	
	<!-- 判断打包路径是否存在 -->
	<condition property="dest_exist">
		<and>
			<available file="${dest}" type="dir"/>
		</and>
	</condition>
	
	<!-- 判断webContent是否存在 -->
	<condition property="webcontent_exist">
		<and>
			<available file="${project_root}\${project_webcontent_name}" type="dir"/>
		</and>
	</condition>
	
	<!-- 判断发布目录是否存在 -->
	<condition property="deployFolderIsExist">
		<and>
			<available file="${deploy_path}\${project}.${suffix}" type="file"/>
		</and> 
	</condition>

	<target name="test_src" unless="project_src_exist">
		<echo message="the folder src was not exist!"/>
		<echo message="generate the fold! ${project_src}"/>
		<mkdir dir="${project_src}" />
	</target>
	
	<target name="test_webcontent_exist" unless="webcontent_exist">
		<echo message="the folder WebContent was not exist!"/>
		<echo message="generate the fold! ${project_root}\${project_webcontent_name}"/>
		<mkdir dir="${project_root}\${project_webcontent_name}" />
	</target>

	<!-- 编译前的准备 -->
	<target name="complile_prepare" depends="test_src,test_webcontent_exist">
		<echo message="compile prepare"/>
		<echo message="make dir ${classes}"/>
		<mkdir dir="${classes}"/>
	</target>

	<!-- 开始编译 -->
	<target name="compile" depends="complile_prepare">
		<echo message="compile source file in the src dir"/>
		<echo message="compile java home : ${java_home}"/>
		<javac encoding="UTF-8" srcdir="${project_src}" destdir="${classes}" debug="on"
			executable="${java_home}/bin/javac.exe" fork="yes" memoryInitialSize="128m" memoryMaximumSize="512m">
			<classpath>
				<path refid="myweb.project.class.path"/>
			</classpath>
		</javac>
	</target>

	<!-- 拷贝webContent里面的内容 -->
	<target name="copy_webcontent" depends="compile">
		<echo message="copy webcontent to ${dest}"/>
		<copy todir="${dest}">
			<fileset dir="${project_root}\${project_webcontent_name}">
				<exclude name="**/*.java"/>
			</fileset>
		</copy>
	</target>
   
	<!-- 拷贝classes下的内容-->
	<target name="copy_classes" depends="compile">
		<echo message="copy classes to ${classes}"/>
		<copy todir="${classes}">
			<fileset dir="${project_src}">
				<exclude name="**/*.java"/>
			</fileset>
		</copy>
	</target>

	<!--发布-->
	<target name="deploy" depends="copy_webcontent,copy_classes">
		<echo message="================deploy to ${deploy_path}\${project}.${suffix}===============">
		</echo>
		<copy todir="${deploy_path}\${project}.${suffix}">
			<fileset dir="${dest}">
				<include name="**"/>
				<exclude name="**/*Test.class"/>
			</fileset>
		</copy>
		<echo message="deploy success"/>
	</target>
	
	<!-- 打包 -->
	<target name="dist" depends="copy_webcontent,copy_classes" description="package project">
		<echo message="=========jar to ${duilt_dir}\${project}.${suffix}==========="/>
		<jar destfile="${duilt_dir}\${project}.${suffix}" basedir="${dest}" includes="**" excludes="**/*Test.class"/>
		<echo message="=========jar success==========="/>
	</target>

	<!-- 清理 -->
	<target name="clean_dest" description="clean project">
		<echo message="=========clean ${dest}==========="/>
		<delete dir="${dest}"/>
		<delete file="${duilt_dir}\${project}.${suffix}"/>
	</target>

	<!-- 清理发布文件 -->
	<target name="clean_deploy" description="clean deploy">
		<echo message="=========clean ${deploy_path}\${project}.${suffix}==========="/>
		<delete dir="${deploy_path}\${project}.${suffix}"/>
	</target>

	
</project>
 

猜你喜欢

转载自shuidexiongdi.iteye.com/blog/1481922
ANT
今日推荐