Project

General

Profile

Download (16.6 KB) Statistics
| Branch: | Revision:

git_sitools_idoc / flarecast / cots / extjs4 / ext-4.2.1.883 / build.xml @ master

1
<project name="extjs" default="build" basedir=".">
2
    <target name="find-cmd" unless="cmd.dir">
3
        <!--
4
        Run "sencha which" to find the Sencha Cmd basedir and get "cmd.dir" setup. We
5
        need to execute the command with curdir set properly for Cmd to pick up that we
6
        are running for an application.
7
        -->
8
        <exec executable="sencha" dir="${basedir}">
9
            <arg value="which"/><arg value="-o=$cmddir$"/>
10
        </exec>
11

    
12
        <!-- Now read the generated properties file and delete it -->
13
        <property file="$cmddir$"/>
14
        <delete file="$cmddir$"/>
15
    </target>
16

    
17
    <target name="init-antcontrib" depends="find-cmd">
18
        <echo>Using Sencha Cmd from ${cmd.dir}</echo>
19

    
20
        <taskdef resource="net/sf/antcontrib/antlib.xml"
21
                 loaderref="senchaloader">
22
            <classpath>
23
                <pathelement location="${cmd.dir}/lib/ant-contrib-1.0b3.jar"/>
24
                <pathelement location="${cmd.dir}/lib/commons-httpclient-3.0.1.jar"/>
25
                <pathelement location="${cmd.dir}/lib/commons-logging-1.0.4.jar"/>
26
                <pathelement location="${cmd.dir}/lib/commons-codec-1.3.jar"/>
27
            </classpath>
28
        </taskdef>
29
    </target>
30

    
31
    <target name="init-sencha-cmd" depends="init-antcontrib">
32
        <taskdef resource="com/sencha/ant/antlib.xml" 
33
                 classpath="${cmd.dir}/sencha.jar"
34
                 loaderref="senchaloader"/>
35
    </target>
36

    
37
    <target name="init-all" depends="init-sencha-cmd">
38
        <property name="build.dir"          location="${basedir}"/>
39
        <property name="build.docs.dir"     location="${build.dir}/docs"/>
40

    
41
        <echo>build.dir: ${build.dir}</echo>
42
    </target>
43

    
44
    <!-- ****************************************************************** -->
45

    
46
    <target name="build" depends="init-all"
47
            description="Build the SDK from source">
48
        <!--
49
        Lay down the file header so we can append the rest from the compiler.
50
        -->
51
        <for list="ext-core,ext-foundation,ext-all-sandbox,ext-all-rtl-sandbox" param="file">
52
            <sequential>
53
                <for list=".js,-dev.js,-debug-w-comments.js" param="sfx">
54
                    <sequential>
55
                        <copy file="${build.dir}/file-header.js"
56
                              tofile="${build.dir}/builds/@{file}@{sfx}" overwrite="true"/>
57
                    </sequential>
58
                </for>
59
            </sequential>
60
        </for>
61
        <for list="ext,ext-all,ext-all-rtl" param="file">
62
            <sequential>
63
                <for list=".js,-dev.js,-debug-w-comments.js" param="sfx">
64
                    <sequential>
65
                        <copy file="${build.dir}/file-header.js"
66
                              tofile="${build.dir}/@{file}@{sfx}" overwrite="true"/>
67
                    </sequential>
68
                </for>
69
            </sequential>
70
        </for>
71

    
72
        <!--
73
        Compile from sources and appending to stubs containing just the license header.
74
        -->
75
        <x-sencha-command dir="${basedir}">
76
            compile
77
                -ignore=diag
78

    
79
                # Remove the license header from the source files:
80
                -prefix
81
                    ${basedir}/file-header.js
82

    
83
                # Build *-dev.js files - these have all "debug" conditional code active
84
                # for use in development mode.
85

    
86
                -options=debug:true
87
                    concatenate
88
                        +append
89
                        -output-file=${build.dir}/ext-all-rtl-dev.js
90
                    and
91
                    concatenate
92
                        +append
93
                        -sandbox=Ext4:x4-
94
                        -output-file=${build.dir}/builds/ext-all-rtl-sandbox-dev.js
95
                    and
96

    
97

    
98
                    exclude
99
                        -namespace=Ext.rtl
100
                    and
101

    
102

    
103
                    concatenate
104
                        +append
105
                        -output-file=${build.dir}/ext-all-dev.js
106
                    and
107
                    concatenate
108
                        +append
109
                        -sandbox=Ext4:x4-
110
                        -output-file=${build.dir}/builds/ext-all-sandbox-dev.js
111
                    and
112

    
113

    
114
                    union
115
                        -tag=core
116
                    and
117
                    concatenate
118
                        +append
119
                        -output-file=${build.dir}/ext-dev.js
120
                    and
121
                    concatenate
122
                        +append
123
                        -output-file=${build.dir}/builds/ext-core-dev.js
124
                    and
125

    
126

    
127
                    union
128
                        -tag=foundation
129
                    and
130
                    concatenate
