Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
<?xml version="1.0"?><!-- ======================================================================Date: June 2010Project: MobileWebsiteApiAuthor: Ashish Singh====================================================================== --><project name="MobileWebsiteApi" default="archive" basedir="."><description>Mobile Website API</description><property file="build.properties"/><taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask"/><filelist id="apache.libs" dir="${basedir}/${thirdparty.location}/readonly/apache"><file name="commons-codec-1.4/commons-codec-1.4.jar"/><file name="commons-collections-3.2.1/commons-collections-3.2.1.jar"/><file name="commons-digester-2.0/commons-digester-2.0.jar"/><file name="commons-fileupload-1.2.1/commons-fileupload-1.2.1.jar"/><file name="commons-io-1.3.2/commons-io-1.3.2.jar"/><file name="commons-lang-2.4/commons-lang-2.4.jar"/><file name="commons-logging-1.0.4/commons-logging-1.0.4.jar"/><file name="commons-logging-api-1.1/commons-logging-api-1.1.jar"/><file name="commons-validator-1.3.1/commons-validator-1.3.1.jar"/><file name="ezmorph/ezmorph-1.0.3.jar"/><file name="json/json-lib-2.1-jdk15.jar"/><file name="jsp-2.1/jsp-api.jar"/><file name="log4j/log4j-1.2.16.jar"/><file name="ognl/ognl-2.7.3.jar"/><file name="struts-2.1.8.1/struts2-convention-plugin-2.1.8.1.jar"/><file name="struts-2.1.8.1/struts2-core-2.1.8.1.jar"/><file name="struts-2.1.8.1/struts2-rest-plugin-2.1.8.1.jar"/><file name="struts-2.1.8.1/xstream-1.2.2.jar"/><file name="struts-2.1.8.1/xwork-core-2.1.6.jar"/><file name="thrift-0.2.0/libthrift.jar"/><file name="velocity-1.6.3/velocity-1.6.3.jar"/><file name="velocity-1.6.3/velocity-tools-1.4.jar"/><file name="xpp/xpp3_min-1.1.3.4.O.jar"/></filelist><filelist id="MobileWebsiteApi.libs" dir="${basedir}/${thirdparty.location}"><file name="readonly/freemarker/freemarker-2.3.15.jar"/><file name="readonly/slf4j/slf4j-api-1.5.8.jar"/><file name="readonly/slf4j/slf4j-simple-1.5.8.jar"/><file name="readonly/payment/payments.jar"/><file name="readonly/yuicompressor-2.4.2/yuicompressor-2.4.2.jar"/><file name="readonly/UserAgentUtils/UserAgentUtils-1.2.3.jar"/><file name="Common.jar"/><file name="ThriftConfig.jar"/></filelist><path id="MobileWebsiteApi.classpath"><pathelement location="${basedir}/build/classes"/><filelist refid="apache.libs"/><filelist refid="MobileWebsiteApi.libs"/><pathelement location="${basedir}/${thirdparty.location}/readonly/apache/sevlet-2.5/servlet-api.jar"/></path><!-- ==================== Clean Target ==================================== --><!--The "clean" target deletes any previous "build" and "dist" directory,so that you can be ensured the application can be built from scratch.--><target name="clean" description="Delete old build and dist directories"><delete dir="${dist.home}"/><delete dir="${build.home}"/></target><!-- ==================== Init Target ================================== --><!--The "init" target is used to create the "build" destination directory,Normally, this task is executed indirectly when needed.--><target name="init" depends="clean" description="Create build directory"><mkdir dir="${build.home}" /><mkdir dir="${build.home}/WEB-INF/classes" /><mkdir dir="${build.home}/WEB-INF/lib" /><property name="yuic" location="${thirdparty.location}/readonly/yuicompressor-2.4.2/yuicompressor-2.4.2.jar"/></target><!-- ==================== Compile Target ================================== --><!--The "compile" target transforms source files (from your "src" directory)into class files in the appropriate location in the build directory.This example assumes that you will be including your classes in anunpacked directory hierarchy under "/WEB-INF/classes".--><target name="compile" depends="init" description="Compile Java sources"><javac srcdir="${source.home}"destdir="${build.home}/WEB-INF/classes"debug="${compile.debug}"deprecation="${compile.deprecation}"optimize="${compile.optimize}"source="1.6" target="1.6"><classpath refid="MobileWebsiteApi.classpath"/></javac><javac srcdir="${conf.home}"destdir="${build.home}/WEB-INF/classes"debug="${compile.debug}"deprecation="${compile.deprecation}"optimize="${compile.optimize}"source="1.6" target="1.6"><classpath refid="MobileWebsiteApi.classpath"/></javac></target><!-- ==================== Build Target ================================== --><!--The "build" target copies all non class files to build directory--><target name="build" depends="compile" description="Copies all non Java classes to build directoy"><copy todir="${build.home}"><fileset dir="${webapp.home}" excludes="CVS,**/*.class" /></copy><copy todir="${build.home}/WEB-INF/classes"><fileset dir="${conf.home}" excludes="CVS,**/*.java" /></copy><copy todir="${build.home}/WEB-INF/lib"><filelist refid="apache.libs"/><filelist refid="MobileWebsiteApi.libs"/><mapper type="flatten"/></copy><!--Join css files --><concat destfile="${build.home}/css/saholic.css"><filelist dir="${build.home}/css" files="style.css,common.css,header-footer.css,widgets.css,cartflow.css,widget.css,demoStyles.css,product.css,cart.css,contactus.css,signinsignup.css,myaccount.css,gc_safari.css,comparision.css,scroller.css,proceed-to-pay.css,payment-modes.css,jquery.ui.autocomplete.css"/></concat><!--Minify css files --><apply executable="java" dest="${build.home}/css" parallel="false"><filelist dir="${build.home}/css" files="saholic.css" /><arg line="-jar" /><arg path="${yuic}" /><srcfile /><arg line="-o" /><mapper type="glob" from="*.css" to="*-min.css" /><targetfile /></apply><!--Join js files --><concat destfile="${build.home}/js/saholic.js"><filelist dir="${build.home}/js" files="jquery-1.4.2.js,jquery-ui.min.js,jquery.validate.js,jquery.Storage.js,jquery.cookie.js,jquery.number_format.js,jquery.tipsy.js,jquery.truncate.min.js,loginpop.js,all.js,common.js,ga-invoker.js,charLimit.js,jsapi.js,gallery.js,scrolltab.js,widget_slidetab.js,custom-jquery.js,myaccount.js,loginregister.js,loopedslider.js,widget_accordion.js,shippingAddress.js,productCategory.js,comparison.js,paymode-selection.js,jquery.colorbox-min.js,widgets.js,remarketing.js,jquery.ui.autocomplete.js,cart-details.js"/></concat><!--Minify js files --><apply executable="java" dest="${build.home}/js" parallel="false"><filelist dir="${build.home}/js" files="saholic.js" /><arg line="-jar" /><arg path="${yuic}" /><srcfile /><arg line="-o" /><mapper type="glob" from="*.js" to="*-min.js" /><targetfile /></apply></target><!-- ==================== Archive Target ================================== --><!--The "archive" target create a binary archive of all files in build.home--><target name="archive" depends="build" description="Create binary archive of all files in dist.home"><!-- Create application WAR file --><jar jarfile="${lib.home}/${app.name}.war"basedir="${build.home}" /></target><macrodef name="run-test"><attribute name="test"/><sequential><echo> ==========================</echo><echo> Running test "@{test}"</echo><echo> ==========================</echo><delete dir="${jmeter.home}/bin/samples/@{test}"/><mkdir dir="${jmeter.home}/bin/samples/@{test}"/><mkdir dir="/tmp/jmeter"/><jmeter jmeterhome="${jmeter.home}" resultlogdir="/tmp/jmeter"><testplans dir="${test.home}/jmeter" includes="@{test}.jmx"/></jmeter><exec executable="diff" resultproperty="jmeter.failure.@{test}"><arg line="-x .svn"/><arg line="-r"/><arg line="--brief"/><arg line="${jmeter.home}/bin/samples/@{test}"/><arg line="${test.home}/samples/@{test}"/></exec><touch file="jmeter-sample-diff-result-${jmeter.failure.@{test}}"/></sequential></macrodef><macrodef name="run-jmeter-test"><attribute name="test"/><sequential><echo> ==========================</echo><echo> Running test "@{test}"</echo><echo> ==========================</echo><delete file="/tmp/jmeter/@{test}.jtl"/><jmeter jmeterhome="${jmeter.home}" resultlogdir="/tmp/jmeter" failureproperty="jmeter.test.failure.@{test}"><testplans dir="${test.home}/jmeter" includes="@{test}.jmx"/></jmeter><antcall target="print-jmeter-test-failure"><param name="current.test.name" value="@{test}"/></antcall></sequential></macrodef><target name="run-tests" ><delete file="jmeter-sample-diff-result-0"/><delete file="jmeter-sample-diff-result-1"/><record name="src/test/log/run-tests.log" action="start"/><run-test test="home"/><run-test test="product"/><!--run-jmeter-test test="searching"/><run-jmeter-test test="register"/><run-jmeter-test test="payment"/><run-test test="categorypage"/><run-test test="accessories-category-page"/><run-test test="register"/><run-test test="cart"/><run-test test="myaccount"/><run-test test="forgotpass"/><run-jmeter-test test="payment"/><run-jmeter-test test="register"/--><antcall target="test-build-failure"/></target><target name="run-single-test"><delete file="jmeter-sample-diff-result-0"/><delete file="jmeter-sample-diff-result-1"/><record name="src/test/log/run-test-${test.name}.log" action="start"/><run-test test="${test.name}"/><antcall target="test-build-failure"/></target><target name="test-build-failure"><available property="jmeter.test.failure" file="jmeter-sample-diff-result-1" /><delete file="jmeter-sample-diff-result-0"/><delete file="jmeter-sample-diff-result-1"/><fail message="JMeter tests failed" if="jmeter.test.failure"/></target><target name="print-jmeter-test-failure" if="jmeter.test.failure.${current.test.name}"><echo>${current.test.name} Test failed. Please see /tmp/jmeter/${current.test.name}.jtl</echo><touch file="jmeter-sample-diff-result-1"/></target></project>