build.xml
001 <?xml version="1.0" encoding="UTF-8"?>
002 <project name="physician ear" default="build" basedir=".">
003 
004   <property environment="env" />
005 
006   <property file="../medrec.properties"/>
007 
008   <property name="build.compiler" value="${compiler}" />
009 
010   <property name="physicianwebapp" value="physicianWebApp"/>
011 
012   <property name="physician.ear.src.dir" value="${basedir}" />
013   <property name="dest.dir" value="${physician.ear.wlcompile.build.dir}" />
014   <property name="ear.file" value="${physician.ear.file}" />
015   <property name="ear.exploded.dir" value="${physician.ear.exploded.dir}" />
016   <property name="app-inf.dest.classes" value="${dest.dir}/APP-INF/classes"/>
017   <property name="app-inf.dest.lib" value="${dest.dir}/APP-INF/lib"/>
018   <property name="app-inf.src.classes" value="${physician.ear.src.dir}/APP-INF/classes"/>
019   <property name="app-inf.src.lib" value="${physician.ear.src.dir}/APP-INF/lib"/>
020 
021   <!-- Web Service WLS Ant task definitions -->
022   <taskdef name="clientgen"
023       classname="weblogic.wsee.tools.anttasks.ClientGenTask" />
024 
025   <taskdef name="jwsc" classname="weblogic.wsee.tools.anttasks.JwscTask" />
026 
027   <target name="banner">
028     <echo>+---------------------------------------+</echo>
029     <echo>+        Building Physician Ear         +</echo>
030     <echo>+---------------------------------------+</echo>
031   </target>
032 
033   <target name="all" depends="clean, build" />
034   <!-- Build application for distribution -->
035   <target name="dist" depends="clean, build, ear" />
036   <target name="stage" depends="clean, build, exploded.ear" />
037   <target name="stage.prod" depends="clean, build, ear" />
038 
039   <target name="prepare">
040     <!--Setup the directories for the ear level -->
041     <mkdir dir="${app-inf.dest.classes}"/>
042     <mkdir dir="${app-inf.dest.lib}"/>
043     <mkdir dir="${app-inf.src.classes}"/>
044     <mkdir dir="${app-inf.src.lib}"/>
045 
046     <!-- Copy libs for ear level -->
047     <!-- MedRec jars -->
048     <copy file="${exceptions.classpath}" todir="${app-inf.dest.lib}" />
049     <copy file="${utils.classpath}" todir="${app-inf.dest.lib}" />
050     <copy file="${value.classpath}" todir="${app-inf.dest.lib}" />
051     <copy file="${common.web.classpath}" todir="${app-inf.dest.lib}" />
052     <copy file="${listeners.classpath}" todir="${app-inf.dest.lib}" />
053     <!-- 3rd-party jars -->
054     <copy file="${log.classpath}" todir="${app-inf.dest.lib}" />
055     <copy todir="${app-inf.dest.lib}">
056       <fileset dir="${struts.lib.dir}/" includes="commons-*.jar"/>
057     </copy>
058     <copy todir="${app-inf.dest.lib}">
059       <fileset dir="${struts.lib.dir}/" includes="sslext.jar"/>
060     </copy>
061     <copy file="${struts.classpath}" todir="${app-inf.dest.lib}" />
062   </target>
063 
064   <!-- builds entire application -->
065   <target name="build" depends="banner,
066                                 build.ws,
067                                 build.split.dir,
068                                 appc.split.dir"/>
069 
070   <target name="build.ws" depends="banner,
071                                    prepare,
072                                    build.sync.ws.client,
073                                    build.reliable.async.ws.client,
074                                    build.physician.ws"/>
075 
076   <!-- The clientgen Ant task generates a Web service-specific client JAR
077   file that client applications can use to invoke both WebLogic and
078   non-WebLogic Web services. Typically, you use the clientgen Ant task to
079   generate a client JAR file from an existing WSDL file; you can also use it
080   with an EAR file that contains the implementation of a WebLogic Web service. -->
081   <target name="build.sync.ws.client" depends="banner, prepare">
082     <clientgen
083       wsdl="${medrec.ear.wlcompile.build.dir}/MedRecWebServices/WEB-INF/MedRecWebServices.wsdl"
084       destDir="${app-inf.dest.classes}"
085       packageName="${webservice.package.name}.client"
086       jaxRPCWrappedArrayStyle="false"
087       classpath="${java.class.path};${app-inf.dest.lib}/value.jar"/>
088     <!-- FIXME value classes are generated from WSDL which conflict with value.jar, CR193958. -cwall -->
089     <echo message="Delete generated value classes..."/>
090     <delete includeEmptyDirs="true" failonerror="false" quiet="false">
091       <fileset dir="${app-inf.dest.classes}/com/bea/medrec/value"/>
092     </delete>
093     <echo message="Compile generated WS stub and aux classes..."/>
094     <javac
095       srcdir="${app-inf.dest.classes}/com"
096       includes="**/*.java"
097       classpath="${java.class.path};${app-inf.dest.classes};${app-inf.dest.lib}/value.jar"/>
098   </target>
099 
100   <target name="build.reliable.async.ws.client" depends="banner, prepare">
101     <clientgen
102       wsdl="${medrec.ear.wlcompile.build.dir}/MedRecRMWebServices/WEB-INF/MedRecRMWebServices.wsdl"
103       destDir="${app-inf.dest.classes}"
104       packageName="${webservice.package.name}.client"
105       classpath="${java.class.path};${app-inf.dest.lib}/value.jar"/>
106     <!-- FIXME value classes are generated from WSDL which conflict with value.jar, CR193958. -cwall -->
107     <echo message="Delete generated value classes..."/>
108     <delete includeEmptyDirs="true" failonerror="false" quiet="false">
109       <fileset dir="${app-inf.dest.classes}/com/bea/medrec/value"/>
110     </delete>
111     <echo message="Compile generated WS stub and aux classes..."/>
112     <javac
113       srcdir="${app-inf.dest.classes}/com"
114       includes="**/webservices/MedRec*.java"
115       classpath="${java.class.path};${app-inf.dest.classes};${app-inf.dest.lib}/value.jar"/>
116     <javac
117       srcdir="${app-inf.dest.classes}/com"
118       includes="**/*.java"
119       classpath="${java.class.path};${app-inf.dest.classes};${app-inf.dest.lib}/value.jar"/>
120   </target>
121 
122   <target name="build.physician.ws" description="">
123     <jwsc
124       srcdir="${physician.ear.src.dir}/webServices/com/bea/medrec/webservices"
125       sourcepath="${physician.ear.src.dir}/webServices"
126       destdir="${dest.dir}"
127       applicationXml="${src.dir}/physicianEar/META-INF/application.xml"
128       classpath="${java.class.path};${app-inf.dest.classes};${app-inf.dest.lib}/value.jar;${app-inf.dest.lib}/utils.jar;${dest.dir}/APP-INF/lib/${log.jar}"
129       keepGenerated="true"
130       deprecation="${deprecation}"
131       debug="${debug}" >
132         <jws file="PhysicianWebServices.java" explode="true"/>
133     </jwsc>
134     <!-- generate client package of physician web service -->
135     <clientgen
136       wsdl="${dest.dir}/PhysicianWebServices/WEB-INF/PhysicianWebServices.wsdl"
137       destDir="${app-inf.dest.classes}"
138       packageName="${webservice.package.name}.client"
139       classpath="${java.class.path};${app-inf.dest.lib}/value.jar"/>
140     <!-- FIXME value classes are generated from WSDL which conflict with value.jar, CR193958. -cwall -->
141     <echo message="Delete generated value classes..."/>
142     <delete includeEmptyDirs="true" failonerror="false" quiet="false">
143       <fileset dir="${app-inf.dest.classes}/com/bea/medrec/value"/>
144     </delete>
145     <echo message="Compile generated WS stub and aux classes..."/>
146     <javac
147       srcdir="${app-inf.dest.classes}/com"
148       includes="**/*.java"
149       classpath="${java.class.path};${app-inf.dest.classes};${app-inf.dest.lib}/value.jar"/>
150   </target>
151 
152   <!-- components in split-dir structure -->
153   <target name="build.split.dir" depends="banner, prepare">
154     <wlcompile srcdir="${physician.ear.src.dir}" destdir="${dest.dir}">
155       <ejbgen source="${sourceVersion}"/>
156       <javac deprecation="${deprecation}" />
157       <javac debug="${debug}" debugLevel="${debugLevel}" />
158     </wlcompile>
159   </target>
160 
161   <target name="appc.split.dir">
162     <wlappc source="${dest.dir}" />
163   </target>
164 
165   <target name="appc.exploded.ear">
166     <wlappc source="${ear.exploded.dir}" />
167   </target>
168 
169   <target name="appc.ear">
170     <wlappc source="${ear.file}" />
171   </target>
172 
173   <!-- deploys entire application -->
174   <target name="deploy.physician.ear"
175     description="Deploy build/physicianEar to WebLogic on ${wls.admin.server.host}:${wls.admin.server.port}.">
176     <!-- "url" is not required, but the default url is iiop://${wls.admin.server.host}:${wls.admin.server.port} -->
177     <wldeploy
178       user="${wls.username}"
179       password="${wls.password}"
180       adminurl="t3://${wls.admin.server.host}:${wls.admin.server.port}"
181       action="deploy"
182       name="${physician.ear.display.name}" 
183       source="${dest.dir}"
184       securityModel="CustomRolesAndPolicies"/>
185   </target>
186 
187   <target name="redeploy.physician.ear"
188     description="Redeploy build/physicianEar to WebLogic on ${wls.admin.server.host}:${wls.admin.server.port}.">
189     <!-- "url" is not required, but the default url is iiop://${wls.admin.server.host}:${wls.admin.server.port} -->
190     <wldeploy
191       user="${wls.username}"
192       password="${wls.password}"
193       adminurl="t3://${wls.admin.server.host}:${wls.admin.server.port}"
194       action="redeploy"
195       name="${physician.ear.display.name}"
196       source="${dest.dir}"
197       securityModel="CustomRolesAndPolicies"/>
198   </target>
199 
200   <target name="deploy.exploded.ear">
201     <wldeploy user="${wls.username}" password="$wls.{password}"
202               action="deploy" name="${physician.ear.name}" source="${ear.exploded.dir}" />
203   </target>
204 
205   <!-- package the application as an EAR -->
206   <target name="ear">
207     <mkdir dir="${dist.dir}"/>
208     <wlpackage srcdir="${physician.ear.src.dir}" destdir="${dest.dir}"
209                toFile="${ear.file}" />
210   </target>
211 
212   <target name="exploded.ear">
213     <wlpackage srcdir="${physician.ear.src.dir}" destdir="${dest.dir}"
214                toDir="${ear.exploded.dir}" />
215     <!-- Because images are located outside of medrecEar src -->
216     <copy todir="${ear.exploded.dir}/physicianWebApp/images">
217       <fileset dir="${images.dir}"/>
218     </copy>
219   </target>
220 
221   <target name="clean" depends="clean.ear, clean.exploded.ear, clean.prepare">
222     <delete dir="${dest.dir}" />
223   </target>
224 
225   <target name="clean.ear">
226     <delete file="${ear.file}"/>
227   </target>
228 
229   <target name="clean.exploded.ear">
230     <delete dir="${ear.exploded.dir}"/>
231   </target>
232 
233   <target name="clean.prepare">
234     <delete dir="${app-inf.dest.classes}"/>
235     <delete dir="${app-inf.dest.lib}"/>
236     <delete dir="${app-inf.src.classes}"/>
237     <delete file="${physician.ear.src.dir}/physSessionEjbs_client.jar"/>
238   </target>
239 
240 </project>