131
                        +append
132
                        -output-file=${build.dir}/builds/ext-foundation-dev.js
133
                    and
134

    
135
                # Build *-debug-w-comments.js files - these are comment stripped to give
136
                # *-debug.js files. These have normal whitespace and are intended to be
137
                # debuggable versions of *-all.js files. They do not contain "dev mode"
138
                # diagnostic code.
139
                    
140
                -options=debug:false
141
                    include
142
                        +all
143
                    and
144

    
145
                    concatenate
146
                        +append
147
                        -output-file=${build.dir}/ext-all-rtl-debug-w-comments.js
148
                    and
149
                    concatenate
150
                        +append
151
                        -sandbox=Ext4:x4-
152
                        -output-file=${build.dir}/builds/ext-all-rtl-sandbox-debug-w-comments.js
153
                    and
154

    
155

    
156
                    exclude
157
                        -namespace=Ext.rtl
158
                    and
159

    
160

    
161
                    concatenate
162
                        +append
163
                        -output-file=${build.dir}/ext-all-debug-w-comments.js
164
                    and
165
                    concatenate
166
                        +append
167
                        -sandbox=Ext4:x4-
168
                        -output-file=${build.dir}/builds/ext-all-sandbox-debug-w-comments.js
169
                    and
170

    
171

    
172
                    union
173
                        -tag=core
174
                    and
175
                    concatenate
176
                        +append
177
                        -output-file=${build.dir}/ext-debug-w-comments.js
178
                    and
179
                    concatenate
180
                        +append
181
                        -output-file=${build.dir}/builds/ext-core-debug-w-comments.js
182
                    and
183

    
184

    
185
                    union
186
                        -tag=foundation
187
                    and
188
                    concatenate
189
                        +append
190
                        -output-file=${build.dir}/builds/ext-foundation-debug-w-comments.js
191
                    and
192

    
193
                # Generate bootstrap data in to ext-dev.js and ext-debug-w-comments.js to
194
                # enable the dynamic loader.
195

    
196
                    include
197
                        +all
198
                    and
199
                    exclude
200
                        -tag=core
201
                    and
202

    
203
                    metadata
204
                        +append
205
                        +alternates
206
                        -base-path=${build.dir}
207
                        -output-file=${build.dir}/ext-debug-w-comments.js
208
                    and
209
                    metadata
210
                        +append
211
                        +alias
212
                        -base-path=${build.dir}
213
                        -output-file=${build.dir}/ext-debug-w-comments.js
214
                    and
215

    
216
                    metadata
217
                        +append
218
                        +alternates
219
                        -base-path=${build.dir}
220
                        -output-file=${build.dir}/ext-dev.js
221
                    and
222
                    metadata
223
                        +append
224
                        +alias
225
                        -base-path=${build.dir}
226
                        -output-file=${build.dir}/ext-dev.js
227
                    and
228
            
229
                # Optimize and compress the builds
230
            
231
                -options=debug:false
232
                    include
233
                        +all
234
                    and
235
                    optimize
236
                        -define-rewrite
237
                    and
238
            
239
            
240
                    concatenate
241
                        +append
242
                        +yui
243
                        -output-file=${build.dir}/ext-all-rtl.js
244
                    and
245
                    concatenate
246
                        +append
247
                        +yui
248
                        -sandbox=Ext4:x4-
249
                        -output-file=${build.dir}/builds/ext-all-rtl-sandbox.js
250
                    and
251
            
252
            
253
                    exclude
254
                        -namespace=Ext.rtl
255
                    and
256
                    concatenate
257
                        +append
258
                        +yui
259
                        -output-file=${build.dir}/ext-all.js
260
                    and
261
                    concatenate
262
                        +append
263
                        +yui
264
                        -sandbox=Ext4:x4-
265
                        -output-file=${build.dir}/builds/ext-all-sandbox.js
266
                    and
267
            
268
            
269
                    union
270
                        -tag=core
271
                    and
272
                    concatenate
273
                        +append
274
                        +yui
275
                        -output-file=${build.dir}/ext.js
276
                    and
277
                    concatenate
278
                        +append
279
                        +yui
280
                        -output-file=${build.dir}/builds/ext-core.js
281
                    and
282
            
283
            
284
                    union
285
                        -tag=foundation
286
                    and
287
                    concatenate
288
                        +append
289
                        +yui
290
                        -output-file=${build.dir}/builds/ext-foundation.js
291
            
292
        </x-sencha-command>
293

    
294
        <!--
295
        Strip comments and compress all flavors.
296
        -->
297
        <for list="ext,ext-all,ext-all-rtl,builds/ext-all-sandbox,builds/ext-all-rtl-sandbox,builds/ext-core,builds/ext-foundation"
298
             param="kind">
299
            <sequential>
300
                <x-strip-js srcfile="${build.dir}/@{kind}-debug-w-comments.js"
301
                            outfile="${build.dir}/@{kind}-debug.js"/>
302
            </sequential>
303
        </for>
304

    
305
    </target>
