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>
|