Untitled
unknown
plain_text
23 days ago
112 kB
3
Indexable
<?xml version= "1.0"?> <!-- ************************************************************ --> <!-- Appl: --> <!-- Auth: --> <!-- Date: --> <!-- Desc: Application build.xml based on --> <!-- DealerCONNECT template build.xml --> <!-- ************************************************************ --> <!-- NOTE: Properties files --> <!-- The following build properties files are loaded by this --> <!-- build.xml file. They are all located in the properties file --> <!-- directory resolved and assigned to the property ${pf.dir} and --> <!-- each file read is referred to using the 'pf.<name>' --> <!-- properties listed below. --> <!-- In addition, each property read in from from each property --> <!-- file is prefixed using the property file property name --> <!-- as a prefix so these values can be traced in this --> <!-- build.xml and the setting of the main build.xml properties --> <!-- from these values can be better controlled. --> <!-- (1) Application properties file: pf.app --> <!-- (2) User properties file: pf.user --> <!-- (3) Application dependencies file: pf.appdep --> <!-- (4) Build counter file: pf.buildinfo --> <!-- NOTE: Properties --> <!-- Some properties can be set outside of init, some can't --> <!-- The locations of these property assignments are mostly --> <!-- based on where 'ant' allows certain logic required to --> <!-- establish property values. The 'init' target is a --> <!-- depdendency of most all targets and will get re-invoked --> <!-- when modules are called via 'antcall' but not re-invoked --> <!-- otherwise. --> <!-- NOTE: How to modify this file --> <!-- Look for the keyword 'CUSTOMIZE' in the sections below as a --> <!-- means to quickly locate areas which must be customized for --> <!-- each application. Most of 'init' sets properties from the --> <!-- properties files and env vars and should not be changed. --> <!-- Summary of changes you may need to make: --> <!-- CUSTOMIZE.class.path.app: --> <!-- Add in application directories which need to be part --> <!-- of the CLASSPATH. --> <!-- CUSTOMIZE.compile.* --> <!-- Update the dependencies of these top-level targets to --> <!-- include all the individual module/project targets of --> <!-- the specified types --> <!-- CUSTOMIZE.dist.* --> <!-- You will need to tailor the directories and filesets --> <!-- specified in these targets to produce the necessary --> <!-- ear/war/jar/tar packages for your application. --> <!-- CUSTOMIZE.pkg.* --> <!-- Same changes as CUSTOMIZE.compile.* --> <!-- CUSTOMIZE.clean.compile --> <!-- Review and update this target to make sure that target 'clean' --> <!-- removes any files produced as part of the build. --> <!-- CUSTOMIZE.module.targets --> <!-- Each module in your application should have it's own --> <!-- dedicated target which may be copied/modifed from the --> <!-- template targets provided. They should be named --> <!-- compile.{jarm|webm}.<MODULENAME> and --> <!-- pkg.{jarm|webm}.<MODULENAME>. If your projects follow --> <!-- the template layout and builds, your project targets may --> <!-- call the template 'antcall' targets to build and package --> <!-- each module type in a generic way. --> <project default= "all" basedir= "../.."> <description>Build DaimlerChrysler J2EE Application</description> <property file="build.properties"/> <!-- These global properties must be defined before any targets --> <!-- You should not need to change any of these so long as your --> <!-- application directory structure follows the defined standard. --> <!-- ************************************************************ --> <!-- Target: various properties --> <!-- ************************************************************ --> <!-- Global, all modules, all targets --> <!-- Tell ant to internally assign environment variables to --> <!-- internal properties. Reference these via "${VAR}" --> <property environment= "env" /> <property name= "common.dir" value= "${basedir}/common" /> <import file="common/common.xml"/> <!-- Location of source directories & code --> <property name= "src.dir" location= "${basedir}" /> <!-- Target directory where all compiled and packaged objects --> <!-- are written to --> <property name= "bld.dir" location= "${basedir}" /> <!-- Separator used in header output text --> <!-- Note: This is counted at 56 chars to produce total --> <!-- separator lines 70 chars long when output by ant, --> <!-- including the preceding 'echo' tag --> <property name= "header" value= "*********************************************************" /> <!-- Module Source/Build/Packaging Subdirectories --> <!-- All of these properties define specific relative paths --> <!-- within various module subdirectories. It is assumed that --> <!-- all modules follow their defined respective directory --> <!-- structures although certain structures may exist in --> <!-- different places in the different types of modules. --> <!-- Java Modules --> <!-- 'vendorlib' is a special subdirectory in which vendor --> <!-- supplied or other pre-compiled *.jars should be placed. --> <!-- This directory and its jar files will be included in the --> <!-- standard template classpath. The 'clean' target deletes --> <!-- the module './lib' subdirectory and the contents of the --> <!-- vendorlib are copied to that. Any classes compiled in the --> <!-- module are jared up into a jar file in the module './lib' --> <!-- directory. --> <!-- This system provides us with the ability to have a --> <!-- directory with jars which go in and come from the source --> <!-- repository as well as a target directory controlled and --> <!-- populated from source and build and can be cleared out by --> <!-- the 'clean' target without conflicts. --> <property name= "subdir.jarm.vendorlibs" value= "vendorlib" > </property> <!-- Target directory where we compile classes to and where --> <!-- we get them from for packaging. Directory structures --> <!-- must be maintained for classes and jar file packaging --> <!-- so source directory structure in source area will --> <!-- always match target directory structure in target area. --> <!-- Note: Standard value of this property is null, --> <!-- WSAD handing and definition communicated by developers --> <!-- was that classes should not go into any specific --> <!-- subdirectory in a Java Module. --> <property name= "subdir.jarm.classes" value= "" > </property> <!-- This is a target directory into which we copy --> <!-- vendor *.jar files from the ./vendorlib directory --> <!-- (taken out of source control) and jar up compiled --> <!-- from within the module classes subdirectory. --> <property name= "subdir.jarm.libs" value= "lib" > </property> <!-- Web Modules --> <!-- *.java source files --> <property name= "subdir.webm.wsadjavasource" value= "Java Source" /> <!-- Web Content added into war in both source and build --> <!-- areas found under this subdirectory. --> <property name= "subdir.webm.wsadwebcontent" value= "Web Content" /> <!-- Vendor supplied *.jars under *source control* need to --> <!-- be placed in a special source directory which is *not* --> <!-- the same as build so that we may delete out the contents --> <!-- of the lib directory without deleting these files which --> <!-- must be retained! --> <property name= "subdir.webm.vendorlibs" value= "${subdir.webm.wsadwebcontent}/WEB-INF/vendorlib" > </property> <!-- Target directory where we compile classes to and where --> <!-- we get them from for packaging. Even though relative --> <!-- directory path is the same, be aware that --> <!-- ${src.dir} may or may not = ${bld.dir}, so the root --> <!-- directories may not be the same. --> <property name= "subdir.webm.classes" value= "${subdir.webm.wsadwebcontent}/WEB-INF/classes" > </property> <property name= "subdir.webm.libs" value= "${subdir.webm.wsadwebcontent}/WEB-INF/lib" > </property> <!-- Documentation --> <!-- Target directory where we put documentation --> <property name= "doc.dir" location= "javadoc" /> <!-- Packaging/Distribution subdirectories, all module types --> <!-- "dist" subdirectories: where distributions are populated to --> <property name= "dist.dir" location= "dist" /> <property name= "subdir.dist.appsrvear" location= "${dist.dir}/appsrvear" /> <property name= "subdir.dist.appsrvjartar" location= "${dist.dir}/appsrvjartar" /> <property name= "subdir.dist.websrvcontenttar" location= "${dist.dir}/websrvcontenttar" /> <property name= "subdir.dist.websrvjartar" location= "${dist.dir}/websrvjartar" /> <!-- "pkg" subdirectories: temp dirs used for preparing the "dist" --> <!-- We create and use pkg subdirectories in certain project --> <!-- subdirectories when we need an intermediate directory --> <!-- area in order to perform initial levels of packaging --> <!-- for inclusion in later packaging, i.e. module war files --> <!-- later included in the application ear file. --> <!-- We may have several unique package areas. --> <property name= "subdir.pkg" value= "pkg" /> <property name= "subdir.pkg.appsrvear" value= "${subdir.pkg}/appsrvear" /> <property name= "subdir.pkg.appsrvjartar" value= "${subdir.pkg}/appsrvjartar" /> <property name= "subdir.pkg.websrvcontenttar" value= "${subdir.pkg}/websrvcontenttar" /> <property name= "subdir.pkg.websrvjartar" value= "${subdir.pkg}/websrvjartar" /> <!-- "stage" subdirectories: temp dirs used for staging for preparing pkgs --> <!-- Where we copy and restructure files & directories to get --> <!-- them ready for packaging. These directories are --> <!-- created and then deleted. --> <property name= "subdir.stage" value= "stage" /> <property name= "subdir.stage.appsrvear" value= "${subdir.stage}/appsrvear" /> <!-- Sonar Analysis --> <property name="sonar.projectKey" value="4557_QLOP_PMO16" /> <property name="sonar.projectName" value="16_QUICKLOP" /> <property name="sonar.projectVersion" value="1.0" /> <property name="sonar.sources" value="${src.dir}/QuickLopWS,${src.dir}/QuickLopJava,${src.dir}/QuickLopDcidWS" /> <property name="sonar.java.binaries" value="${bld.dir}/QuickLopWS/${subdir.webm.classes},${src.dir}/QuickLopWeb/${subdir.webm.wsadwebcontent},${src.dir}/QuickLopDcidWS" /> <property name="sonar.sourceEncoding" value="UTF-8" /> <!-- ************************************************************ --> <!-- Target: all --> <!-- ************************************************************ --> <!-- Specify the complete build targets here --> <target name= "all" description= "Compile and Package Application" depends= "resolve,dist" > <echo></echo> </target> <!-- ************************************************************ --> <!-- Target: init --> <!-- ************************************************************ --> <!-- setup steps required before compilation --> <target name= "init"> <!-- Standard target header --> <echo>${header}</echo> <echo>init</echo> <echo>${header}</echo> <echo></echo> <!-- ****************************************************** --> <!-- hostname --> <!-- ****************************************************** --> <!-- Try to set from what might defined in the current --> <!-- environment, unless defined on the command line --> <!-- (1) -dhostname if passed --> <!-- (2) "${env.HOSTNAME}" if defined (Unix) --> <!-- (3) "${env.COMPUTERNAME}" if defined (WSAD) --> <!-- (1) -dhostname if passed --> <!-- (2) "${env.HOSTNAME}" if defined --> <condition property= "hostname" value= "${env.HOSTNAME}" > <and> <not> <isset property= "hostname" /> </not> <isset property= "env.HOSTNAME" /> <not> <equals arg1="${env.HOSTNAME}" arg2="" /> </not> </and> </condition> <!-- (3) "${env.COMPUTERNAME}" if defined --> <condition property= "hostname" value= "${env.COMPUTERNAME}" > <and> <not> <isset property= "hostname" /> </not> <isset property= "env.COMPUTERNAME" /> <not> <equals arg1="${env.COMPUTERNAME}" arg2="" /> </not> </and> </condition> <!-- ****************************************************** --> <!-- build.repset: Repository Source Set --> <!-- ****************************************************** --> <!-- This property contains information populated by master --> <!-- build process only. Identifies which --> <!-- workset/baseline/branch/label of code was --> <!-- extracted from the source repository --> <!-- The meaning of this value would vary by repository, --> <!-- i.e.: Dimensions: Workset, Baseline or Release --> <!-- PVCS: Branch or label --> <!-- (1) In all cases, -D<property>= <value> will set first --> <!-- (2) Default: "unknown" --> <!-- Some default --> <condition property= "build.repset" value= "unknown" > <not> <isset property= "build.repset" /> </not> </condition> <!-- ****************************************************** --> <!-- pf.dir: Properties File Directory --> <!-- ****************************************************** --> <!-- The "pf" prefix is abbr for "properties files" --> <!-- This dir is where the local properties files are --> <!-- sourced from. This directory location is resolved --> <!-- from and assumed to be the same directory as this --> <!-- build.xml file at the time of invocation, default --> <!-- FULLPATH/build/ant, derived from build/ant/build.xml --> <dirname property= "pf.dir" file= "${ant.file}" /> <!-- ****************************************************** --> <!-- app.build.dir: Application Build Subdirectory --> <!-- ****************************************************** --> <!-- Root 'build' subdirectory of the application, --> <!-- under which the rest of the build subdirectories exist --> <!-- Now derived as the root directory of the properties --> <!-- file directory derived from the location of this build.xml. --> <!-- Some apps will need to relocate their build files --> <!-- into the Enterprise Application Project in order --> <!-- to allow for multiple build directories in the --> <!-- same Workspace in WSAD, even if each app must still --> <!-- have it's own build.xml --> <dirname property= "app.build.dir" file= "${pf.dir}" /> <!-- ****************************************************** --> <!-- pf.app: Application Properties File --> <!-- ****************************************************** --> <!-- This file contains properties which apply for the entire --> <!-- application build. --> <property name= "pf.app" value= "${pf.dir}/application.properties" /> <!-- Reference each property via: ${pf.app.PROPERTY} --> <loadproperties srcFile= "${pf.app}"> <filterchain> <prefixlines prefix= "pf.app." /> </filterchain> </loadproperties> <!-- ****************************************************** --> <!-- app.name: Application name --> <!-- ****************************************************** --> <!-- (1) In all cases, -D<property>= <value> will set first --> <!-- (2) Check/set from application properties file --> <!-- (3) Default: MyApplication --> <condition property= "app.name" value= "${pf.app.name}" > <and> <isset property= "pf.app.name" /> <not> <isset property= "app.name" /> </not> </and> </condition> <!-- Some default --> <condition property= "app.name" value= "MyApplication" > <not> <isset property= "app.name" /> </not> </condition> <!-- ****************************************************** --> <!-- app.version: Application version --> <!-- ****************************************************** --> <!-- (1) In all cases, -D<property>= <value> will set first --> <!-- (2) Check/set from application properties file --> <!-- (3) Default: unknown --> <condition property= "app.version" value= "${pf.app.version}" > <and> <isset property= "pf.app.version" /> <not> <isset property= "app.version" /> </not> </and> </condition> <!-- Some default --> <condition property= "app.version" value= "unknown" > <not> <isset property= "app.version" /> </not> </condition> <!-- ****************************************************** --> <!-- compile.jars: Flag, Compile JAR modules? --> <!-- ****************************************************** --> <!-- Set this property if any there are any JAR modules --> <!-- to be compiled and packaged in the application --> <!-- (1) Check/set from application properties file --> <!-- (2) Default: unset --> <condition property= "compile.jars" value= "${pf.app.compile.jars}" > <isset property= "pf.app.compile.jars" /> </condition> <!-- ****************************************************** --> <!-- compile.webs: Flag, Compile WEB modules? --> <!-- ****************************************************** --> <!-- Set this property if any there are any WEB modules --> <!-- to be compiled and packaged in the application --> <!-- (1) Check/set from application properties file --> <!-- (2) Default: unset --> <condition property= "compile.webs" value= "${pf.app.compile.webs}" > <isset property= "pf.app.compile.webs" /> </condition> <!-- ****************************************************** --> <!-- Note: all *.dist.prepare properties --> <!-- ****************************************************** --> <!-- These are flag properties that turn on operation --> <!-- of the dist targets. If the properties are set, the --> <!-- respective dist.targets are activated. If not, the --> <!-- dist targets may remain as dependencies and be called by --> <!-- the main 'dist' target but the 'if=' property checks --> <!-- in the dist targets will prevent the respective dist --> <!-- targets from being invoked. --> <!-- This provides application developers the ability to retain --> <!-- the deployed template more 'as-is' and turn off non-working --> <!-- distributions via properties settings in the application --> <!-- properties file. --> <!-- An alternative is to completely remove the properties --> <!-- and any unused targets as follows: --> <!-- (1) Remove these properties and their settings from --> <!-- this build.xml and the application properties file. --> <!-- (2) Update the 'dist' target dependencies to include --> <!-- only those targets invoked by the application build. --> <!-- (3) Remove/comment out the target code for any --> <!-- distributions not being produced by the application. --> <!-- This cleanup work would need to be performed each time --> <!-- the template is re-deployed into the application. --> <!-- ****************************************************** --> <!-- appsrvear.dist.prepare: Flag property --> <!-- ****************************************************** --> <!-- (1) Check/set from application properties file --> <!-- (2) Default: unset --> <condition property= "appsrvear.dist.prepare" value= "${pf.app.appsrvear.dist.prepare}" > <isset property= "pf.app.appsrvear.dist.prepare" /> </condition> <!-- ****************************************************** --> <!-- appsrvear.file.name: EAR file name --> <!-- ****************************************************** --> <!-- (1) In all cases, -D<property>= <value> will set first --> <!-- (2) Check/set from application properties file --> <!-- (3) Default: application name if set --> <condition property= "appsrvear.file.name" value= "${pf.app.appsrvear.file.name}" > <and> <isset property= "pf.app.appsrvear.file.name" /> <not> <isset property= "appsrvear.file.name" /> </not> </and> </condition> <condition property= "appsrvear.file.name" value= "${app.name}.ear" > <and> <isset property= "app.name" /> <not> <isset property= "appsrvear.file.name" /> </not> </and> </condition> <!-- ****************************************************** --> <!-- appsrvjartar.dist.prepare: Flag property --> <!-- ****************************************************** --> <!-- (1) Check/set from application properties file --> <!-- (2) Default: unset --> <condition property= "appsrvjartar.dist.prepare" value= "${pf.app.appsrvjartar.dist.prepare}" > <isset property= "pf.app.appsrvjartar.dist.prepare" /> </condition> <!-- ****************************************************** --> <!-- appsrvjartar.target.dir: Application tar target install directory --> <!-- ****************************************************** --> <!-- This defines the target directory where application jars --> <!-- and possibly application server content are to be --> <!-- untarred. --> <!-- (1) In all cases, -D<property>= <value> will set first --> <!-- (2) Check/set from application properties file --> <!-- (3) Default: /clocal/www/web-data/${app.name} --> <!-- Note: The default is *not* intended to work but to --> <!-- just provide some dummy value which will identify --> <!-- the application in which this value was not assigned. --> <condition property= "appsrvjartar.target.dir" value= "${pf.app.appsrvjartar.target.dir}" > <and> <isset property= "pf.app.appsrvjartar.target.dir" /> <not> <isset property= "appsrvjartar.target.dir" /> </not> </and> </condition> <condition property= "appsrvjartar.target.dir" value= "./${app.name}" > <not> <isset property= "appsrvjartar.target.dir" /> </not> </condition> <!-- ****************************************************** --> <!-- appsrvjartar.file.name: Application tar file name --> <!-- ****************************************************** --> <!-- This defines the name of the tar file created to --> <!-- contain common *.jar and possibly some content files --> <!-- deployed to specific path on the application server. --> <!-- (1) In all cases, -D<property>= <value> will set first --> <!-- (2) Check/set from application properties file --> <!-- (3) Default: application name --> <condition property= "appsrvjartar.file.name" value= "${pf.app.appsrvjartar.file.name}" > <and> <isset property= "pf.app.appsrvjartar.file.name" /> <not> <isset property= "appsrvjartar.file.name" /> </not> </and> </condition> <condition property= "appsrvjartar.file.name" value= "${app.name}_code_appserver.tar" > <and> <isset property= "app.name" /> <not> <isset property= "appsrvjartar.file.name" /> </not> </and> </condition> <!-- ****************************************************** --> <!-- websrvcontenttar.dist.prepare: Flag property --> <!-- ****************************************************** --> <!-- (1) Check/set from application properties file --> <!-- (2) Default: unset --> <condition property= "websrvcontenttar.dist.prepare" value= "${pf.app.websrvcontenttar.dist.prepare}" > <isset property= "pf.app.websrvcontenttar.dist.prepare" /> </condition> <!-- ****************************************************** --> <!-- websrvcontenttar.target.dir: Content tar file target directory --> <!-- ****************************************************** --> <!-- This is the root-level target directory path prefixed --> <!-- to all content files bundled into the application --> <!-- content tar file. Default is a DealerCONNECT path --> <!-- under which each application has defined subdirectories. --> <!-- (1) In all cases, -D<property>= <value> will set first --> <!-- (2) Check/set from application properties file --> <!-- (3) Default: "./${app.name}" --> <condition property= "websrvcontenttar.target.dir" value= "${pf.app.websrvcontenttar.target.dir}" > <and> <isset property= "pf.app.websrvcontenttar.target.dir" /> <not> <isset property= "websrvcontenttar.target.dir" /> </not> </and> </condition> <condition property= "websrvcontenttar.target.dir" value= "./${app.name}" > <not> <isset property= "websrvcontenttar.target.dir" /> </not> </condition> <!-- ****************************************************** --> <!-- websrvcontenttar.file.name: Content tar file name --> <!-- ****************************************************** --> <!-- (1) In all cases, -D<property>= <value> will set first --> <!-- (2) Check/set from application properties file --> <!-- (3) Default: application name if set --> <condition property= "websrvcontenttar.file.name" value= "${pf.app.websrvcontenttar.file.name}" > <and> <isset property= "pf.app.websrvcontenttar.file.name" /> <not> <isset property= "websrvcontenttar.file.name" /> </not> </and> </condition> <condition property= "websrvcontenttar.file.name" value= "${app.name}_content_webserver.tar" > <and> <isset property= "app.name" /> <not> <isset property= "websrvcontenttar.file.name" /> </not> </and> </condition> <!-- ****************************************************** --> <!-- websrvjartar.dist.prepare: Flag property --> <!-- ****************************************************** --> <!-- (1) Check/set from application properties file --> <!-- (2) Default: unset --> <condition property= "websrvjartar.dist.prepare" value= "${pf.app.websrvjartar.dist.prepare}" > <isset property= "pf.app.websrvjartar.dist.prepare" /> </condition> <!-- ****************************************************** --> <!-- websrvjartar.target.dir: Web Server jar tar file target directory --> <!-- ****************************************************** --> <!-- This is the root-level target directory path prefixed --> <!-- to all content files bundled into the application --> <!-- content tar file. Default is a DealerCONNECT path --> <!-- under which each application has defined subdirectories. --> <!-- (1) In all cases, -D<property>= <value> will set first --> <!-- (2) Check/set from application properties file --> <!-- (3) Default: "./${app.name}" --> <condition property= "websrvjartar.target.dir" value= "${pf.app.websrvjartar.target.dir}" > <and> <isset property= "pf.app.websrvjartar.target.dir" /> <not> <isset property= "websrvjartar.target.dir" /> </not> </and> </condition> <condition property= "websrvjartar.target.dir" value= "./${app.name}" > <not> <isset property= "websrvjartar.target.dir" /> </not> </condition> <!-- ****************************************************** --> <!-- websrvjartar.file.name: Content tar file name --> <!-- ****************************************************** --> <!-- (1) In all cases, -D<property>= <value> will set first --> <!-- (2) Check/set from application properties file --> <!-- (3) Default: application name if set --> <condition property= "websrvjartar.file.name" value= "${pf.app.websrvjartar.file.name}" > <and> <isset property= "pf.app.websrvjartar.file.name" /> <not> <isset property= "websrvjartar.file.name" /> </not> </and> </condition> <condition property= "websrvjartar.file.name" value= "${app.name}_code_webserver.tar" > <and> <isset property= "app.name" /> <not> <isset property= "websrvjartar.file.name" /> </not> </and> </condition> <!-- ****************************************************** --> <!-- pf.buildinfo : Build Information File --> <!-- ****************************************************** --> <!-- Build information file: pf.buildinfo --> <!-- This is an output file which records certain values --> <!-- used to create the build. This file is generated --> <!-- and included in the final application ear file --> <!-- Won't place it in the pf.dir since it's not an --> <!-- input/controlling type of properties file --> <property name= "build.tmpdir" value= "${app.build.dir}/tmp" /> <!-- Always create this directory up front --> <mkdir dir= "${build.tmpdir}" /> <mkdir dir= "${build.tmpdir}/lib" /> <!-- Special build file: Build Information --> <property name= "pf.buildinfo" value= "buildinfo" /> <!-- ****************************************************** --> <!-- build.info : Extra build identifier --> <!-- ****************************************************** --> <!-- Determine initial build value from one of the following --> <!-- (1) In all cases, -D<property>= <value> will override --> <!-- (2) Check/set from application properties file --> <!-- (3) Default: Empty string --> <!-- This is an extra build identifier string which may be --> <!-- passed to the build and is written to the buildinfo file. --> <!-- Ck/set from application properties file if set there --> <condition property= "build.info" value= "${pf.app.build.info}" > <and> <isset property= "pf.app.build.info" /> <not> <isset property= "build.info" /> </not> </and> </condition> <!-- Ck/set from application properties file if set there --> <condition property= "build.info" value= "" > <not> <isset property= "build.info" /> </not> </condition> <!-- ****************************************************** --> <!-- pf.appdep : Application Dependencies Properties File --> <!-- ****************************************************** --> <!-- Resolve locations of other external applications required --> <!-- for build. This setup is partially implemented by script --> <!-- on the build machine. If an 'appdep.txt' file is in the --> <!-- build directory , it is expanded to an --> <!-- appdep.${username}.${hostname}.properties file which receives --> <!-- a listing of properties along with the full path location to --> <!-- other application builds in the build area. --> <!-- Requires global env var setting: ${hostname} --> <!-- Checks & settings: --> <!-- (1) "appdep.${user.name}.${hostname}.properties" if found --> <!-- (2) "appdep.${user.name}.properties" if found --> <!-- (3) "${app.build.dir}/tmp/appdep.null.properties" (null created) if found --> <!-- This configuration creates and sets the properties file name --> <!-- to a null file so that ant will quietly ignore the situation --> <!-- where it would abort if the file was not present. --> <!-- This file is not normally used within the build.xml file --> <!-- but was provided as a workaround for certain application that --> <!-- need to be built and deployed in a more modular way. --> <!-- (1) "appdep.${user.name}.${hostname}.properties" if found --> <condition property= "pf.appdep" value= "${pf.dir}/appdep.${user.name}.${hostname}.properties" > <available type= "file" file= "${pf.dir}/appdep.${user.name}.${hostname}.properties" > </available> </condition> <!-- (2) "appdep.${user.name}.properties" if found --> <condition property= "pf.appdep" value= "${pf.dir}/appdep.${user.name}.properties" > <and> <available type= "file" file= "${pf.dir}/appdep.${user.name}.properties" > </available> <not> <isset property= "pf.appdep" /> </not> </and> </condition> <!-- (3) 'loadproperties' will blow up if not there though so --> <!-- if not found, create a null properties file and set the --> <!-- pf.appdep property to point to the dummy file. Can't --> <!-- use 'touch' since even a zero length file will blow up, --> <!-- had to at least put a space in the file so it was --> <!-- greater than zero length in size. --> <echo file= "${build.tmpdir}/appdep.null.properties" > </echo> <condition property= "pf.appdep" value= "${build.tmpdir}/appdep.null.properties" > <not> <isset property= "pf.appdep" /> </not> </condition> <!-- Reference each property via: ${appdep.PROPERTY} --> <loadproperties srcFile= "${pf.appdep}"> <filterchain> <prefixlines prefix= "appdep." /> </filterchain> </loadproperties> <!-- ****************************************************** --> <!-- pf.user : User Properties File --> <!-- ****************************************************** --> <!-- Layered checks & settings: --> <!-- (1) "user.${user.name}.${hostname}.properties" if found --> <!-- (2) "user.${user.name}.properties" if found --> <!-- (3) "user.default.properties" if found --> <!-- Requires global env var setting: ${hostname} --> <!-- NOTE: Ant will quietly ignore if this file not present --> <!-- (1) "user.${user.name}.${hostname}.properties" if found --> <condition property= "pf.user" value= "${pf.dir}/user.${user.name}.${hostname}.properties" > <and> <available type= "file" file= "${pf.dir}/user.${user.name}.${hostname}.properties" > </available> <not> <isset property= "pf.user" /> </not> </and> </condition> <!-- (2) "user.${user.name}.properties" if found --> <condition property= "pf.user" value= "${pf.dir}/user.${user.name}.properties" > <and> <available type= "file" file= "${pf.dir}/user.${user.name}.properties" > </available> <not> <isset property= "pf.user" /> </not> </and> </condition> <!-- (3) "user.default.properties" if found --> <condition property= "pf.user" value= "${pf.dir}/user.default.properties" > <and> <available type= "file" file= "${pf.dir}/user.default.properties" > </available> <not> <isset property= "pf.user" /> </not> </and> </condition> <!-- Reference each property via: ${user.PROPERTY} --> <loadproperties srcFile= "${pf.user}"> <filterchain> <prefixlines prefix= "pf.user." /> </filterchain> </loadproperties> <!-- NOTE: Per DEALERCONNECT2.0 Architecture document, pp. 5: --> <!-- "do NOT use the deprecation= "on" option for the javac Ant --> <!-- task or it will crash Application Developer. Either --> <!-- don't specify anything or else use deprecation= "off"" --> <!-- In the name of avoiding properties file & ant build file --> <!-- conflicts, we prefixed all the properties read in from the --> <!-- properties file with "user." Assign the users file --> <!-- we wish to retain here. --> <property name= "compiler.debug" value= "${pf.user.compiler.debug}" /> <property name= "compiler.debuglevel" value= "${pf.user.compiler.debuglevel}" /> <property name= "compiler.deprecation" value= "${pf.user.compiler.deprecation}" /> <property name= "compiler.encoding" value= "${pf.user.compiler.encoding}" /> <property name= "compiler.type" value= "${pf.user.compiler.type}" /> <property name= "compiler.verbose" value= "${pf.user.compiler.verbose}" /> <property name= "compiler.optimize" value= "${pf.user.compiler.optimize}" /> <!-- Special property set to control deletion of files --> <condition property= "source.and.build.are.same" > <equals arg1= "${src.dir}" arg2= "${bld.dir}" /> </condition> <!-- ****************************************************** --> <!-- ext.rootdir.vendor: Outside-of-Project 3rd Party Directory --> <!-- ****************************************************** --> <!-- Set ext.rootdir.vendor to the location of the global vendor --> <!-- application directory. The intent of this --> <!-- implementation was to allow for various properties --> <!-- referring to the static and known --> <!-- relative subdirectories *within* the tree once they are --> <!-- provided with the location of the vendor directory itself. --> <!-- (1) In all cases, -D<property>= <value> will set first --> <!-- (2) Check/set from env var VENDORROOT --> <!-- (3) Check/set from user/host properties file --> <condition property= "ext.rootdir.vendor" value= "${env.VENDORROOT}" > <and> <isset property= "env.VENDORROOT" /> <not> <isset property= "ext.rootdir.vendor" /> </not> </and> </condition> <!-- NOTE: "ext.rootdir.vendor" prefixed with "pf.user." when parsed --> <condition property= "ext.rootdir.vendor" value= "${pf.user.ext.rootdir.vendor}" > <and> <isset property= "pf.user.ext.rootdir.vendor" /> <not> <isset property= "ext.rootdir.vendor" /> </not> </and> </condition> <!-- ****************************************************** --> <!-- ext.libdir.db2: DB2 Libraries --> <!-- ****************************************************** --> <!-- Set ext.libdir.db2 to the location of the MQ Libraries --> <!-- (1) In all cases, -D<property>= <value> will set first --> <!-- (2) Check/set from env var DB2LIBS --> <!-- (3) Check/set from user/host properties file --> <condition property= "ext.libdir.db2" value= "${env.DB2LIBS}" > <and> <isset property= "env.DB2LIBS" /> <not> <isset property= "ext.libdir.db2" /> </not> </and> </condition> <!-- NOTE: "ext.libdir.db2" prefixed with "pf.user." when parsed --> <condition property= "ext.libdir.db2" value= "${pf.user.ext.libdir.db2}" > <and> <isset property= "pf.user.ext.libdir.db2" /> <not> <isset property= "ext.libdir.db2" /> </not> </and> </condition> <!-- Dummy default, override will be ignored by ant. --> <property name= "ext.libdir.db2" location= "${build.tmpdir}" /> <!-- ****************************************************** --> <!-- ext.libdir.mq: MQ Libraries --> <!-- ****************************************************** --> <!-- Set ext.libdir.mq to the location of the MQ Libraries --> <!-- (1) In all cases, -D<property>= <value> will set first --> <!-- (2) Check/set from env var MQLIBS --> <!-- (3) Check/set from user/host properties file --> <condition property= "ext.libdir.mq" value= "${env.MQLIBS}" > <and> <isset property= "env.MQLIBS" /> <not> <isset property= "ext.libdir.mq" /> </not> </and> </condition> <!-- NOTE: "ext.libdir.mq" prefixed with "pf.user." when parsed --> <condition property= "ext.libdir.mq" value= "${pf.user.ext.libdir.mq}" > <and> <isset property= "pf.user.ext.libdir.mq" /> <not> <isset property= "ext.libdir.mq" /> </not> </and> </condition> <!-- Dummy default, override will be ignored by ant. --> <property name= "ext.libdir.mq" location= "${build.tmpdir}" /> <!-- ****************************************************** --> <!-- ext.libdir.common: COMMON code directory --> <!-- ****************************************************** --> <!-- Set common.vendor.dir to the location of the --> <!-- development environment COMMON code--> <!-- (1) In all cases, -D<property>= <value> will set first --> <!-- (2) Check/set from env var COMMONLIBS --> <!-- (3) Check/set from user/host properties file --> <condition property= "ext.libdir.common" value= "${env.COMMONLIBS}" > <and> <isset property= "env.COMMONLIBS" /> <not> <isset property= "ext.libdir.common" /> </not> </and> </condition> <!-- NOTE: "ext.libdir.common" prefixed with "pf.user." when parsed --> <condition property= "ext.libdir.common" value= "${pf.user.ext.libdir.common}" > <and> <isset property= "pf.user.ext.libdir.common" /> <not> <isset property= "ext.libdir.common" /> </not> </and> </condition> <!-- Dummy default, override will be ignored by ant. --> <property name= "ext.libdir.common" location= "${build.tmpdir}" /> <!-- ****************************************************** --> <!-- ext.rootdir.was: Root WAS Directory --> <!-- ****************************************************** --> <!-- Set ext.rootdir.was to the root WAS directory path --> <!-- This is an important environment variable which must --> <!-- map to the same relative directory path regardless of --> <!-- platform: DOS/UNIX and application: WSAD/WAS. --> <!-- The main set of WAS jars are located in the ./lib --> <!-- subdirectory of this subdirectory --> <!-- (1) In all cases, -D<property>= <value> will set first --> <!-- (2) Check/set from env var WAS_HOME --> <!-- (3) Check/set from user/host properties file --> <condition property= "ext.rootdir.was" value= "${env.WAS_HOME}" > <and> <isset property= "env.WAS_HOME" /> <not> <isset property= "ext.rootdir.was" /> </not> </and> </condition> <!-- NOTE: "ext.rootdir.was" prefixed with "pf.user." when parsed --> <condition property= "ext.rootdir.was" value= "${pf.user.ext.rootdir.was}" > <and> <isset property= "pf.user.ext.rootdir.was" /> <not> <isset property= "ext.rootdir.was" /> </not> </and> </condition> <!-- Dummy default, override will be ignored by ant. --> <property name= "ext.rootdir.was" location= "${build.tmpdir}" /> <!-- ****************************************************** --> <!-- CLASSPATH --> <!-- ****************************************************** --> <!-- Classpath ID references are listed in the order in which --> <!-- they are set in the full classpath passed to the --> <!-- builds. Libs found in WAS will always take precedence --> <!-- over any others, then: DB2, MQ, DealerCONNECT Common --> <!-- Code, and then the internal application classes. This --> <!-- effectively prevents applications from using older --> <!-- versions of existing classes in the vendorlib --> <!-- directories of their applications. --> <!-- WAS Directories --> <!-- Default: Include the main ./lib directory under the --> <!-- WAS root directory, some applications may need to --> <!-- add in additional directories. --> <!-- Warning: Do not include the entire WAS directory tree --> <!-- because it is very large and parsing through it takes --> <!-- substantial time and system resources. --> <path id = "class.path.was" > <fileset dir = "${ext.rootdir.was}/lib" > <include name= "**/*.jar" /> <include name= "**/*.zip" /> </fileset> </path> <!-- DB2 Directories --> <path id = "class.path.db2" > <fileset dir = "${ext.libdir.db2}" > <include name= "**/*.jar" /> <include name= "**/*.zip" /> </fileset> </path> <!-- MQ Series Directories --> <path id = "class.path.mq" > <fileset dir = "${ext.libdir.mq}" > <include name= "**/*.jar" /> <include name= "**/*.zip" /> </fileset> </path> <!-- Common Code --> <path id = "class.path.common" > <fileset dir = "${ext.libdir.common}"> <include name= "**/*.jar" /> <include name= "**/*.zip" /> </fileset> </path> <!-- CUSTOMIZE.class.path.app --> <!-- Add in each JAR Module or other lib directory if --> <!-- required as dependencies to other modules. --> <!-- You must 'mkdir' each of these directories prior to --> <!-- the 'path id' tag otherwise the reference will fail --> <!-- and the build.xml will abort. --> <!-- Application JAR Module classes --> <mkdir dir= "${bld.dir}/QuickLopJava/${subdir.jarm.libs}" /> <mkdir dir= "${bld.dir}/QuickLopWS/Web Content/WEB-INF/${subdir.jarm.libs}" /> <!-- START Changes for PMO#16.51 --> <mkdir dir= "${bld.dir}/QuickLopDcidWS/Web Content/WEB-INF/${subdir.jarm.libs}" /> <!-- END Changes for PMO#16.51 --> <path id = "class.path.app" > <fileset dir= "${bld.dir}/QuickLopJava/${subdir.jarm.libs}" > <include name= "**/*.jar" /> </fileset> <fileset dir= "QuickLopWeb/Web Content/WEB-INF/lib/" > <include name= "**/*.jar" /> </fileset> <fileset dir= "QuickLopWeb/Web Content/WEB-INF/lib/" > <include name= "**/*.zip" /> </fileset> <fileset dir= "QuickLopWS/Web Content/WEB-INF/lib/" > <include name= "**/*.jar" /> </fileset> <fileset dir= "QuickLopWS/Web Content/WEB-INF/lib/" > <include name= "**/*.zip" /> </fileset> <!-- START Changes for PMO#16.51 --> <fileset dir= "QuickLopDcidWS/Web Content/WEB-INF/lib/" > <include name= "**/*.jar" /> </fileset> <fileset dir= "QuickLopDcidWS/Web Content/WEB-INF/lib/" > <include name= "**/*.zip" /> </fileset> <!-- END Changes for PMO#16.51 --> </path> <!-- FTT changes --> <!-- Selenium --> <path id="seleniumTest.classpath"> <path refid="class.path.common" /> </path> <!-- Selenium --> <!-- FTT changes --> <!-- Accumulate all parts into one classpath reference ID --> <path id = "class.path.full" > <pathelement path= "${java.class.path}" /> <path refid= "class.path.was" /> <path refid= "class.path.db2" /> <path refid= "class.path.mq" /> <path refid= "class.path.common" /> <path refid= "class.path.app" /> </path> <!-- Set property based on platform type --> <condition property= "isunix"> <os family= "unix"/> </condition> <!-- Create any required target root-level directories --> <mkdir dir= "${bld.dir}" /> <echo></echo> </target> <!-- ************************************************************ --> <!-- Target: compile --> <!-- ************************************************************ --> <!-- This is a top-level compile target which describes the --> <!-- overall compile process. It has general tasks described --> <!-- within. You should not need to modify this target at --> <!-- instead, add in module dependencies to the sub-targets --> <target name= "compile" description= "Compile Modules: All JAR, WEB" depends= "init,compile.jar,compile.web" > <!-- Standard target header --> <echo>${header}</echo> <echo>compile</echo> <echo>${header}</echo> <echo></echo> <echo></echo> </target> <!-- ************************************************************ --> <!-- Target: compile.jar --> <!-- ************************************************************ --> <!-- CUSTOMIZE.compile.jar --> <!-- Update the "depends" of compile.jar to include the --> <!-- individual JAR Module targets to compile. --> <!-- Compile All JAR Modules --> <!-- This is a second-level grouping target which invokes --> <!-- specific module packaging targets . --> <!-- Please do not modify this target except to add in --> <!-- dependency JAR module targets. --> <target name= "compile.jar" if= "compile.jars" description= "Compile Modules: All JAR" depends= "init,compile.jarm.QuickLopJava" > <!-- Standard target header --> <echo>${header}</echo> <echo>compile.jar</echo> <echo>${header}</echo> <echo></echo> <echo></echo> </target> <!-- ************************************************************ --> <!-- Target: compile.jarm.antcall --> <!-- ************************************************************ --> <!-- This target compiles a JAR module in a standard way. --> <!-- The classes are compiled in the subdirectory structure --> <!-- immediately below the module name and will need to be --> <!-- accumulated by 'ant' using the *.class suffix. --> <!-- Either form may be included in other build & packaging --> <!-- This target should not be modified in any way. --> <!-- It can be invoked by a a module-specific target --> <!-- by means of antcall while setting the property: --> <!-- <param name= "module.name" value= "<MODULENAME>"/> --> <!-- If something custom must be done for a specific module, --> <!-- this target can be copied to a new module target named --> <!-- 'compile.jarm.<MODULENAME>' and then modified as needed. --> <target name= "compile.jarm.antcall" if= "compile.jars" depends= "init" > <!-- Standard target header --> <echo>${header}</echo> <echo>compile.jarm.antcall: module.name= "${module.name}"</echo> <echo>${header}</echo> <echo></echo> <!-- Required as a source dependency, even if no contents --> <mkdir dir="${src.dir}/${module.name}/${subdir.jarm.vendorlibs}" /> <!-- Where we compile classes to --> <mkdir dir= "${bld.dir}/${module.name}/${subdir.jarm.classes}" /> <javac srcdir="${src.dir}/${module.name}" destdir="${bld.dir}/${module.name}" compiler="${compiler.type}" debug="${compiler.debug}" debuglevel="${compiler.debuglevel}" deprecation="${compiler.deprecation}" encoding="${compiler.encoding}" includeAntRuntime="false" optimize="${compiler.optimize}" listfiles="true" verbose="${compiler.verbose}" > <classpath refid= "class.path.full" > </classpath> <classpath> <fileset dir="${src.dir}/${module.name}/${subdir.jarm.vendorlibs}" includes="**/*.jar" > </fileset> <fileset dir="${bld.dir}/${module.name}/${subdir.jarm.classes}" includes="**/*.class" > </fileset> </classpath> </javac> <!-- Where we copy and jar *.jars to --> <mkdir dir="${bld.dir}/${module.name}/${subdir.jarm.libs}" /> <!-- Create the *.jar file with the newly compiled classes in --> <!-- the target lib subdirectory --> <jar destfile= "${bld.dir}/${module.name}/${subdir.jarm.libs}/${jar.name}.jar" basedir= "${bld.dir}/${module.name}/${subdir.jarm.classes}" includes= "**/*.class,**/*.dtd,**/*.xml" update="false" > </jar> <!-- Copy the vendor supplied jars kept in the source --> <!-- repository directory into the target lib directory --> <!-- for build and packaging --> <echo>todir= "${bld.dir}/${module.name}/${subdir.jarm.libs}"</echo> <echo>todir= "${bld.dir}/${module.name}/${subdir.jarm.libs}"</echo> <echo>dir= "${src.dir}/${module.name}/${subdir.jarm.vendorlibs}"</echo> <copy todir= "${bld.dir}/${module.name}/${subdir.jarm.libs}" preservelastmodified= "true" verbose= "false" > <fileset dir= "${src.dir}/${module.name}/${subdir.jarm.vendorlibs}" includes= "**/*.jar" > </fileset> </copy> <echo></echo> </target> <!-- ************************************************************ --> <!-- Target: compile.web --> <!-- ************************************************************ --> <!-- CUSTOMIZE.compile.web --> <!-- Update the "depends" of compile.web to include the --> <!-- individual WEB Module targets to compile. --> <!-- Compile All WEB Modules --> <!-- This is a second-level grouping target which invokes --> <!-- specific module compile targets . --> <!-- Please do not modify this target except to add in --> <!-- dependency JAR & WEB module targets. --> <!-- Changes for PMO#16.51 added compile.webm.QuickLopDcidWS --> <target name= "compile.web" if= "compile.webs" description= "Compile Modules: All WEB" depends= "init,compile.webm.QuickLopWeb,compile.webm.QuickLopWS,compile.webm.QuickLopDcidWS"> <!-- Standard target header --> <echo>${header}</echo> <echo>compile.web</echo> <echo>${header}</echo> <echo></echo> <echo></echo> </target> <!-- ************************************************************ --> <!-- Target: compile.webm.antcall --> <!-- ************************************************************ --> <!-- This target compiles a WEB module in a standard way. --> <!-- This target should not be modified in any way. --> <!-- It can be invoked by a a module-specific target --> <!-- by means of antcall while setting the property: --> <!-- <param name= "module.name" value= "<MODULENAME>"/> --> <!-- If something custom must be done for a specific module, --> <!-- this target can be copied to a new module target named --> <!-- 'compile.webm.<MODULENAME>' and then modified as needed. --> <target name= "compile.webm.antcall" if= "compile.webs" depends= "init" > <!-- Standard target header --> <echo>${header}</echo> <echo>compile.webm.antcall: module.name= "${module.name}"</echo> <echo>${header}</echo> <echo></echo> <!-- Required as a source dependency --> <mkdir dir= "${src.dir}/${module.name}/${subdir.webm.vendorlibs}" /> <!-- Where we compile classes to --> <mkdir dir= "${bld.dir}/${module.name}/${subdir.webm.classes}" /> <javac srcdir= "${src.dir}/${module.name}/${subdir.webm.wsadjavasource}" destdir= "${bld.dir}/${module.name}/${subdir.webm.classes}" compiler= "${compiler.type}" debug= "${compiler.debug}" debuglevel= "${compiler.debuglevel}" deprecation= "${compiler.deprecation}" encoding= "${compiler.encoding}" includeAntRuntime= "false" optimize= "${compiler.optimize}" listfiles="true" verbose= "${compiler.verbose}" > <classpath refid= "class.path.full" > </classpath> <classpath> <fileset dir= "${src.dir}/${module.name}/${subdir.webm.vendorlibs}" includes= "**/*.jar" > </fileset> <fileset dir= "${bld.dir}/${module.name}/${subdir.webm.classes}" includes= "**/*.class" > </fileset> </classpath> </javac> <!-- Copy the .xml files into the WEB-INF/classes folder - Added 12/4/04 t1351jh <copy todir= "${bld.dir}/${module.name}/${subdir.webm.classes}" verbose="true"> <fileset dir="${bld.dir}/${module.name}/${subdir.webm.wsadjavasource}/xml" includes= "**" > </fileset> </copy>--> <!-- Where we jar the files to --> <mkdir dir= "${bld.dir}/${module.name}/${subdir.webm.libs}" /> <!-- Copy the vendor supplied jars kept in the source --> <!-- repository directory into the target lib directory --> <!-- for build and packaging --> <copy todir= "${bld.dir}/${module.name}/${subdir.webm.libs}" preservelastmodified= "true" verbose= "false" > <fileset dir= "${src.dir}/${module.name}/${subdir.webm.vendorlibs}" includes= "**/*.jar" > </fileset> </copy> <echo></echo> </target> <!-- ************************************************************ --> <!-- Target: dist --> <!-- ************************************************************ --> <!-- Top-level target to prepare all distributions. --> <!-- Additional standard "distributions" will be created and --> <!-- added in as dependencies to this full distribution target --> <!-- in the future. --> <target name= "dist" description= "Prepare Distribution: All" depends= "dist.appsrvear,dist.appsrvjartar,dist.websrvcontenttar,dist.websrvjartar"> <!-- Standard target header --> <echo>${header}</echo> <echo>dist</echo> <echo>${header}</echo> <echo></echo> <echo>Full Distribution Root: ${dist.dir}</echo> <echo>Build Completed.</echo> </target> <!-- ************************************************************ --> <!-- Target: dist.appsrvear --> <!-- ************************************************************ --> <!-- Application packaging --> <!-- Create the J2EE Application EAR Module file --> <!-- This target bundles up all the Web Project war files --> <!-- created by the pkg.<TYPE>.<WEBPROJECT> targets along --> <!-- with the Enterprise Application Project to produce the --> <!-- final application ear file destined for deployment --> <!-- on the application server. --> <target name= "dist.appsrvear" if= "appsrvear.dist.prepare" description= "Prepare Distribution: J2EE Ear File of Application" depends= "init,update.buildinfo,pkg.jar,pkg.web" > <!-- Standard target header --> <echo>${header}</echo> <echo>dist.appsrvear</echo> <echo>${header}</echo> <echo></echo> <mkdir dir="${subdir.dist.appsrvear}" /> <!-- Note: Itis posible to add and use the following --> <!-- "manifest" file specifier passed to the "ear" task --> <!-- and control packaging by individual file names --> <!-- developers maintain in the manifest.mf file. --> <!-- manifest="${subdir.dist.appsrvear}/manifest.mf"> --> <echo>${src.dir}/${app.name}/QuickLopWeb/${subdir.webm.wsadwebcontent}/xml</echo> <echo>${src.dir}/${app.name}/QuickLopWS/${subdir.webm.wsadwebcontent}/xml</echo> <!-- START Changes for PMO# 16.51 --> <echo>${src.dir}/${app.name}/QuickLopDcidWS/${subdir.webm.wsadwebcontent}/xml</echo> <!-- END Changes for PMO# 16.51 --> <ear destfile= "${subdir.dist.appsrvear}/${appsrvear.file.name}" appxml="${src.dir}/${app.name}/META-INF/application.xml" update="false" > <!-- This is a special properties file created to record --> <!-- information about the build itself --> <fileset dir= "${build.tmpdir}" > <include name= "${pf.buildinfo}" /> </fileset> <!-- Include files from the Enterprise Application --> <!-- Sub-directory directly into the EAR file. --> <fileset dir= "${src.dir}/${app.name}/" > <exclude name="ant/**" /> <exclude name="bin/**" /> <exclude name="lib/**" /> <exclude name="tmp/**" /> <exclude name="**/.classpath" /> <exclude name="**/.modulemaps" /> <exclude name="**/.project" /> <exclude name="**/.serverPreference" /> <exclude name="**/.websettings" /> <exclude name="**/*.ecl" /> <exclude name="**/*.jar" /> <exclude name="META-INF/application.xml" /> <include name="**/**" /> </fileset> <!-- CUSTOMIZE.dist.appsrvear.include.subdirs --> <!-- Add/change filesets below to include the contents --> <!-- of each Java and Web Module into the final EAR --> <!-- file. The contents of any intermediate packaging --> <!-- subdirectories should be created/staged by the --> <!-- pkg.<TYPE>.<WEBPROJECT> targets --> <!-- Include pre-packaged Web project war file(s) --> <fileset dir= "${bld.dir}/QuickLopWeb/${subdir.pkg.appsrvear}" includes= "*.war" > </fileset> <fileset dir= "${bld.dir}/QuickLopWS/${subdir.pkg.appsrvear}" includes= "*.war" > </fileset> <!-- START Changes for PMO#16.51 --> <fileset dir= "${bld.dir}/QuickLopDcidWS/${subdir.pkg.appsrvear}" includes= "*.war" > </fileset> <!-- END Changes for PMO#16.51 --> </ear> <echo>Dist Dir 'appsrvear': ${subdir.dist.appsrvear}</echo> <echo>Build Completed.</echo> <echo></echo> </target> <!-- ************************************************************ --> <!-- Target: dist.appsrvjartar --> <!-- ************************************************************ --> <!-- Application packaging, application server tar file --> <!-- This target creates a tar file distribution of files --> <!-- destined for the application server but are not deployed --> <!-- as part of the EAR file. This mainly includes --> <!-- specially deployed jar or class files created in the --> <!-- Java Modules and may also possibly include certain content, --> <!-- if the content cannot be included in the application ear file. --> <!-- In order to prevent issues with the handling of long --> <!-- file paths, we are standardizing on GNU tar being used --> <!-- as the tar format for preparing these tar files and --> <!-- uncompressing them on the target server. --> <!-- CUSTOMIZE.dist.appsrvjartar --> <!-- Most applications will not require this packaging target --> <!-- and can remove it as dependency from the dist target. --> <!-- Other applications should update the source tarfileset(s) --> <!-- below as necessary in order to create a tar file for --> <!-- deployment on the application server. --> <target name= "dist.appsrvjartar" if= "appsrvjartar.dist.prepare" description= "Prepare Distribution: Tar of Jars/Content for App Server" depends= "init,pkg.jar" > <!-- Standard target header --> <echo>${header}</echo> <echo>dist.appsrvjartar</echo> <echo>${header}</echo> <echo>src.dir=${src.dir}</echo> <echo>appsrvjartar.target.dir=${appsrvjartar.target.dir}</echo> <echo>subdir.webm.wsadwebcontent=${subdir.webm.wsadwebcontent}</echo> <echo>this dir is ${src.dir}/QuickLopWeb/${subdir.webm.wsadwebcontent}</echo> <echo>this dir is ${src.dir}/QuickLopWS/${subdir.webm.wsadwebcontent}</echo> <!-- START Changes for PMO#16.51 --> <echo>this dir is ${src.dir}/QuickLopDcidWS/${subdir.webm.wsadwebcontent}</echo> <!-- END Changes for PMO#16.51 --> <mkdir dir="${subdir.dist.appsrvjartar}" /> <tar destfile= "${subdir.dist.appsrvjartar}/${appsrvjartar.file.name}" longfile= "gnu"> <!-- CUSTOMIZE.dist.appsrvjartar --> <!-- Add in subdirectories and contents to be included in --> <!-- the tar file to be deployed to the application server. --> <!-- This tarfileset packages jar file(s) compiled and packaged --> <!-- in the Java Module ./lib subdirectory. Change source --> <!-- and target prefix as needed. --> <tarfileset dir="${src.dir}/QuickLopJava/${subdir.jarm.libs}" prefix="${appsrvjartar.target.dir}/WEB-INF/lib" preserveLeadingSlashes="true"> <include name="*.jar"/> </tarfileset> <!-- This target is added by pradeep for copying the index files to the web-inf classes dir under the quicklop dir --> <tarfileset dir="${src.dir}/QuickLopWeb/${subdir.webm.wsadwebcontent}/index_files" prefix="${appsrvjartar.target.dir}/WEB-INF/classes" preserveLeadingSlashes="true"> <include name="**/*.*"/> </tarfileset> <tarfileset dir="${src.dir}/QuickLopWeb/${subdir.webm.wsadwebcontent}/dtd" prefix="${appsrvjartar.target.dir}/dtd" preserveLeadingSlashes="true"> <include name="**/*.*"/> </tarfileset> <tarfileset dir="${src.dir}/QuickLopWeb/${subdir.webm.wsadwebcontent}/annfile" prefix="${appsrvjartar.target.dir}/annfile" preserveLeadingSlashes="true"> <include name="**/*.*"/> </tarfileset> <!-- This command is added by pradeep to include the web-inf\lib\*.jar inside the appsrvjartar --> <tarfileset dir="${src.dir}/QuickLopWeb/${subdir.webm.wsadwebcontent}/WEB-INF/lib" prefix="${appsrvjartar.target.dir}/WEB-INF/lib" preserveLeadingSlashes="true"> <include name="**/*.jar"/> </tarfileset> <!-- This tarfileset packages application content --> <!-- files destined for the application server by means --> <!-- of tar file distribution. Change source and --> <!-- target prefix as needed. --> <tarfileset dir="${src.dir}/QuickLopWeb/${subdir.webm.wsadwebcontent}" prefix="${appsrvjartar.target.dir}/QuickLopWeb" preserveLeadingSlashes="true"> <include name="app_resources/**" /> </tarfileset> <tarfileset dir="${src.dir}/QuickLopWS/${subdir.webm.wsadwebcontent}/WEB-INF/lib" prefix="${appsrvjartar.target.dir}/WEB-INF/lib" preserveLeadingSlashes="true"> <include name="**/*.jar"/> </tarfileset> <!-- START: Changes for PMO#16.51 --> <tarfileset dir="${src.dir}/QuickLopDcidWS/${subdir.webm.wsadwebcontent}/WEB-INF/lib" prefix="${appsrvjartar.target.dir}/WEB-INF/lib" preserveLeadingSlashes="true"> <include name="**/*.jar"/> </tarfileset> <!-- END: Changes for PMO#16.51 --> </tar> <echo>Dist Dir 'appsrvjartar': ${subdir.dist.appsrvjartar}</echo> <echo>Build Completed.</echo> <echo></echo> </target> <!-- ************************************************************ --> <!-- Target: dist.websrvcontenttar --> <!-- ************************************************************ --> <!-- Content files destined for Web Server only --> <!-- This target prepares a tar file of content destined for --> <!-- the web server. This likely includes html and image --> <!-- content prepared in the webcontent/web subdirectory. --> <!-- In order to prevent issues with the handling of long --> <!-- file paths, we are standardizing on GNU tar being used --> <!-- as the tar format for preparing these tar files and --> <!-- uncompressing them on the target server. --> <target name= "dist.websrvcontenttar" if= "websrvcontenttar.dist.prepare" description= "Prepare Distribution: Tar of Web Content for Web Server" depends= "init" > <!-- Standard target header --> <echo>${header}</echo> <echo>dist.websrvcontenttar</echo> <echo>${header}</echo> <echo></echo> <mkdir dir="${subdir.dist.websrvcontenttar}" /> <!-- CUSTOMIZE.dist.websrvcontenttar --> <!-- The sources for each module that should be included --> <!-- in the content tar file must be individually specified --> <!-- as tarfilesets below. --> <!-- Be very careful how the the base and relative directories --> <!-- are specified because they impact how the file is --> <!-- extracted on the remote web server. --> <!-- The tarfileset subdirectories included follow a --> <!-- proposed directory organization which attempted to --> <!-- separate app and web content out into certain --> <!-- sub-directories. --> <!-- Initially 'resources' was proposed as a subdirectory --> <!-- for webcontent and it was assumed that anything under --> <!-- 'resources' would be deployed to the web servers only. --> <!-- It later turned out that using one subdirectory --> <!-- named 'resources' didn't organize the content as --> <!-- desired for packaging for later distribution onto --> <!-- separate app and web servers (dtds & xsds were suddenly --> <!-- needed on the app server and not the web server). --> <!-- It was later decided separating content into distinct --> <!-- 'web_resources' and 'app_resources' directories --> <!-- would help better organize content for packaging. --> <!-- Application groups should attempt to organize their --> <!-- content into the later two subdirectories or --> <!-- customize the subdirectories listed as needed. --> <tar destfile= "${subdir.dist.websrvcontenttar}/${websrvcontenttar.file.name}" longfile= "gnu"> <tarfileset dir= "${src.dir}/QuickLopWeb/${subdir.webm.wsadwebcontent}" prefix= "${websrvcontenttar.target.dir}" preserveLeadingSlashes= "true" > <include name="**/*.js" /> <include name="**/*.css" /> <include name="**/*.html" /> <include name="images/**" /> <include name="resources/**" /> <include name="web_resources/**" /> </tarfileset> <tarfileset dir= "${src.dir}/QuickLopWS/${subdir.webm.wsadwebcontent}" prefix= "${websrvcontenttar.target.dir}" preserveLeadingSlashes= "true" > <include name="**/*.js" /> <include name="**/*.css" /> <include name="**/*.html" /> <include name="images/**" /> <include name="resources/**" /> <include name="web_resources/**" /> </tarfileset> <!-- START Changes for PMO#16.51 --> <tarfileset dir= "${src.dir}/QuickLopDcidWS/${subdir.webm.wsadwebcontent}" prefix= "${websrvcontenttar.target.dir}" preserveLeadingSlashes= "true" > <include name="**/*.js" /> <include name="**/*.css" /> <include name="**/*.html" /> <include name="images/**" /> <include name="resources/**" /> <include name="web_resources/**" /> </tarfileset> <!-- END Changes for PMO#16.51 --> </tar> <echo>Dist Dir 'websrvcontenttar': ${subdir.dist.websrvcontenttar}</echo> <echo>Build Completed.</echo> <echo></echo> </target> <!-- ************************************************************ --> <!-- Target: dist.websrvjartar --> <!-- ************************************************************ --> <!-- Special distribution to handle the case where Jars/Applets --> <!-- must be built and deployed on the Web Servers. --> <!-- Unless there is a really special need/requirement worked --> <!-- out with the architects and server administrators, --> <!-- application code should go into the application ear --> <!-- or application tar file. --> <!-- In order to prevent issues with the handling of long --> <!-- file paths, we are standardizing on GNU tar being used --> <!-- as the tar format for preparing these tar files and --> <!-- uncompressing them on the target server. --> <target name= "dist.websrvjartar" if= "websrvjartar.dist.prepare" description= "Prepare Distribution: Tar Jars/Applets for Web Server" depends= "init,pkg.jar" > <!-- Standard target header --> <echo>${header}</echo> <echo>dist.websrvjartar</echo> <echo>${header}</echo> <echo></echo> <mkdir dir="${subdir.dist.websrvjartar}" /> <!-- CUSTOMIZE.dist.websrvjartar --> <!-- The sources and prefix destination directories for each --> <!-- module that should be included in the web server jar --> <!-- tar file must be individually specified as tarfilesets below. --> <!-- Be very careful how the the base and relative directories --> <!-- are specified because they impact how the file is --> <!-- extracted on the remote web server. --> <tar destfile= "${subdir.dist.websrvjartar}/${websrvjartar.file.name}" longfile= "gnu"> <!-- This tarfileset packages jar file(s) compiled and packaged --> <!-- in the Java Module ./lib subdirectory. Change source --> <!-- and target prefix as needed. --> <tarfileset dir="${bld.dir}/QuickLopJava/${subdir.jarm.libs}" prefix="${websrvjartar.target.dir}/WEB-INF/lib" preserveLeadingSlashes="true"> <include name="*.jar"/> </tarfileset> </tar> <echo>Dist Dir 'websrvjartar': ${subdir.dist.websrvjartar}</echo> <echo>Build Completed.</echo> <echo></echo> </target> <!-- ************************************************************ --> <!-- Target: pkg.jar --> <!-- ************************************************************ --> <!-- CUSTOMIZE.pkg.jar --> <!-- Package All WEB Modules --> <!-- This is a second-level grouping target which invokes --> <!-- specific module packaging targets . --> <!-- The property "compile.jars" must be set in init in order --> <!-- for this target to invoke. --> <!-- Please do not modify this target except to add in --> <!-- dependency JAR module targets. --> <target name= "pkg.jar" if= "compile.jars" description= "Package Modules: All Jars" depends= "init,compile.jar" > <!-- Standard target header --> <echo>${header}</echo> <echo>pkg.jar</echo> <echo>${header}</echo> <echo></echo> <echo></echo> </target> <!-- ************************************************************ --> <!-- Target: pkg.jarm.antcall --> <!-- ************************************************************ --> <!-- Generic target to support standard packaging of a JAR module. --> <!-- This target should not be modified in any way. --> <!-- It can be invoked by a a module-specific target --> <!-- by means of antcall while setting the property: --> <!-- <param name= "module.name" value= "<MODULENAME>"/> --> <!-- If something custom must be done for a specific module, --> <!-- this target can be copied to a new module target named --> <!-- 'pkg.jarm.<MODULENAME>' and then modified as needed. --> <!-- Special note on JAR modules: The 'compile.jar*' modules --> <!-- take care of copiles of the *.class files and creating --> <!-- the module *.jar file(s). This is because they may be --> <!-- required by other compile modules and the *.jar files --> <!-- must therefore be available for classpathing. --> <target name= "pkg.jarm.antcall" if= "compile.jars" depends= "init" > <!-- Standard target header --> <echo>${header}</echo> <echo>pkg.jarm.antcall: module.name= "${module.name}"</echo> <echo>${header}</echo> <echo></echo> <!-- Empty target --> <!-- The compile.jarm.antcall task is responsible for --> <!-- compiling the *.java files to *.class files and also --> <!-- generating the final *.lib directory which is used as --> <!-- dependencies to other modules and packaged separately --> <!-- if necessary. --> <echo></echo> </target> <!-- ************************************************************ --> <!-- Target: pkg.web --> <!-- ************************************************************ --> <!-- Package All WEB Modules --> <!-- This is a second-level grouping target which invokes --> <!-- specific module packaging targets . --> <!-- Please do not modify this target except to add in --> <!-- dependency WEB module targets. --> <!-- CUSTOMIZE.pkg.web --> <!-- Update the "depends" of pkg.web to include the --> <!-- individual WEB Module targets to package. --> <!-- PMO#16.51 changes: Added pkg.webm.QuickLopDcidWS --> <target name= "pkg.web" if= "compile.webs" description= "Package Modules: All WEB" depends= "init,compile.web,pkg.webm.QuickLopWeb,pkg.webm.QuickLopWS,pkg.webm.QuickLopDcidWS" > <!-- Standard target header --> <echo>${header}</echo> <echo>pkg.web</echo> <echo>${header}</echo> <echo></echo> <echo></echo> </target> <!-- ************************************************************ --> <!-- Target: pkg.webm.antcall --> <!-- ************************************************************ --> <!-- Hopefully a generic target to support temporary "staging" --> <!-- and packaging of WSAD Web Project subdirectories into --> <!-- war files. --> <!-- It can be invoked by a module-specific pkg.webm.<MODULE> --> <!-- target by means of antcall while setting the property: --> <!-- <param name= "module.name" value= "<MODULENAME>"/> --> <!-- If something custom must be done for a specific module, --> <!-- this target can be copied to a new module target named --> <!-- 'compile.webm.<MODULENAME>' and then modified as needed. --> <target name= "pkg.webm.antcall" if= "compile.webs" depends= "init" > <!-- Standard target header --> <echo>${header}</echo> <echo>pkg.webm.antcall: module.name= "${module.name}"</echo> <echo>${header}</echo> <echo></echo> <!-- Create staging directory in build directory --> <mkdir dir= "${bld.dir}/${module.name}/${subdir.stage.appsrvear}" /> <!-- Web module war packaging will always be from files --> <!-- staged to the module stage subdirectory which is populated --> <!-- from the source and build directories specified here. --> <!-- DDJ Mon Jun 21 17:24:14 EDT 2004 --> <!-- Convention for populating source directory used to be --> <!-- to include everything in the webcontent src.dir --> <!-- subdirectory other than those items filtered out below. --> <!-- New convention requires the specification of --> <!-- anything needing to be included. --> <!-- <exclude name= "**/*.java" /> --> <!-- <exclude name= "**/*.properties" /> --> <!-- <exclude name= "**/imported_classes/**" /> --> <!-- <exclude name= "**/properties/**" /> --> <!-- <exclude name= "**/vendorlib/**" /> --> <!-- <exclude name= "**/web.xml" /> --> <!-- <exclude name= "**/html/**" /> --> <!-- <exclude name= "**/images/**" /> --> <!-- <exclude name= "**/resources/**" /> --> <!-- CUSTOMIZE --> <!-- Applications may need to customize directories and --> <!-- files staged and included in with web module war files --> <!-- by changing the filesets below. The 'stage' directory --> <!-- is a temporary subdirectory used to assemble files --> <!-- for packaging into the war file. --> <!-- Note: The directory paths of src.dir and bld.dir may or --> <!-- may not be the same. Be source that items taken from the --> <!-- source repository are identified within the src.dir --> <!-- fileset and items which are compiled and packaged to --> <!-- the bld.dir are copied from the bld.dir to the stage. --> <!-- Note: Some applications may wish to include the --> <!-- compiled classes as files rather than as the packaged --> <!-- jar files below. Let the jar packaging remain as-is in --> <!-- the compile target but switch out the staging to use --> <!-- this entry in the bld.dir fileset instead. --> <!-- This is added by pradeep to copy the external jar from the Vendor Lib dir to web-inf\lib dir --> <echo>Pradeep1 : todir= "${bld.dir}/${module.name}/${subdir.webm.wsadwebcontent}"</echo> <echo>Pradeep1 : fromdir= "${src.dir}/${module.name}/${subdir.webm.wsadwebcontent}"</echo> <!-- This target is used for copying the venorlib to the lib dir --> <!-- < <copy todir= "${bld.dir}/${module.name}/${subdir.webm.wsadwebcontent}/WEB-INF/lib/" preservelastmodified= "true" verbose= "false" > <fileset dir= "${src.dir}/${module.name}/${subdir.webm.wsadwebcontent}/WEB-INF/${subdir.jarm.vendorlibs}" includes= "**/*.jar" > </fileset> </copy> --> <copy todir= "${bld.dir}/${module.name}/${subdir.stage.appsrvear}" preservelastmodified= "true" verbose= "false" > <fileset dir= "${src.dir}/${module.name}/${subdir.webm.wsadwebcontent}" > <exclude name="xml/**"/> <exclude name="schema/**"/> <exclude name="dtd/**"/> <include name= "**/*.jsp" /> <include name= "app_resources/**" /> <include name= "**/*.dtd" /> <include name= "**/*.xsd" /> <include name= "**/*.wsdl" /> </fileset> <fileset dir= "${bld.dir}/${module.name}/${subdir.webm.wsadwebcontent}" > <include name= "WEB-INF/classes/**" /> <include name= "WEB-INF/*.xml" /> <include name= "WEB-INF/ibm-web-bnd.xmi" /> <include name= "WEB-INF/ibm-web-ext.xmi" /> </fileset> </copy> <!-- Create packaging directories in build directory --> <mkdir dir= "${bld.dir}/${module.name}/${subdir.pkg.appsrvear}" /> <!-- Create the war file, put in the pkg subdirectory --> <!-- Note: The web.xml is specified here and is not --> <!-- copied into the stage directory as part of normal file contents. --> <war destfile= "${bld.dir}/${module.name}/${subdir.pkg.appsrvear}/${module.name}.war" basedir= "${bld.dir}/${module.name}/${subdir.stage.appsrvear}" webxml= "${bld.dir}/${module.name}/${subdir.webm.wsadwebcontent}/WEB-INF/web.xml" update= "false" > <!-- START Changes for PMO#16.51 --> <manifest> <attribute name="UseWSFEP61ScanPolicy" value="true"/> </manifest> <!-- END Changes for PMO#16.51 --> </war> <!-- No need to retain the stage subdirectory for this package --> <delete dir= "${bld.dir}/${module.name}/${subdir.stage.appsrvear}" quiet= "true" failonerror= "false" includeemptydirs= "true" > </delete> <echo></echo> </target> <!-- ************************************************************ --> <!-- Target: update.buildinfo --> <!-- ************************************************************ --> <!-- Create a build information file which documents the build --> <!-- settings to a properties file for inclusion in the final --> <!-- application ear file packaging --> <!-- Also maintain and update the build counter file. This --> <!-- properties file counter gets incremented with each --> <!-- invocation. --> <target name="update.buildinfo" depends="init"> <!-- Standard target header --> <echo>${header}</echo> <echo>update.buildinfo</echo> <echo>${header}</echo> <echo></echo> <!-- Create the buildinfo file from scratch. --> <!-- Note: Delete the file before using the 'propertyfile' --> <!-- task, otherwise, 'propertyfile' will re-load and update --> <!-- the values from the file rather than writing out an --> <!-- empty file from scratch. --> <!-- Delete before create --> <delete file= "${build.tmpdir}/${pf.buildinfo}" quiet= "true" failonerror= "false" > </delete> <!-- Initialize time stamp values --> <tstamp> <format property= "build.date" pattern= "yyyy-MM-dd" /> <format property= "build.time" pattern= "hh:mm:ss" /> </tstamp> <!-- Delete puts a message out there anyway, let user know --> <!-- the file is being re-created. --> <echo>Creating: ${build.tmpdir}/${pf.buildinfo}</echo> <!-- Note, keep text flush at left margin, echo preserves the --> <!-- full formatting in-between the markers --> <echo file= "${build.tmpdir}/${pf.buildinfo}" >Application Name: ${app.name} Version: ${app.version} Build ID: ${user.name} Build Date: ${build.date} Build Time: ${build.time} Build Machine: ${hostname} Source Repository Set: ${build.repset} Addtl Build Info (optional): ${build.info} </echo> <!-- Display buildinfo back to user as build header --> <loadfile property= "full.build.info" srcfile= "${build.tmpdir}/${pf.buildinfo}" > </loadfile> <echo/> <echo>${full.build.info}</echo> <echo/> </target> <!-- ************************************************************ --> <!-- Target: clean --> <!-- ************************************************************ --> <!-- Clean out any generated files --> <target name= "clean" description= "Clean: All" depends= "init,clean.compile,clean.dist"> <!-- Standard target header --> <echo>${header}</echo> <echo>clean</echo> <echo>${header}</echo> <echo></echo> <echo></echo> </target> <!-- ************************************************************ --> <!-- Target: clean.compile --> <!-- ************************************************************ --> <!-- Remove any compiled/built objects --> <target name= "clean.compile" description= "Clean: Compiled Objects" depends= "init"> <!-- Standard target header --> <echo>${header}</echo> <echo>clean.compile</echo> <echo>${header}</echo> <echo></echo> <!-- Delete certain pre-defined build subdirectories known to --> <!-- contain compiled objects, regardles of module --> <delete quiet= "false" failonerror= "false" includeemptydirs= "true" > <fileset dir= "${bld.dir}" includes = "**/classes/" > </fileset> <fileset dir= "${bld.dir}" includes= "**/lib/" > </fileset> <fileset dir= "${bld.dir}" includes= "**/${subdir.stage}/" > </fileset> <fileset dir= "${bld.dir}" includes= "**/${subdir.pkg}/" > </fileset> <!-- CUSTOMIZE.clean.compile --> <!-- Web Module directories follow standard directory --> <!-- conventions and already handled by the default --> <!-- deletion rules defined above. --> <!-- Java Modules do not contain subdirectories --> <!-- of known name however and we can't guess the names --> <!-- of these modules either. --> <!-- You must specify the module directory names of --> <!-- each Java module containing freely placed --> <!-- *.class files needing deletion --> <fileset dir= "${bld.dir}/QuickLopJava" includes= "**/*.class" > </fileset> </delete> <echo></echo> </target> <!-- ************************************************************ --> <!-- Target: clean.dist --> <!-- ************************************************************ --> <!-- Clean out dist directory any existing package directories --> <target name= "clean.dist" description= "Clean: Distribution Directories" depends= "init"> <!-- Standard target header --> <echo>${header}</echo> <echo>clean.dist</echo> <echo>${header}</echo> <echo></echo> <delete quiet= "false" failonerror= "false" includeemptydirs= "true" > <fileset dir= "${dist.dir}" > </fileset> <fileset dir= "${bld.dir}" includes= "**/${subdir.pkg}/" > </fileset> <fileset dir= "${bld.dir}" includes= "**/${subdir.stage}/" > </fileset> </delete> <echo></echo> </target> <!-- ************************************************************ --> <!-- Target: clean.buildinfo --> <!-- ************************************************************ --> <!-- Remove the temporary build info directory with contents. --> <!-- NOTE: The build counter is incremented from a file in --> <!-- this directory. Invoking this target clears this counter. --> <!-- This target is not part of the top-level clean target --> <!-- because of this. --> <target name= "clean.buildinfo" description= "Clean: Temp Build Info Files, Reset Counter" depends= "init"> <!-- Standard target header --> <echo>${header}</echo> <echo>clean.buildinfo</echo> <echo>${header}</echo> <echo></echo> <delete quiet= "false" failonerror= "false" includeemptydirs= "true" > <fileset dir= "${build.tmpdir}/" includes= "**" /> </delete> <echo></echo> </target> <!-- ************************************************************ --> <!-- Target: showenv --> <!-- ************************************************************ --> <!-- Display current build settings --> <target name= "showenv" description= "Display current build settings" depends= "init,showenv.basic,showenv.externalresources,showenv.packaging,showenv.classpath"> <echo>${header}</echo> <echo>showenv</echo> <echo>${header}</echo> <echo></echo> </target> <!-- ************************************************************ --> <!-- Target: showenv.basic --> <!-- ************************************************************ --> <!-- Display basic build information --> <target name= "showenv.basic" description= "Display basic build information" depends= "init"> <echo>${header}</echo> <echo>showenv.basic</echo> <echo>${header}</echo> <echo></echo> <echo>Application Name: "${app.name}"</echo> <echo>Application Version: "${app.version}"</echo> <echo>Source Repository Set: "${build.repset}"</echo> <echo>Addtl Build Info (optional): "${build.info}"</echo> <echo></echo> <echo>Hostname: "${hostname}"</echo> <echo></echo> <echo>Ant base directory: "${basedir}"</echo> <echo>Source root directory: "${src.dir}"</echo> <echo>Build root directory: "${bld.dir}"</echo> <echo>Application Build Directory: "${app.build.dir}"</echo> <echo>Ant file: "${ant.file}"</echo> </target> <!-- ************************************************************ --> <!-- Target: showenv.externalresources --> <!-- ************************************************************ --> <!-- Display settings involving external resources --> <target name= "showenv.externalresources" description= "Display settings involving external resources" depends= "init"> <echo>${header}</echo> <echo>showenv.externalresources</echo> <echo>${header}</echo> <echo></echo> <echo>O.S. Name: "${os.name}"</echo> <echo>Hostname: "${hostname}"</echo> <echo></echo> <echo>Java version: "${ant.java.version}"</echo> <echo>Env var env.JAVA_HOME: "${env.JAVA_HOME}"</echo> <echo></echo> <echo>Ant version: "${ant.version}"</echo> <echo>Env var env.ANT_HOME: "${env.ANT_HOME}"</echo> <echo></echo> <echo>(External) Root Vendor/3pty Directory:</echo> <echo>ext.rootdir.vendor: ${ext.rootdir.vendor}"</echo> <echo></echo> <echo>(External) DB2 Library Directory:</echo> <echo>ext.libdir.db2: "${ext.libdir.db2}"</echo> <echo></echo> <echo>(External) MQ Series Library Directory:</echo> <echo>ext.libdir.mq: "${ext.libdir.mq}"</echo> <echo></echo> <echo>(External) WAS Root Directory:</echo> <echo>ext.rootdir.was: "${ext.rootdir.was}"</echo> <echo></echo> <echo>(External) Common Code Directory:</echo> <echo>ext.libdir.common: "${ext.libdir.common}"</echo> <echo></echo> <echo>Application Properties File: "${pf.app}"</echo> <echo></echo> <echoproperties prefix= "pf.app." > </echoproperties> <echo></echo> <echo>User Properties File: "${pf.user}"</echo> <echo></echo> <echoproperties prefix= "pf.user." > </echoproperties> <echo></echo> <echo>App Dependencies File: "${pf.appdep}"</echo> <echo></echo> <echoproperties prefix= "appdep." > </echoproperties> <echo></echo> <echo>Inherited Environment:</echo> <echo></echo> <echoproperties prefix= "env." > </echoproperties> </target> <!-- ************************************************************ --> <!-- Target: showenv.packaging --> <!-- ************************************************************ --> <!-- Display current packaging settings --> <target name= "showenv.packaging" description= "Display packaging information" depends= "init"> <echo>${header}</echo> <echo>showenv.packaging</echo> <echo>${header}</echo> <echo></echo> <echo>appsrvear.dist.prepare: "${appsrvear.dist.prepare}"</echo> <echo>appsrvear.file.name: "${appsrvear.file.name}"</echo> <echo></echo> <echo>appsrvjartar.dist.prepare: "${appsrvjartar.dist.prepare}"</echo> <echo>appsrvjartar.file.name: "${appsrvjartar.file.name}"</echo> <echo>appsrvjartar.target.dir: "${appsrvjartar.target.dir}"</echo> <echo></echo> <echo>websrvcontenttar.dist.prepare:"${websrvcontenttar.dist.prepare}"</echo> <echo>websrvcontenttar.file.name: "${websrvcontenttar.file.name}"</echo> <echo>websrvcontenttar.target.dir: "${websrvcontenttar.target.dir}"</echo> <echo></echo> <echo>websrvjartar.dist.prepare: "${websrvjartar.dist.prepare}"</echo> <echo>websrvjartar.file.name: "${websrvjartar.file.name}"</echo> <echo>websrvjartar.target.dir: "${websrvjartar.target.dir}"</echo> </target> <!-- ************************************************************ --> <!-- Target: showenv.classpath --> <!-- ************************************************************ --> <!-- Display classpath information --> <target name= "showenv.classpath" description= "Display classpath information" depends= "init"> <echo>${header}</echo> <echo>showenv.classpath</echo> <echo>${header}</echo> <echo></echo> <echo>Env var env.CLASSPATH: "${env.CLASSPATH}"</echo> <echo></echo> <echo>Property java.class.path: "${java.class.path}"</echo> <echo></echo> <pathconvert property="formatted.class.path.full" pathsep="${line.separator} " refid="class.path.full" /> <echo message="Refid class.path.full: ${formatted.class.path.full}" /> <echo></echo> <pathconvert property="formatted.class.path.was" pathsep="${line.separator} " refid="class.path.was" /> <echo message="Refid class.path.was: ${formatted.class.path.was}" /> <echo></echo> <pathconvert property="formatted.class.path.db2" pathsep="${line.separator} " refid="class.path.db2" /> <echo message="Refid class.path.db2: ${formatted.class.path.db2}" /> <echo></echo> <pathconvert property="formatted.class.path.mq" pathsep="${line.separator} " refid="class.path.mq" /> <echo message="Refid class.path.mq: ${formatted.class.path.mq}" /> <echo></echo> <pathconvert property="formatted.class.path.common" pathsep="${line.separator} " refid="class.path.common" /> <echo message="Refid class.path.common: ${formatted.class.path.common}" /> <echo></echo> <pathconvert property="formatted.class.path.app" pathsep="${line.separator} " refid="class.path.app" /> <echo message="Refid class.path.app: ${formatted.class.path.app}" /> <echo></echo> </target> <!-- ************************************************************ --> <!-- Target: javadoc --> <!-- ************************************************************ --> <!-- Prepare Java documentation on classes --> <!-- NOTE: This is a separate task provided for the convenience --> <!-- of developers only. It is not invoked as part of the --> <!-- production build process. --> <target name= "javadoc" depends= "init" description= "Javadoc for my API"> <mkdir dir= "${doc.dir}"/> <javadoc destdir= "${doc.dir}" packagenames= "*"> <sourcepath> <pathelement location= "${src.dir}"/> </sourcepath> </javadoc> <echo></echo> </target> <!-- CUSTOMIZE.module.targets --> <!-- Create specific targets of name: --> <!-- compile.{jarm|webm}.<MODULE> --> <!-- pkg.{jarm|webm}.<MODULE> --> <!-- below this section. These modules can build and package using --> <!-- the *.antcall task for each module type if they are standard --> <!-- ************************************************************ --> <!-- Target: compile.jarm.QuickLopJava --> <!-- ************************************************************ --> <target name= "compile.jarm.QuickLopJava" if= "compile.jars" description= "Compile JAR Module: QuickLopJava" depends= "init" > <!-- Standard target header --> <echo>${header}</echo> <echo>compile.jarm.QuickLopJava</echo> <echo>${header}</echo> <echo></echo> <antcall target= "compile.jarm.antcall"> <param name= "module.name" value= "QuickLopJava"/> <param name= "jar.name" value= "QuickLop"/> </antcall> <echo></echo> </target> <!-- ************************************************************ --> <!-- Target: compile.webm.QuickLopWeb --> <!-- ************************************************************ --> <target name= "compile.webm.QuickLopWeb" if= "compile.webs" description= "Compile Web Module: QuickLopWeb" depends= "init"> <!-- Standard target header --> <echo>${header}</echo> <echo>compile.webm.QuickLopWeb</echo> <echo>${header}</echo> <echo></echo> <!-- <antcall target= "compile.webm.antcall"> <param name= "module.name" value= "QuickLopWeb"/> </antcall>--> <echo></echo> </target> <!-- ************************************************************ --> <!-- Target: compile.webm.QuickLopWS --> <!-- ************************************************************ --> <target name= "compile.webm.QuickLopWS" if= "compile.webs" description= "Compile Web Module: QuickLopWS" depends= "init,compile.jarm.QuickLopJava"> <!-- Standard target header --> <echo>${header}</echo> <echo>compile.webm.QuickLopWS</echo> <echo>${header}</echo> <echo></echo> <antcall target= "compile.webm.antcall"> <param name= "module.name" value= "QuickLopWS"/> </antcall> <echo></echo> </target> <!-- START: PMO#16.51 changes --> <!-- ************************************************************ --> <!-- Target: compile.webm.QuickLopDcidWS --> <!-- ************************************************************ --> <target name= "compile.webm.QuickLopDcidWS" if= "compile.webs" description= "Compile Web Module: QuickLopDcidWS" depends= "init,compile.jarm.QuickLopJava"> <!-- Standard target header --> <echo>${header}</echo> <echo>compile.webm.QuickLopDcidWS</echo> <echo>${header}</echo> <echo></echo> <antcall target= "compile.webm.antcall"> <param name= "module.name" value= "QuickLopDcidWS"/> </antcall> <echo></echo> </target> <!-- END: PMO#16.51 changes --> <!-- ************************************************************ --> <!-- Target: pkg.jarm.QuickLopJava --> <!-- ************************************************************ --> <target name= "pkg.jarm.QuickLopJava" if= "compile.jars" description= "Package JAR Module: QuickLopJava" depends= "init,compile.jarm.QuickLopJava" > <!-- Standard target header --> <echo>${header}</echo> <echo>pkg.jarm.QuickLopJava</echo> <echo>${header}</echo> <echo></echo> <antcall target= "pkg.jarm.antcall"> <param name= "module.name" value= "QuickLopJava"/> </antcall> <echo></echo> </target> <!-- ************************************************************ --> <!-- Target: pkg.webm.QuickLopWeb --> <!-- ************************************************************ --> <!-- Create WAR file(s): QuickLopWeb --> <target name= "pkg.webm.QuickLopWeb" if= "compile.webs" description= "Stage, create war file: QuickLopWeb" depends= "init,compile.webm.QuickLopWeb" > <!-- Standard target header --> <echo>${header}</echo> <echo>pkg.webm.QuickLopWeb</echo> <echo>${header}</echo> <echo></echo> <!-- CUSTOMIZE.pkg.webmodule --> <!-- QuickLopWeb is set up to copy QuickLopJava --> <!-- jar files prepared in the Jar Module ./lib subdirectory --> <!-- into the local Web Project ./lib subdirectory for --> <!-- inclusion/packagin into this module's war file --> <!-- You can delete this copy command if you wish --> <!-- or else copy/modify as needed in order to populate --> <!-- your Web Module with jar files compiled within your --> <!-- application directory. --> <!--<copy todir= "${bld.dir}/QuickLopWeb/${subdir.webm.libs}" preservelastmodified= "true" verbose= "false" > <fileset dir= "${bld.dir}/QuickLopJava/${subdir.jarm.libs}" includes= "**/*.jar" > </fileset> </copy>--> <antcall target= "pkg.webm.antcall"> <param name= "module.name" value= "QuickLopWeb"/> </antcall> <echo></echo> </target> <!-- ************************************************************ --> <!-- Target: pkg.webm.QuickLopWS --> <!-- ************************************************************ --> <!-- Create WAR file(s): QuickLopWS --> <target name= "pkg.webm.QuickLopWS" if= "compile.webs" description= "Stage, create war file: QuickLopWS" depends= "init,compile.webm.QuickLopWS" > <!-- Standard target header --> <echo>${header}</echo> <echo>pkg.webm.QuickLopWS</echo> <echo>${header}</echo> <echo></echo> <antcall target= "pkg.webm.antcall"> <param name= "module.name" value= "QuickLopWS"/> </antcall> <echo></echo> </target> <!-- START: PMO#16.51 changes --> <!-- ************************************************************ --> <!-- Target: pkg.webm.QuickLopDcidWS --> <!-- ************************************************************ --> <!-- Create WAR file(s): QuickLopDcidWS --> <target name= "pkg.webm.QuickLopDcidWS" if= "compile.webs" description= "Stage, create war file: QuickLopDcidWS" depends= "init,compile.webm.QuickLopDcidWS" > <!-- Standard target header --> <echo>${header}</echo> <echo>pkg.webm.QuickLopDcidWS</echo> <echo>${header}</echo> <echo></echo> <antcall target= "pkg.webm.antcall"> <param name= "module.name" value= "QuickLopDcidWS"/> </antcall> <echo></echo> </target> <!-- END: PMO#16.51 changes --> <!-- JUnit Integration --> <!-- FTT changes --> <target name="functional-test-compile" > <echo>start functional Test.</echo> <javac srcdir="${bld.dir}/functionalTest" destdir="${bld.dir}/functionalTest" debug="true" includeantruntime="false" verbose = "${full-compile}"> <classpath refid="seleniumTest.classpath"/> </javac> </target> <target name="integration-test" depends ="resolve,init,functional-test-compile"> <java classname="TestScripts.RunScript" > <classpath> <pathelement location="${bld.dir}/functionalTest"/> <path id="class.path.common"> <fileset dir="${ext.libdir.common}"> <include name="**/*.jar" /> </fileset> </path> </classpath> </java> </target> <!-- FTT changes --> </project>
Editor is loading...
Leave a Comment