浏览 3437 次
锁定老帖子 主题:web service build.xml
该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2007-03-30
最后修改:2008-12-15
<property environment="env" value="dummy"/> <!-- Tomcat home directory --> <property name="tomcat.home" value="${env.TOMCAT_HOME}"/> <!-- WAR home directory --> <property name="war.home" value="${basedir}/../build" /> <!-- Tomcat home directory --> <property name="tomcat.service" value="Apache Tomcat 4.1"/> <property name="webapp.locale" value="en_US"/> <property name="webapp.temp.resources" value="../temp/resources"/> <property name="webapp.temp.classes" value="../temp/classes"/> <property name="webapp.temp.lib" value="../temp/lib"/> <property name="webapp.temp.wsapi" value="../temp/wsapi"/> <property name="webapp.temp.services" value="../temp/services"/> <property name="webapp.temp.war" value="../temp"/> <tstamp> <format property="timestamp" pattern="yyyyMMdd" locale="en"/> </tstamp> <!-- ParaDM web context name --> <property name="webapp.name" value="ParaDM"/> <!-- ParaDM version number --> <property name="webapp.version" value="3.1.8"/> <!-- Source file location --> <property name="java.src" value="${basedir}"/> <!-- Web file location --> <property name="webapp.src" value="${basedir}/../web"/> <!-- Applicaton library location --> <property name="webapp.lib" value="${webapp.src}/WEB-INF/lib"/> <!-- Build result location --> <property name="build.dir" value="${webapp.src}/WEB-INF/"/> <!-- JavaDoc location --> <property name="build.javadoc.dir" value="${basedir}/../doc/java"/> <property name="build.tlddoc.dir" value="${basedir}/../doc/tld"/> <property name="build.jsdoc.dir" value="${basedir}/../doc/js"/> <property name="build.jsdoc.pl" value="D:/Projects/JSDoc-1.9.9.2/jsdoc.pl"/> <!-- Database Administrator login--> <property name="database.dba.login" value="root"/> <!-- Database Administrator password--> <property name="database.dba.password" value=""/> <!-- Database ParaDM user login name --> <property name="database.user.login" value="paradm"/> <!-- Database ParaDM user password--> <property name="database.user.password" value="paradm"/> <!-- Database Location --> <property name="database.location" value="localhost"/> <!-- Database instance name --> <property name="database.sid" value="ParaDM"/> <!-- Directories to store the Web Service generated files --> <property name="wsapi.dir" value="${webapp.temp.wsapi}"/> <property name="wsapi.classes" value="${wsapi.dir}/build/classes"/> <property name="wsapi.lib" value="${wsapi.dir}/build/lib"/> <condition property="paradm.home.file" value="D:/ParaDM/file"> <os family="windows"/> </condition> <condition property="paradm.home.file" value="/usr/local/bin/ParaDM/file"> <os family="unix"/> </condition> <!-- Set classpath --> <path id="build.classpath"> <fileset dir="../lib"> <include name="**/*.jar"/> </fileset> <fileset dir="${webapp.lib}"> <include name="**/*.jar"/> </fileset> <fileset dir="${tomcat.home}"> <include name="**/servlet.jar"/> <include name="**/mail.jar"/> <include name="**/activation.jar"/> </fileset> </path> <taskdef name="foreach" classname="net.sf.antcontrib.logic.ForEach" classpath="../lib/ant-contrib-1.0b3.jar"/> <taskdef name="if" classname="net.sf.antcontrib.logic.IfTask" classpath="../lib/ant-contrib-1.0b3.jar"/> <!-- Command for compile source and resources files [DEFAULT] --> <target name="compile"> <echo>Build Begin ... ${basedir}</echo> <antcall target="compile_src"/> <antcall target="compile_res"/> <antcall target="copy_class"/> <antcall target="copy_properties"/> <antcall target="copy_others"/> </target> <!-- Command for compile java files --> <target name="compile_src"> <!-- ========================================================================= --> <!-- Compile the Axis2/XMLBeans generated classes into JAR file (paradm-ws-api.jar) --> <!-- ========================================================================= --> <antcall target="wsapi"/> <copy todir="${webapp.temp.classes}"> <fileset dir="${java.src}"> <include name="*.properties"/> <exclude name="generate.properties"/> </fileset> </copy> <javac srcdir="${java.src}" destdir="${webapp.temp.classes}" debug="on" memoryInitialSize="128m" memoryMaximumSize="256m" fork="true"> <classpath refid="build.classpath"/> <classpath location="${wsapi.lib}/paradm-ws-api.jar"/> <exclude name="com/dcivision/customize/**"/> </javac> <!-- ========================================================================= --> <!-- Compile and package different web services (WS-ParaDM.aar, WS-ParaDOC.aar, etc) --> <!-- ========================================================================= --> <antcall target="wsaar"/> </target> <!-- Command for compile resources files --> <target name="compile_res" depends="res.chkUpToDate" unless="res.notRequired"> <mkdir dir="${webapp.temp.resources}"/> <copy overwrite="true" todir="${webapp.temp.resources}"> <fileset dir="${java.src}"> <include name="**/*Resource*.properties"/> </fileset> </copy> <copy overwrite="true" file="${webapp.temp.resources}/com/dcivision/resource/ApplicationResources.properties" tofile="${webapp.temp.resources}/com/dcivision/resource/ApplicationResources_${webapp.locale}.properties"/> <copy overwrite="true" file="${webapp.temp.resources}/com/dcivision/resource/CustomizedResources.properties" tofile="${webapp.temp.resources}/com/dcivision/resource/CustomizedResources_${webapp.locale}.properties"/> <native2ascii encoding="utf-8" src="${webapp.temp.resources}" dest="${build.dir}/classes" includes="**/*Resource*.properties" /> </target> <target name="res.chkUpToDate"> <echo message="Checking resources bundles for update"/> <uptodate property="res.notRequired"> <srcfiles dir="${java.src}" includes="**/*Resource*.properties"/> <mapper type="glob" from="*.properties" to="${webapp.temp.resources}/*.properties" /> </uptodate> <if> <istrue value="${res.notRequired}"/> <then><echo message="Resources bundles up to date: ${res.notRequired}"/></then> </if> </target> <target name="copy_class"> <copy todir="${build.dir}/classes"> <fileset dir="${webapp.temp.classes}"> <exclude name="**/*Resource*.properties"/> <exclude name="*.properties"/> <exclude name="com/dcivision/ws/**/**"/> </fileset> </copy> </target> <target name="copy_properties"> <copy todir="${build.dir}/classes"> <fileset dir="${webapp.temp.classes}"> <include name="*.properties"/> <exclude name="generate.properties"/> </fileset> </copy> </target> <target name="copy_others"> <copy file="${java.src}/com/dcivision/workflow/action/AutoTaskTemplate.java" todir="${build.dir}/classes/com/dcivision/workflow/action"/> </target> <!-- Build Web Application war package --> <target name="buildwar" depends="compile"> <mkdir dir="${war.home}"/> <war destfile="${war.home}/eip.war" webxml="${webapp.src}/WEB-INF/web.xml"> <fileset dir="${webapp.src}"> <exclude name="${webapp.src}/WEB-INF/web.xml"/> </fileset> </war> </target> <!-- Command for deployment --> <target name="deploy" depends="compile"> <copy todir="${tomcat}"> <fileset dir="${classes}"/> </copy> <copy todir="${jsp}"> <fileset dir="${src}/com/dcivision/dms/web/jsp"/> </copy> </target> <!-- Command for generation of JavaDoc --> <target name="javadoc" depends="compile"> <javadoc packagenames="com.dcivision.alert,com.dcivision.alert.bean,com.dcivision.alert.core,com.dcivision.alert.dao,com.dcivision.alert.web,com.dcivision.audit,com.dcivision.audit.bean,com.dcivision.audit.core,com.dcivision.audit.dao,com.dcivision.calendar,com.dcivision.calendar.bean,com.dcivision.calendar.dao,com.dcivision.calendar.taglib,com.dcivision.calendar.web,com.dcivision.contact,com.dcivision.contact.bean,com.dcivision.contact.dao,com.dcivision.contact.web,com.dcivision.customize,com.dcivision.customize.workflow,com.dcivision.dms,com.dcivision.dms.bean,com.dcivision.dms.client,com.dcivision.dms.client.analyzer,com.dcivision.dms.client.parser,com.dcivision.dms.core,com.dcivision.dms.dao,com.dcivision.dms.extractor,com.dcivision.dms.taglib,com.dcivision.dms.web,com.dcivision.form,com.dcivision.form.bean,com.dcivision.form.core,com.dcivision.form.dao,com.dcivision.form.web,com.dcivision.forum,com.dcivision.forum.bean,com.dcivision.forum.core,com.dcivision.forum.dao,com.dcivision.forum.web,com.dcivision.framework,com.dcivision.framework.bean,com.dcivision.framework.dao,com.dcivision.framework.image,com.dcivision.framework.notification,com.dcivision.framework.taglib.bean,com.dcivision.framework.taglib.calendar,com.dcivision.framework.taglib.html,com.dcivision.framework.taglib.layout,com.dcivision.framework.taglib.logic,com.dcivision.framework.taglib.newCalender,com.dcivision.framework.web,com.dcivision.framework.xml,com.dcivision.ldap.core,com.dcivision.ldap.web,com.dcivision.mail.bean,com.dcivision.mail.core,com.dcivision.mail.dao,com.dcivision.mail.web,com.dcivision.setup,com.dcivision.setup.bean,com.dcivision.setup.dao,com.dcivision.setup.web,com.dcivision.staff,com.dcivision.staff.bean,com.dcivision.staff.dao,com.dcivision.staff.web,com.dcivision.upload.core,com.dcivision.upload.web,com.dcivision.user,com.dcivision.user.auth,com.dcivision.user.bean,com.dcivision.user.dao,com.dcivision.user.web,com.dcivision.webdav,com.dcivision.webdav.util,com.dcivision.workflow,com.dcivision.workflow.action,com.dcivision.workflow.applet,com.dcivision.workflow.applet.editor,com.dcivision.workflow.applet.editor.gif,com.dcivision.workflow.bean,com.dcivision.workflow.core,com.dcivision.workflow.dao,com.dcivision.workflow.layout,com.dcivision.workflow.taglib,com.dcivision.workflow.web" sourcepath="${java.src}" destdir="${build.javadoc.dir}" windowtitle="DCIVISION ParaDM API" author="Yes" version="Yes" use="Yes" maxmemory="512M" splitindex="Yes"> <classpath refid="build.classpath"/> </javadoc> </target> <target name="tlddoc" depends="compile"> <java fork="true" jar="${build.dir}/lib/tlddoc.jar" failonerror="true"> <arg line="-d ${build.tlddoc.dir}"/> <arg value="${build.dir}/calendar.tld"/> <arg value="${build.dir}/cewolf.tld"/> <arg value="${build.dir}/dms.tld"/> <arg value="${build.dir}/layout.tld"/> <arg value="${build.dir}/newCalendar.tld"/> <arg value="${build.dir}/schedule.tld"/> <arg value="${build.dir}/struts-bean.tld"/> <arg value="${build.dir}/struts-html.tld"/> <arg value="${build.dir}/struts-logic.tld"/> <arg value="${build.dir}/struts-nested.tld"/> <arg value="${build.dir}/struts-template.tld"/> <arg value="${build.dir}/struts-tiles.tld"/> <arg value="${build.dir}/workflow.tld"/> </java> </target> <target name="jsdoc" description="Document the JavaScript"> <exec executable="perl"> <arg value="${build.jsdoc.pl}"/> <arg value="-r" /> <arg value="--package-naming" /> <arg value="--no-lexical-privates" /> <arg value="--project-name" /> <arg value="ParaDM Javascript" /> <arg value="--logo" /> <arg value="${webapp.src}/img/pref3/common/LayoutLogoDefault.gif" /> <arg value="--directory"/> <arg value="${build.jsdoc.dir}"/> <arg file="${webapp.src}/js/AnchorPosition.js"/> <arg file="${webapp.src}/js/autoSuggest.js"/> <arg file="${webapp.src}/js/ColorPicker.js"/> <arg file="${webapp.src}/js/dojo.js"/> <arg file="${webapp.src}/js/FloatingSelectionBox.js"/> <arg file="${webapp.src}/js/FormFunction.js"/> <arg file="${webapp.src}/js/Framework.js"/> <arg file="${webapp.src}/js/NewCalendar.js"/> <arg file="${webapp.src}/js/OverLib.js"/> <arg file="${webapp.src}/js/OverLibHiddenForm.js"/> <arg file="${webapp.src}/js/PermissionSetup.js"/> <arg file="${webapp.src}/js/PopupCalendar.js"/> <arg file="${webapp.src}/js/PopupWindow.js"/> <arg file="${webapp.src}/js/Tree.js"/> <arg file="${webapp.src}/js/dojo"/> <arg file="${webapp.src}/js/dojo/dnd"/> <arg file="${webapp.src}/js/dojo/event"/> <arg file="${webapp.src}/js/dojo/html"/> </exec> </target> <!-- Command for clean up classes files --> <target name="clean"> <echo message="Cleanup ..."/> <antcall target="stop"/> <delete dir="${tomcat.home}/work/Standalone/localhost/${webapp.name}"/> <delete dir="${build.dir}/classes"/> <delete dir="${build.dir}/services"/> <delete> <fileset dir="${build.dir}/lib" includes="paradm-web*.jar"/> </delete> <delete dir="${webapp.temp.resources}"/> <delete dir="${webapp.temp.classes}"/> <delete dir="${webapp.temp.lib}"/> <delete dir="${webapp.temp.wsapi}"/> <delete dir="${webapp.temp.services}"/> <antcall target="wsapi-clean"/> </target> <!-- Command for build --> <target name="build" depends="compile_src, compile_res, copy_properties"> <jar jarfile="${build.dir}/lib/paradm-web-${webapp.version}.jar" basedir="${webapp.temp.classes}" excludes="*.properties,log4j.xml,com/dcivision/resource/**"/> <jar jarfile="${build.dir}/lib/paradm-client.jar" basedir="${webapp.temp.classes}" includes="com/dcivision/dms/client/**"/> <move file="${build.dir}/lib/paradm-client.jar" todir="${java.src}/../client/"/> <copy file="${java.src}/dms.conf" todir="${java.src}/../client/"/> <copy file="${java.src}/clientrun.bat" todir="${java.src}/../client/"/> <delete includeemptydirs="true"> <fileset dir="${build.dir}/classes"> <include name="com/**"/> <include name="*.class"/> <exclude name="*.xml"/> <exclude name="com/dcivision/resource/**"/> </fileset> </delete> </target> <!-- Command for parascan client build --> <target name="client" depends="compile"> <jar jarfile="${build.dir}/lib/paradm-client.jar" basedir="${build.dir}/classes" includes="com/dcivision/dms/client/**"/> <move file="${build.dir}/lib/paradm-client.jar" todir="${java.src}/../client/"/> </target> <!-- Command for parsing JSP --> <target name="parsejsp" depends="compile"> <echo message="${tomcat.home}"/> <copy todir="${basedir}/../temp"> <fileset dir="${webapp.src}"> <exclude name="**/*.db"/> <exclude name="**/*.txt"/> <exclude name="**/*.gif"/> <exclude name="**/*.class"/> <exclude name="**/*.jpg"/> </fileset> <mapper type="glob" from="*.jsp" to="*.jsp"/> </copy> <copy todir="${basedir}/../temp"> <fileset dir="${webapp.src}"> <exclude name="**/*.db"/> <exclude name="**/*.txt"/> <exclude name="**/*.gif"/> <exclude name="**/*.jpg"/> <exclude name="**/*.jsp"/> </fileset> </copy> <mkdir dir="${tomcat.home}/work/Standalone/localhost/${webapp.name}"/> <jspc srcdir="${basedir}/../temp" destdir="${tomcat.home}/work/Standalone/localhost/${webapp.name}" uriroot="${basedir}/../temp" failonerror="No"> <classpath refid="build.classpath"/> <include name="**/*.jsp"/> <webapp basedir="${basedir}/../temp"/> </jspc> <replaceregexp byline="true"> <regexp pattern="package (.*)" /> <substitution expression="package org.apache.jsp;" /> <fileset dir="${tomcat.home}/work/Standalone/localhost/${webapp.name}"> <include name="**/*.java" /> </fileset> </replaceregexp> <deltree dir="${basedir}/../temp"/> </target> <!-- Command for compiling JSP --> <target name="jspc"> <taskdef classname="org.apache.jasper.JspC" name="jasper2" > <classpath id="jspc.classpath"> <pathelement location="${java.home}/../lib/tools.jar"/> <fileset dir="${tomcat.home}/server/lib"> <include name="*.jar"/> </fileset> <fileset dir="${tomcat.home}/common/lib"> <include name="*.jar"/> </fileset> </classpath> </taskdef> <taskdef name="foreach" classname="net.sf.antcontrib.logic.ForEach" classpath="${ant}/ant-contrib.jar" /> <jasper2 validateXml="false" uriroot="${webapp.src}" webXmlFragment="${webapp.src}/WEB-INF/generated_web.xml" outputDir="${webapp.src}/WEB-INF/src" package="some.unique.string.asd34sad"> </jasper2> <replaceregexp match="^package some.unique.string.asd34sad.*;" replace="package org.apache.jsp;" byline="true"> <fileset dir="${webapp.src}/WEB-INF/src"> <include name="**/*.*"/> </fileset> </replaceregexp> <echo>Compiling generated classes from JSPC</echo> <foreach target="do-jsp-compile" param="dir-path"> <path> <dirset dir="${webapp.src}/WEB-INF/src"/> </path> </foreach> <move todir="${tomcat.home}/work/Standalone/localhost/${webapp.name}"> <fileset dir="${webapp.src}/WEB-INF/src"> <include name="**/*.*"/> </fileset> </move> <delete dir="${webapp.src}/WEB-INF/src"/> </target> <target name="do-jsp-compile"> <echo>Compile JSP in: ${dir-path}</echo> <javac destdir="${dir-path}" optimize="off" debug="on" failonerror="false" srcdir="${dir-path}"> <classpath> <pathelement location="${webapp.src}/WEB-INF/classes"/> <fileset dir="${webapp.src}/WEB-INF/lib"> <include name="*.jar"/> </fileset> <pathelement location="${tomcat.home}/common/classes"/> <fileset dir="${tomcat.home}/common/lib"> <include name="*.jar"/> </fileset> <pathelement location="${tomcat.home}/shared/classes"/> <fileset dir="${tomcat.home}/shared/lib"> <include name="*.jar"/> </fileset> </classpath> <include name="*.java" /> </javac> <mkdir dir="${dir-path}/org/apache/jsp"/> <move todir="${dir-path}" failonerror="false"> <fileset dir="${dir-path}/org/apache/jsp"> <include name="*.*"/> </fileset> </move> <delete dir="${dir-path}/org" failonerror="false"/> </target> <!-- Task to initialize mysql connection settings --> <target name="db_init_mysql"> </target> <!-- Task to mysql deployment, it can: 1) checkout the latest source from db/mysql folder 2) create a new database instance 3) deploy default ParaDM configuration data 4) create a databaes user (paradm) for ParaDM application access 5) grant privileges to this database user (paradm) 6) update the ParaDM system parameter and storage location path for ParaDOC (DMS_LOC_MASTER.LOC_PATH) You need to fill in the correct parameters to make it works: ${database.location} : Location of your database, default is "localhost" ${database.dba.login} : Database administrator login, default is "root" ${database.dba.password} : Database administrator password ${database.user.login} : Database user login, default is "paradm" ${database.user.password} : Database user password, default is "paradm" ${database.sid} : Database instance you want to create, default is "ParaDM" --> <target name="db_deploy_mysql" depends="db_cvsupdate_mysql"> <property name="database.driver" value="com.mysql.jdbc.Driver"/> <property name="database.url" value="jdbc:mysql://${database.location}:3306/mysql?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true"/> <sql driver="${database.driver}" url="${database.url}" userid="${database.dba.login}" password="${database.dba.password}" onerror="continue"> <classpath refid="build.classpath"/> <transaction> CREATE DATABASE ${database.sid}; USE ${database.sid}; GRANT ALL PRIVILEGES ON ${database.sid}.* TO '${database.user.login}'@'${database.location}' IDENTIFIED BY '${database.user.password}' </transaction> <transaction src="../db/mysql/structure.sql"/> <transaction src="../db/mysql/data.sql"/> </sql> <antcall target="db_configure" inheritAll="true"/> </target> <!-- Task to auto apply db patch to your database Comment out the db_cvsupdate_mysql task if you don't want to update source before apply the db patch. --> <target name="db_patch_mysql" depends="db_cvsupdate_mysql"> <property name="database.driver" value="com.mysql.jdbc.Driver"/> <property name="database.url" value="jdbc:mysql://${database.location}:3306/${database.sid}?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true"/> <property name="database.type" value="mysql"/> <antcall target="db_patch" inheritAll="true"/> </target> <!-- Task called by db_patch_{database_type} to apply SQL patch --> <target name="db_patch"> <sql driver="${database.driver}" url="${database.url}" userid="${database.user.login}" password="${database.user.password}" onerror="continue"> <classpath refid="build.classpath"/> <transaction src="../db/${database.type}/alter3.2.0.sql"/> </sql> </target> <!-- Task called by db_deploy_{database_type} to update ParaDM system parameters and ParaDOC root location path --> <target name="db_configure"> <sql driver="${database.driver}" url="${database.url}" userid="${database.dba.login}" password="${database.dba.password}" onerror="continue"> <classpath refid="build.classpath"/> <transaction> UPDATE ${database.sid}.DMS_LOC_MASTER SET LOC_PATH='${paradm.home.file}/ParaDOC'; UPDATE ${database.sid}.SYS_PARAMETER SET PARAMETER_VALUE='${paradm.home.file}/ParaDOC' WHERE PARAMETER_CODE='dms.archive_file_path'; UPDATE ${database.sid}.SYS_PARAMETER SET PARAMETER_VALUE='${paradm.home.file}/ParaDOC/cache/' WHERE PARAMETER_CODE='dms.emailArchive.cachefolder.path'; UPDATE ${database.sid}.SYS_PARAMETER SET PARAMETER_VALUE='${paradm.home.file}/ParaFORM' WHERE PARAMETER_CODE='form.attachment_physical_path'; UPDATE ${database.sid}.SYS_PARAMETER SET PARAMETER_VALUE='${paradm.home.file}/KB' WHERE PARAMETER_CODE='rules.kb_file_path'; UPDATE ${database.sid}.SYS_PARAMETER SET PARAMETER_VALUE='${paradm.home.file}/Index' WHERE PARAMETER_CODE='system.index_base_path'; UPDATE ${database.sid}.SYS_PARAMETER SET PARAMETER_VALUE='${paradm.home.file}/ParaFLOW' WHERE PARAMETER_CODE='workflow.attachment_physical_path'; UPDATE ${database.sid}.SYS_PARAMETER SET PARAMETER_VALUE='${paradm.home.file}/ParaFlow/AutomaticTask/bin' WHERE PARAMETER_CODE='workflow.automatic_task_bindir'; UPDATE ${database.sid}.SYS_PARAMETER SET PARAMETER_VALUE='${paradm.home.file}/ParaFlow/AutomaticTask/src' WHERE PARAMETER_CODE='workflow.automatic_task_srcdir'; </transaction> </sql> </target> <!-- Task to update the CVS MySQL db script folder --> <target name="db_cvsupdate_mysql"> <cvs dest="../db/mysql/" command="update"/> </target> <target name="restart"> <antcall target="stop"/> <delete dir="${tomcat.home}/work/Standalone/localhost/${webapp.name}"/> <antcall target="start"/> </target> <target name="stop"> <exec executable="cmd.exe" os="Windows XP"> <arg line="/c net stop "${tomcat.service}""/> </exec> </target> <target name="start"> <exec executable="cmd.exe" os="Windows XP"> <arg line="/c net start "${tomcat.service}""/> </exec> </target> <target name="war" depends="build"> <war destfile="${webapp.temp.war}/${webapp.name}-${timestamp}.war" webxml="D:\Projects\${webapp.name}\Source\web\WEB-INF\web.xml"> <fileset dir="D:\Projects\${webapp.name}\Source\web"> <exclude name="**/*.rar"/> <exclude name="**/*.zip"/> <exclude name="**/.#*"/> <exclude name="temp/**"/> <exclude name="viewer/**"/> <exclude name="WEB-INF/web.xml"/> <exclude name="WEB-INF/classes/**"/> <exclude name="WEB-INF/lib/**"/> </fileset> <lib dir="D:\Projects\${webapp.name}\Source\web\WEB-INF\lib"> <exclude name="ant.jar"/> </lib> <classes dir="D:\Projects\${webapp.name}\Source\web\WEB-INF\classes"/> </war> </target> <target name="wsapi-clean"> <!-- <delete dir="${wsapi.dir}"/>--> </target> <target name="wsapi"> <antcall target="wsapi-clean"/> <mkdir dir="${wsapi.dir}"/> <foreach target="wsapi-module" param="wsapi.module.dir" inheritall="true"> <path> <dirset dir="${java.src}/com/dcivision/resource/services"> <include name="*"/> <exclude name="schemas"/> </dirset> </path> </foreach> <mkdir dir="${wsapi.lib}"/> <jar jarfile="${wsapi.lib}/paradm-ws-api.jar" basedir="${wsapi.classes}"/> </target> <target name="wsapi-module" depends="wsapi.chkUpToDate" unless="wsapi.notRequired"> <foreach target="wsapi-service" param="wsapi.service.wsdl" inheritall="true"> <path> <fileset dir="${java.src}/com/dcivision/resource/services/${wsapi.module.name}"> <include name="*.wsdl"/> </fileset> </path> </foreach> <mkdir dir="${wsapi.classes}"/> <copy todir="${wsapi.classes}/schemaorg_apache_xmlbeans"> <fileset dir="${wsapi.dir}/resources/schemaorg_apache_xmlbeans"/> </copy> <javac srcdir="${wsapi.dir}/src" destdir="${wsapi.classes}" debug="on" memoryInitialSize="128m" memoryMaximumSize="256m" fork="true"> <classpath refid="build.classpath"/> </javac> </target> <target name="wsapi.chkUpToDate"> <basename property="wsapi.module.name" file="${wsapi.module.dir}"/> <echo message="Checking WS-${wsapi.module.name} for update"/> <uptodate property="wsapi.notRequired" targetfile="${wsapi.lib}/paradm-ws-api.jar" > <srcfiles dir= "${java.src}/com/dcivision/resource/services"> <include name="schemas/*.xsd"/> <include name="${wsaar.module.name}/*.wsdl"/> <include name="${wsaar.module.name}/*.xsd"/> <!-- No need to generate the API even services.xml is modified --> <exclude name="${wsaar.module.name}/services.xml"/> </srcfiles> </uptodate> <if> <istrue value="${wsapi.notRequired}"/> <then><echo message="Web Service ${wsapi.module.name} up to date: ${wsapi.notRequired}"/></then> </if> </target> <target name="wsapi-service"> <basename property="wsapi.service.name" file="${wsapi.service.wsdl}" suffix=".wsdl"/> <echo message=" Parsing ${wsapi.service.name}"/> <antcall target="wsdl2java" inheritAll="true"/> <move file="${wsapi.dir}/resources/services.xml" tofile="${wsapi.dir}/services/${wsapi.module.name}/${wsapi.service.name}-service.xml" /> <move todir="${wsapi.dir}/services/${wsapi.module.name}"> <fileset dir="${wsapi.dir}/resources"> <include name="*.wsdl"/> <include name="*.xsd"/> </fileset> </move> </target> <target name="wsdl2java"> <taskdef name="codegen" classname="org.apache.axis2.tool.ant.AntCodegenTask" classpathref="build.classpath"/> <echo message="${java.src}/com/dcivision/resource/services/${wsapi.module.name}/${wsapi.service.name}.wsdl"/> <codegen wsdlVersion="1.1" wsdlfilename="${java.src}/com/dcivision/resource/services/${wsapi.module.name}/${wsapi.service.name}.wsdl" serviceName="${wsapi.service.name}" portName="${wsapi.service.name}SOAP12Port" databindingName="xmlbeans" generateAllClasses="true" serverSide="true" serverSideInterface="true" generateServiceXml="true" output="${wsapi.dir}" /> </target> <target name="wsdl2java2"> <java classname="org.apache.axis2.wsdl.WSDL2Java" fork="true"> <classpath refid="build.classpath"/> <arg value="-uri"/> <arg file="${java.src}/com/dcivision/resource/services/${wsapi.module.name}/${wsapi.service.name}.wsdl"/> <arg value="-d"/> <arg value="none"/> <arg value="-ss"/> <arg value="-g"/> <arg value="-sd"/> <arg value="-o"/> <arg file="${wsapi.dir}"/> </java> </target> <target name="wsaar"> <copy todir="${build.dir}/services/lib" file="${wsapi.lib}/paradm-ws-api.jar"/> <foreach target="wsaar-module" param="wsaar.module.dir" inheritall="true"> <path> <dirset dir="${java.src}/com/dcivision/resource/services"> <include name="*"/> <exclude name="schemas"/> </dirset> </path> </foreach> </target> <target name="wsaar-module" depends="wsaar.chkUpToDate" unless="wsaar.notRequired"> <property name="services.xml.dir" value="${webapp.temp.services}/WS-${wsaar.module.name}/META-INF"/> <antcall target="services.xml" inheritAll="true"/> <copy todir="${webapp.temp.services}/WS-${wsaar.module.name}/META-INF"> <fileset dir="${java.src}/com/dcivision/resource/services/${wsaar.module.name}"> <include name="*.wsdl"/> <include name="*.xsd"/> <include name="*.xml"/> </fileset> </copy> <copy todir="${webapp.temp.services}/WS-${wsaar.module.name}/schemas"> <fileset dir="${java.src}/com/dcivision/resource/services/schemas"> <include name="*.xsd"/> </fileset> </copy> <mkdir dir="${webapp.temp.services}/WS-${wsaar.module.name}/lib"/> <jar jarfile="${webapp.temp.services}/WS-${wsaar.module.name}/lib/WS-${wsaar.module.name}-impl.jar" basedir="${webapp.temp.classes}" includes="com/dcivision/ws/**"/> <jar jarfile="${webapp.temp.services}/WS-${wsaar.module.name}.aar" basedir="${webapp.temp.services}/WS-${wsaar.module.name}"/> <mkdir dir="${build.dir}/services"/> <copy todir="${build.dir}/services/" file="${webapp.temp.services}/WS-${wsaar.module.name}.aar"/> </target> <target name="wsaar.chkUpToDate"> <basename property="wsaar.module.name" file="${wsaar.module.dir}"/> <echo message="Checking WS-${wsaar.module.name} for update"/> <uptodate property="wsaar.notRequired" targetfile="${webapp.temp.services}/WS-${wsaar.module.name}.aar" > <srcfiles dir= "${java.src}/com/dcivision/resource/services"> <include name="schemas/*.xsd"/> <include name="${wsaar.module.name}/*.wsdl"/> <include name="${wsaar.module.name}/*.xsd"/> <!-- If services.xml is modified, need to generate a new .aar file --> <include name="${wsaar.module.name}/services.xml"/> </srcfiles> </uptodate> <if> <istrue value="${wsaar.notRequired}"/> <then><echo message="Web Service ${wsaar.module.name} up to date: ${wsaar.notRequired}"/></then> </if> </target> <!-- ========================================================================= --> <!-- TODO: Dynamically merge each generated services.xml into one within the same module --> <!-- ========================================================================= --> <target name="services.xml"> </target> </project> 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |