Subversion Repositories SmartDukaan

Rev

Rev 1107 | Rev 1256 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
317 ashish 1
<?xml version="1.0"?>
2
 
3
 
4
<!-- ====================================================================== 
325 ashish 5
     Date:     June 2010
317 ashish 6
 
325 ashish 7
     Project:  Website
317 ashish 8
 
325 ashish 9
     Author:   Ashish Singh
317 ashish 10
     ====================================================================== -->
11
 
12
 
942 chandransh 13
 
318 ashish 14
<project name="Website" default="archive" basedir=".">
942 chandransh 15
 
16
	<description>
318 ashish 17
           Shop2020 Website
317 ashish 18
    </description>
942 chandransh 19
 
317 ashish 20
	<property file="build.properties"/>
1196 vikas 21
	<taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask"/>
421 rajveer 22
 
942 chandransh 23
	<filelist id="apache.libs" dir="${basedir}/${thirdparty.location}/readonly/apache">
1045 chandransh 24
		<file name="commons-codec-1.4/commons-codec-1.4.jar"/>
942 chandransh 25
		<file name="commons-collections-3.2.1/commons-collections-3.2.1.jar"/>
1045 chandransh 26
		<file name="commons-digester-2.0/commons-digester-2.0.jar"/>
942 chandransh 27
		<file name="commons-fileupload-1.2.1/commons-fileupload-1.2.1.jar"/>
28
		<file name="commons-io-1.3.2/commons-io-1.3.2.jar"/>
29
		<file name="commons-lang-2.4/commons-lang-2.4.jar"/>
30
		<file name="commons-logging-1.0.4/commons-logging-1.0.4.jar"/>
31
		<file name="commons-logging-api-1.1/commons-logging-api-1.1.jar"/>
32
		<file name="commons-validator-1.3.1/commons-validator-1.3.1.jar"/>
1045 chandransh 33
		<file name="ezmorph/ezmorph-1.0.3.jar"/>
34
		<file name="json/json-lib-2.1-jdk15.jar"/>
942 chandransh 35
		<file name="jsp-2.1/jsp-api.jar"/>
1045 chandransh 36
		<file name="log4j/log4j-1.2.16.jar"/>
37
		<file name="ognl/ognl-2.7.3.jar"/>
942 chandransh 38
		<file name="struts-2.1.8.1/struts2-convention-plugin-2.1.8.1.jar"/>
39
		<file name="struts-2.1.8.1/struts2-core-2.1.8.1.jar"/>
40
		<file name="struts-2.1.8.1/struts2-rest-plugin-2.1.8.1.jar"/>
41
		<file name="struts-2.1.8.1/xstream-1.2.2.jar"/>
42
		<file name="struts-2.1.8.1/xwork-core-2.1.6.jar"/>
1045 chandransh 43
		<file name="thrift-0.2.0/libthrift.jar"/>
942 chandransh 44
		<file name="velocity-1.6.3/velocity-1.6.3.jar"/>
1045 chandransh 45
		<file name="velocity-1.6.3/velocity-tools-1.4.jar"/>
942 chandransh 46
		<file name="xpp/xpp3_min-1.1.3.4.O.jar"/>
47
	</filelist>
317 ashish 48
 
942 chandransh 49
	<filelist id="Website.libs" dir="${basedir}/${thirdparty.location}">
50
		<file name="readonly/freemarker/freemarker-2.3.15.jar"/>
51
		<file name="readonly/slf4j/slf4j-api-1.5.8.jar"/>
52
		<file name="readonly/slf4j/slf4j-simple-1.5.8.jar"/>
53
		<file name="readonly/payment/payments.jar"/>
54
		<file name="readonly/yuicompressor-2.4.2/yuicompressor-2.4.2.jar"/>
55
		<file name="Common.jar"/>
56
		<file name="ThriftConfig.jar"/>
57
	</filelist>
392 rajveer 58
 
942 chandransh 59
	<path id="Website.classpath">
60
		<pathelement location="${basedir}/build/classes"/>
61
		<filelist refid="apache.libs"/>
62
		<filelist refid="Website.libs"/>
