Files
xinhai_wms/build_war.xml
2026-08-05 19:05:10 +08:00

241 lines
13 KiB
XML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="UTF-8"?>
<project name="xinhai_wms_build" default="打包war" basedir=".">
<description>WMS/WCS 完整构建: 清理→编译→发布→打包war</description>
<property file="${basedir}/xinhai_wms.properties"/>
<property name="java.home" value="${jdk.home.1.8}/jre"/>
<property name="jdk.bin" value="${jdk.home.1.8}/bin"/>
<property name="src.dir" value="${basedir}/src"/>
<property name="lib.dir" value="${basedir}/lib"/>
<property name="classes.dir" value="${basedir}/classes"/>
<property name="deploy.dir" value="${basedir}/deploy"/>
<property name="webapps.dir" value="${basedir}/tomcat/webapps"/>
<property name="temp.dir" value="${deploy.dir}/temp"/>
<property name="wms.webroot" value="${webapps.dir}/wms"/>
<property name="wms.classes" value="${wms.webroot}/WEB-INF/classes"/>
<property name="wms.lib" value="${wms.webroot}/WEB-INF/lib"/>
<property name="wcs.webroot" value="${webapps.dir}/wcs"/>
<property name="wcs.classes" value="${wcs.webroot}/WEB-INF/classes"/>
<property name="wcs.lib" value="${wcs.webroot}/WEB-INF/lib"/>
<property name="compile.encoding" value="GBK"/>
<path id="compile.cp">
<fileset dir="${lib.dir}">
<include name="*.jar"/><include name="*.zip"/>
</fileset>
</path>
<!-- ===== 清理 ===== -->
<target name="清理">
<delete dir="${classes.dir}"/><mkdir dir="${classes.dir}"/>
<delete dir="${wms.classes}"/><delete dir="${wms.lib}"/>
<delete dir="${wcs.classes}"/><delete dir="${wcs.lib}"/>
<delete file="${deploy.dir}/wms.war"/><delete file="${deploy.dir}/wcs.war"/>
<delete dir="${temp.dir}"/><mkdir dir="${temp.dir}"/>
<echo message="清理完成"/>
</target>
<!-- ===== 编译 ===== -->
<target name="编译" depends="清理">
<mkdir dir="${classes.dir}"/>
<javac srcdir="${src.dir}" destdir="${classes.dir}" encoding="${compile.encoding}"
source="8" target="8" debug="on"
includeantruntime="false" failonerror="false" nowarn="on">
<classpath refid="compile.cp"/>
<exclude name="**/*.psd"/><exclude name="**/*.scc"/>
</javac>
<copy todir="${classes.dir}" preservelastmodified="true">
<fileset dir="${src.dir}">
<exclude name="**/*.java"/><exclude name="**/*.form"/>
<exclude name="**/*.scc"/><exclude name="**/*.psd"/>
</fileset>
</copy>
<echo message="编译完成"/>
</target>
<!-- ===== 发布 wms 服务 ===== -->
<target name="发布wms服务" depends="编译">
<mkdir dir="${wms.classes}"/><mkdir dir="${wms.lib}"/>
<copy todir="${wms.classes}" preservelastmodified="true">
<fileset dir="${classes.dir}"
excludes="*,resource/**,images/**,**/wcs/**,**/client/**,**/gui/**
,**/util/Object*,**/util/Client*,**/util/Too*,**/util/Form*
,**/wms/App*,**/wms/Ent*,**/wms/Tre*"/>
</copy>
<copy todir="${wms.classes}" preservelastmodified="true">
<zipfileset src="${lib.dir}/wmcs.zip"
includes="**/stock/Instruction.class,com/zcsoft/client/*,**/util/*
,**/stock/InstNoGenerator.class,com/zcsoft/comm/MessageHandler.class,com/zcsoft/comm/InvalidMessageException.class"
excludes="META-INF/MANIFEST.MF"/>
</copy>
<copy todir="${wms.lib}" preservelastmodified="true">
<fileset dir="${lib.dir}">
<include name="*.jar"/><include name="*.zip"/><include name="*.dll"/>
</fileset>
</copy>
<!-- 复制 GBK 编码的模板文件到 webroot直接从 deploy 模板目录,和 wms_old 一致) -->
<copy file="${deploy.dir}/index.jnlp" tofile="${wms.webroot}/index.jnlp" overwrite="true"/>
<copy file="${deploy.dir}/index.jsp" tofile="${wms.webroot}/index.jsp" overwrite="true"/>
<copy file="${deploy.dir}/wms_version.xml" tofile="${wms.webroot}/version.xml" overwrite="true"/>
<!-- 同步 css 和 script -->
<copy todir="${wms.webroot}" overwrite="true" failonerror="false">
<fileset dir="${deploy.dir}/">
<include name="css/**"/><include name="script/**"/>
</fileset>
</copy>
<!-- web.xml -->
<copy file="${deploy.dir}/wms_web.xml" tofile="${wms.webroot}/WEB-INF/web.xml" overwrite="true"/>
<echo message="wms 发布完成"/>
</target>
<!-- ===== 发布 wcs 服务 ===== -->
<target name="发布wcs服务" depends="编译">
<mkdir dir="${wcs.classes}"/><mkdir dir="${wcs.lib}"/>
<copy todir="${wcs.classes}" preservelastmodified="true">
<fileset dir="${classes.dir}"
excludes="*,resource/**,images/**,**/wms/**,**/wcs/client/**,**/wcs/*,com/zcsoft/**"/>
</copy>
<copy todir="${wcs.classes}" preservelastmodified="true">
<zipfileset src="${lib.dir}/wmcs.zip"
includes="**/stock/*,**/client/*,**/xml/*,**/util/*,**/comm/**
,com/wxzd/mcs/server/*,com/wxzd/mcs/data/*"
excludes="META-INF/MANIFEST.MF,**/stock/*Maker*,**/stock/StockMain*
,**/stock/*Pane*,**/stock/*Painter*,**/stock/*Icon*
,**/stock/FinishListener.class,*.fig,*.log,com/wxzd/mcs/client/*"/>
</copy>
<copy todir="${wcs.lib}" preservelastmodified="true">
<fileset dir="${lib.dir}">
<include name="*.jar"/><include name="*.zip"/><include name="*.dll"/>
</fileset>
</copy>
<echo message="wcs 发布完成"/>
</target>
<!-- ===== 构建 wms.jar客户端 Applet JAR ===== -->
<target name="build.wms.jar" depends="编译">
<mkdir dir="${temp.dir}"/>
<delete file="${temp.dir}/wms.jar" quiet="true"/>
<zip zipfile="${temp.dir}/wms.jar" compress="false" duplicate="preserve" basedir="${classes.dir}"
encoding="UTF-8"
excludes="*.applet,*.html,**/server/**, package*/**, com/zcsoft/**
, **/wcs/**, images/**, jsp*/**, Generated*/**
, **/base/client/Gys*.class
, **/base/client/Kh*.class
, **/base/client/Phxx*.class
, **/bbgl/client/CpSfcbb*.class
, **/bbgl/client/CpXsckFhtj*.class
, **/bbgl/client/Cw*.class
, **/bbgl/client/Djjq*.class
, **/bbgl/client/Jgfx*.class
, **/bbgl/client/Mxfx*.class
, **/jkgl/client/J**">
<zipfileset src="${lib.dir}/ASclientLib.jar" excludes="META-INF/MANIFEST.MF"/>
<zipfileset src="${lib.dir}/fastjson-1.2.41.jar" excludes="META-INF/MANIFEST.MF,META-INF/LICENSE.txt"/>
<zipfileset src="${lib.dir}/dom4j-1.6.1.jar" excludes="META-INF/MANIFEST.MF,META-INF/LICENSE.txt"/>
<zipfileset src="${lib.dir}/commons-httpclient-3.1.jar" excludes="META-INF/MANIFEST.MF,META-INF/LICENSE.txt,META-INF/NOTICE.txt"/>
<zipfileset src="${lib.dir}/commons-codec-1.10.jar" excludes="META-INF/MANIFEST.MF,META-INF/LICENSE.txt,META-INF/NOTICE.txt"/>
<zipfileset src="${lib.dir}/data.jar" excludes="META-INF/MANIFEST.MF"/>
<zipfileset src="${lib.dir}/jxl.jar" excludes="META-INF/MANIFEST.MF"/>
<zipfileset src="${lib.dir}/wmcs.zip" excludes="META-INF/MANIFEST.MF" includes="**/client/RemoteAccesser.class"/>
<zipfileset src="${lib.dir}/im.jar" excludes="META-INF/MANIFEST.MF,images/leftArrow.gif,images/rightArrow.gif"/>
<zipfileset src="${lib.dir}/wmcs.zip"
includes="**/stock/Instruction.class,**/stock/StockMaintain.class,**/stock/CellNoPane*
,**/stock/Device.class,**/stock/Chain.class
,com/zcsoft/scanner/**,com/zcsoft/comm/InvalidMessageException.class"/>
</zip>
</target>
<!-- ===== 构建 wcs.jar ===== -->
<target name="build.wcs.jar" depends="编译">
<mkdir dir="${temp.dir}"/>
<delete file="${temp.dir}/wcs.jar" quiet="true"/>
<zip zipfile="${temp.dir}/wcs.jar" compress="false" duplicate="preserve" basedir="${classes.dir}"
encoding="UTF-8"
excludes="*.applet,*.html, images/*_fm.gif, **/server/**, package*/**, com/zcsoft/**, **/wms/**, Login*.class, resource/**, jsp*/**, Generated*/**">
<zipfileset src="${lib.dir}/ASclientLib.jar" excludes="META-INF/MANIFEST.MF,resource/Ticket*.class,resource/Report*.class,
**/tools/*/client/**,**/picture/**,**/design/**"/>
<zipfileset src="${lib.dir}/data.jar" excludes="META-INF/MANIFEST.MF,**/tm/**,**/dbvisit/Case*,**/dbvisit/LV*,**/design/**"/>
<zipfileset src="${lib.dir}/im.jar" excludes="META-INF/MANIFEST.MF,images/*Arrow.gif,images/align*.gif,
images/adjust*.gif,images/*Folder.gif,images/loading.gif,
images/finish.gif,images/saveasfile.gif,images/preview.gif,
images/copy.gif,images/paste.gif,images/newfile.gif,
images/arrow.gif,images/print.gif,images/label.gif,
images/modify.gif,images/refresh.gif,images/query.gif,
images/label.gif,images/savefile.gif,images/openfile.gif"/>
<zipfileset src="${lib.dir}/wmcs.zip" excludes="META-INF/MANIFEST.MF"
includes="com/zcsoft/image/*,com/zcsoft/stock/*,com/zcsoft/xml/E*
,com/zcsoft/xml/A*,com/wxzd/mcs/client/*,com/wxzd/mcs/data/*,**/client/RemoteAccesser.class"/>
</zip>
</target>
<!-- ===== 生成keystore不存在时自动创建 ===== -->
<target name="生成keystore">
<condition property="keystore.missing">
<not><available file="${basedir}/wxzd.keystore"/></not>
</condition>
<antcall target="do-genkey"/>
</target>
<target name="do-genkey" if="keystore.missing">
<echo message="keystore 不存在,自动生成 ..."/>
<exec executable="${jdk.bin}/keytool" failonerror="false">
<arg value="-genkeypair"/>
<arg value="-alias"/><arg value="wxzd"/>
<arg value="-keystore"/><arg value="${basedir}/wxzd.keystore"/>
<arg value="-storepass"/><arg value="${app.sp}"/>
<arg value="-keypass"/><arg value="${app.kp}"/>
<arg value="-validity"/><arg value="3660"/>
<arg value="-dname"/><arg value="CN=WXZD"/>
<arg value="-keyalg"/><arg value="RSA"/>
<arg value="-keysize"/><arg value="2048"/>
<arg value="-noprompt"/>
</exec>
<echo message="keystore 生成完成"/>
</target>
<!-- ===== 完整打包 ===== -->
<target name="打包war" depends="发布wms服务,发布wcs服务,build.wms.jar,build.wcs.jar,生成keystore">
<!-- 签名客户端 JARJNLP 有 all-permissions必须签名 -->
<delete file="${wms.webroot}/WMS.jar" quiet="true"/>
<delete file="${wcs.webroot}/WCS.jar" quiet="true"/>
<signjar jar="${temp.dir}/wms.jar" signedjar="${wms.webroot}/WMS.jar"
keystore="${basedir}/wxzd.keystore" storepass="${app.sp}" keypass="${app.kp}" alias="wxzd"/>
<signjar jar="${temp.dir}/wcs.jar" signedjar="${wcs.webroot}/WCS.jar"
keystore="${basedir}/wxzd.keystore" storepass="${app.sp}" keypass="${app.kp}" alias="wxzd"/>
<!-- 清理旧 WAR 和 pack.gz 残留 -->
<delete file="${deploy.dir}/wms.war" quiet="true"/>
<delete file="${deploy.dir}/wcs.war" quiet="true"/>
<delete file="${wms.webroot}/WMS.jar.pack.gz" quiet="true"/>
<delete file="${wcs.webroot}/WCS.jar.pack.gz" quiet="true"/>
<!-- WAR直接用 jar 不压缩 -->
<jar destfile="${deploy.dir}/wms.war" basedir="${wms.webroot}"
excludes="**/web.xml **/db.properties"
compress="false" duplicate="preserve" filesonly="false"/>
<!-- 注入 web.xml -->
<jar destfile="${deploy.dir}/wms.war" update="true"
compress="false" duplicate="preserve" filesonly="false">
<zipfileset file="${deploy.dir}/wms_web.xml" fullpath="WEB-INF/web.xml"/>
</jar>
<jar destfile="${deploy.dir}/wcs.war" basedir="${wcs.webroot}"
excludes="**/web.xml,*.log,*.fig"
compress="false" duplicate="preserve" filesonly="false"/>
<jar destfile="${deploy.dir}/wcs.war" update="true"
compress="false" duplicate="preserve" filesonly="false">
<zipfileset file="${deploy.dir}/wcs_web.xml" fullpath="WEB-INF/web.xml"/>
</jar>
<echo message="========================================="/>
<echo message="打包完成"/>
<echo message="wms.war -> ${deploy.dir}/wms.war"/>
<echo message="wcs.war -> ${deploy.dir}/wcs.war"/>
<echo message="========================================="/>
</target>
</project>