306

    
307
    <target name="examples" depends="init-all">
308
        <x-sencha-command>
309
            compile
310
                --ignore=diag,rtl/
311
                --classpath=${basedir}/examples/shared,${basedir}/examples/ux
312
                --classpath=${basedir}/examples/desktop
313
                --classpath=${basedir}/examples/portal
314
                --classpath=${basedir}/examples/grouptabs
315
                --classpath=${basedir}/examples/kitchensink
316
                --classpath=${basedir}/examples/app/simple
317
                --classpath=${basedir}/examples/simple-tasks
318
                --classpath=${basedir}/examples/app/nested-loading
319
                --classpath=${basedir}/examples/app/feed-viewer
320
                --options=debug:false
321
                    page
322
                        --scripts=../common.js
323
                        --input-file=${basedir}/examples/desktop/desktop.html
324
                        --output=${build.dir}/examples/desktop/compiled-desktop.html
325
                        --name=desktop
326
                    and
327
                    page
328
                        --scripts=../common.js
329
                        --input-file=${basedir}/examples/grouptabs/grouptabs.html
330
                        --output=${build.dir}/examples/grouptabs/compiled-grouptabs.html
331
                        --name=grouptabs
332
                    and
333
                    page
334
                        --scripts=../common.js
335
                        --input-file=${basedir}/examples/kitchensink/index.html
336
                        --output=${build.dir}/examples/kitchensink/compiled-index.html
337
                        --name=kitchensink
338
                    and
339
                    page
340
                        --scripts=../../common.js
341
                        --input-file=${basedir}/examples/app/simple/simple.html
342
                        --output=${build.dir}/examples/app/simple/compiled-simple.html
343
                        --name=simpleapp
344
                    and
345
                    page
346
                        --scripts=../common.js
347
                        --input-file=${basedir}/examples/simple-tasks/index.html
348
                        --output=${build.dir}/examples/simple-tasks/compiled-index.html
349
                        --name=simpletasks
350
                    and
351
                    page
352
                        --scripts=../../common.js
353
                        --input-file=${basedir}/examples/app/nested-loading/nested-loading.html
354
                        --output=${build.dir}/examples/app/nested-loading/compiled-nested-loading.html
355
                        --name=nested-loading
356
                    and
357
                    page
358
                        --scripts=../../common.js
359
                        --input-file=${basedir}/examples/app/feed-viewer/feed-viewer.html
360
                        --output=${build.dir}/examples/app/feed-viewer/compiled-feed-viewer.html
361
                        --name=feed-viewer
362
                    and
363
                    page
364
                        --scripts=../common.js
365
                        --input-file=${basedir}/examples/portal/portal.html
366
                        --output=${build.dir}/examples/portal/compiled-portal.html
367
                        --name=portal
368
                    and
369
                    intersect
370
                        -min=6
371
                        -set=desktop,grouptabs,kitchensink,simpleapp,simpletasks,nested-loading,feed-viewer,portal
372
                    and
373
                    save
374
                        common
375
                    and
376
                    concatenate
377
                        --strip-comments=true
378
                        --output-file=${build.dir}/examples/common.js
379
                    and
380
                    restore
381
                        portal
382
                    and
383
                    exclude
384
                        -set=common
385
                    and
386
                    concatenate
387
                        --output-file=${build.dir}/examples/portal/all-classes.js
388
                    and
389
                    restore
390
                        feed-viewer
391
                    and
392
                    exclude
393
                        -set=common
394
                    and
395
                    concatenate
396
                        --output-file=${build.dir}/examples/app/feed-viewer/all-classes.js
397
                    and
398
                    restore
399
                        nested-loading
400
                    and
401
                    exclude
402
                        -set=common
403
                    and
404
                    concatenate
405
                        --output-file=${build.dir}/examples/app/nested-loading/all-classes.js
406
                    and
407
                    restore
408
                        simpletasks
409
                    and
410
                    exclude
411
                        -set=common
412
                    and
413
                    concatenate
414
                        --output-file=${build.dir}/examples/simple-tasks/all-classes.js
415
                    and
416
                    restore
417
                        simpleapp
418
                    and
419
                    exclude
420
                        -set=common
421
                    and
422
                    concatenate
423
                        --output-file=${build.dir}/examples/app/simple/all-classes.js
424
                    and
425
                    restore
426
                        kitchensink
427
                    and
428
                    exclude
429
                        -set=common
430
                    and
431
                    concatenate
432
                        --output-file=${build.dir}/examples/kitchensink/all-classes.js
433
                    and
434
                    restore
435
                        grouptabs
436
                    and
437
                    exclude
438
                        -set=common
439
                    and
440
                    concatenate
441
                        --output-file=${build.dir}/examples/grouptabs/all-classes.js
442
                    and
443
                    restore
444
                        desktop
445
                    and
446
                    exclude
447
                        -set=common
448
                    and
449
                    concatenate
450
                        --output-file=${build.dir}/examples/desktop/all-classes.js
451
        </x-sencha-command>
452
    </target>
453
</project>