63
		<pathelement location="${basedir}/${thirdparty.location}/readonly/apache/sevlet-2.5/servlet-api.jar"/>
64
	</path>
637 rajveer 65
 
317 ashish 66
	<!-- ==================== Clean Target ==================================== -->
67
 
68
	<!--
69
	  The "clean" target deletes any previous "build" and "dist" directory,
70
	  so that you can be ensured the application can be built from scratch.
71
	-->
72
	<target name="clean" description="Delete old build and dist directories">
73
		<delete dir="${dist.home}"/>
74
		<delete dir="${build.home}"/>
75
	</target>
76
 
77
	<!-- ==================== Init Target ================================== -->
78
 
79
	<!--
80
 
81
	  The "init" target is used to create the "build" destination directory,
82
	  Normally, this task is executed indirectly when needed.
83
 
84
	-->
85
	<target name="init" depends="clean"  description="Create build directory">
942 chandransh 86
 
317 ashish 87
		<mkdir dir="${build.home}" />
1107 chandransh 88
		<mkdir dir="${build.home}/WEB-INF/classes" />
89
		<mkdir dir="${build.home}/WEB-INF/lib" />
877 vikas 90
		<property name="yuic" location="${thirdparty.location}/readonly/yuicompressor-2.4.2/yuicompressor-2.4.2.jar"/>
317 ashish 91
 
92
	</target>
942 chandransh 93
 
317 ashish 94
	<!-- ==================== Compile Target ================================== -->
95
 
96
	<!--
97
 
98
	  The "compile" target transforms source files (from your "src" directory)
99
	  into class files in the appropriate location in the build directory.
100
	  This example assumes that you will be including your classes in an
101
	  unpacked directory hierarchy under "/WEB-INF/classes".
102
 
103
	-->
104
	<target name="compile" depends="init" description="Compile Java sources">
105
		<javac srcdir="${source.home}"
106
				destdir="${build.home}/WEB-INF/classes"
107
				debug="${compile.debug}"
108
				deprecation="${compile.deprecation}"
109
				optimize="${compile.optimize}"
877 vikas 110
			    source="1.6" target="1.6">
942 chandransh 111
			<classpath refid="Website.classpath"/>
317 ashish 112
		</javac>
318 ashish 113
		<javac srcdir="${conf.home}"
114
						destdir="${build.home}/WEB-INF/classes"
115
						debug="${compile.debug}"
116
						deprecation="${compile.deprecation}"
117
						optimize="${compile.optimize}"
118
					     source="1.6" target="1.6">
942 chandransh 119
			<classpath refid="Website.classpath"/>
318 ashish 120
		</javac>
317 ashish 121
 
122
	</target>
942 chandransh 123
 
317 ashish 124
	<!-- ==================== Build Target ================================== -->
125
 
126
	<!--
127
 
128
	  The "build" target copies all non class files to build directory
129
 
130
	-->
942 chandransh 131
 
317 ashish 132
	<target name="build" depends="compile" description="Copies all non Java classes to build directoy">
133
		<copy todir="${build.home}">
134
			<fileset dir="${webapp.home}" excludes="CVS,**/*.class" />
135
		</copy>
136
		<copy todir="${build.home}/WEB-INF/classes">
318 ashish 137
			<fileset dir="${conf.home}" excludes="CVS,**/*.java" />
317 ashish 138
		</copy>
942 chandransh 139
 
318 ashish 140
		<copy todir="${build.home}/WEB-INF/lib">
942 chandransh 141
			<filelist refid="apache.libs"/>
318 ashish 142
			<filelist refid="Website.libs"/>
143
			<mapper type="flatten"/>
877 vikas 144
		</copy>
942 chandransh 145
 
877 vikas 146
		<!--Join css files -->
147
		<concat destfile="${build.home}/css/saholic.css">
942 chandransh 148
			<filelist dir="${build.home}/css" files="style.css,common.css,nav.css,widget.css,demoStyles.css,
1196 vikas 149
	        	product.css,cart.css,myaccount.css,gc_safari.css"/>
877 vikas 150
		</concat>
943 vikas 151
		<!--Minify css files -->
877 vikas 152
		<apply executable="java" dest="${build.home}/css" parallel="false">
