<!-- 
     A template for build time property name/value pairs 
     Properties need to be modified depending on the needs ...
-->

<!-- Most applications would need to specify module name  -->
<property name="module" value="module-name-here"/>

<!-- Other properties that might be used in module specific build.xml -->
<property name="build.dir" value="${env.APS_HOME}/build/${module}"/>

<!-- 
     Some of the common.xml targets expect certain variable to be set.
     For example package-war-common expects ${web.xml} and ${sun-web.xml} 
     to refer to the file locations for the web.xml and sun-web.xml
     descriptors to be packaged with the war file. 
     Deployment commands will expect application name/context root variable
     specifiers to be set by the caller.
     Other targets similarly expect other variables to be set.
     Please see appserv-tests/config/common.xml for the common target
     definitions and variable needed to be specified by the caller
     and add them to the build.properties file
--> 