942 chandransh 153
			<filelist dir="${build.home}/css" files="saholic.css" />
154
			<arg line="-jar" />
155
			<arg path="${yuic}" />
156
			<srcfile />
157
			<arg line="-o" />
158
			<mapper type="glob" from="*.css" to="*-min.css" />
159
			<targetfile />
877 vikas 160
		</apply>
942 chandransh 161
 
877 vikas 162
		<!--Join js files -->
163
		<concat destfile="${build.home}/js/saholic.js">
942 chandransh 164
			<!--filelist dir="${build.home}/js" files="jquery-1.4.2.js,jquery-ui.min.js,loginpop.js,all.js,charLimit.js,
877 vikas 165
		        	jsapi.js,gallery.js,scrolltab.js,widget_slidetab.js,custom-jquery.js,myaccount.js,jquery.number_format.js
166
		        	jquery.validate.js,jquery.tipsy.js,loopedslider.js,widget_accordion.js,shippingAddress.js,productCategory.js
167
		        	"/-->
942 chandransh 168
			<filelist dir="${build.home}/js" files="widget_accordion.js,shippingAddress.js"/>
169
		</concat>
877 vikas 170
		<!--Minify js files -->
171
		<apply executable="java" dest="${build.home}/js" parallel="false">
942 chandransh 172
			<filelist dir="${build.home}/js" files="saholic.js" />
173
			<arg line="-jar" />
174
			<arg path="${yuic}" />
175
			<srcfile />
176
			<arg line="-o" />
177
			<mapper type="glob" from="*.js" to="*-min.js" />
178
			<targetfile />
877 vikas 179
		</apply>
942 chandransh 180
 
317 ashish 181
	</target>
942 chandransh 182
 
317 ashish 183
	<!-- ==================== Archive Target ================================== -->
184
 
185
	<!--
186
 
187
	  The "archive" target create a binary archive of all files in build.home
188
 
189
	-->
190
 
191
	<target name="archive" depends="build" description="Create binary archive of all files in dist.home">
942 chandransh 192
 
193
 
317 ashish 194
		<!-- Create application WAR file -->
942 chandransh 195
		<jar jarfile="${lib.home}/${app.name}.war"
317 ashish 196
				basedir="${build.home}" />
197
 
942 chandransh 198
	</target>
1196 vikas 199
 
200
	<macrodef name="run-test">
201
	    <attribute name="test"/>
202
            <sequential>
203
            	<echo> ==========================</echo>
204
            	<echo> Running test "@{test}"</echo>
205
            	<echo> ==========================</echo>
206
            	<delete dir="${jmeter.home}/bin/samples/@{test}"/>
207
            	<mkdir dir="${jmeter.home}/bin/samples/@{test}"/>
208
            	<mkdir dir="/tmp/jmeter"/>
209
            	<jmeter jmeterhome="${jmeter.home}" resultlogdir="/tmp/jmeter">
210
            	    <testplans dir="${test.home}/jmeter" includes="@{test}.jmx"/>
211
            	</jmeter>
212
            	<exec executable="diff">
213
            	    <arg line="-r"/>
214
            		<arg line="--brief"/>
215
            		<arg line="${test.home}/samples/@{test}"/>
216
            		<arg line="${jmeter.home}/bin/samples/@{test}"/>
217
            	</exec>
218
		    </sequential>
219
	</macrodef>
942 chandransh 220
 
1196 vikas 221
	<target name="run-tests" >
222
		<record name="src/test/log/run-tests.log" action="start"/>
223
		<run-test test="home"/>
224
		<run-test test="searching"/>
225
		<run-test test="categorypage"/>
226
		<run-test test="register"/>
227
		<run-test test="login"/>
228
		<run-test test="product"/>
229
		<run-test test="cart"/>
230
		<run-test test="shipping"/>
231
		<run-test test="myaccount"/>
232
		<run-test test="forgotpass"/>
233
	</target>
234
 
235
	<target name="run-single-test">
236
		<record name="src/test/log/run-test-${test.name}.log" action="start"/>
237
		<run-test test="${test.name}"/>
238
	</target>
239
</project>