]> git.proxmox.com Git - extjs.git/blob - extjs/examples/kitchensink/.sencha/app/build-impl.xml
add extjs 6.0.1 sources
[extjs.git] / extjs / examples / kitchensink / .sencha / app / build-impl.xml
1 <?xml version="1.0" encoding="utf-8"?>
2 <!--
3 ********************************** DO NOT EDIT **********************************
4
5 This file will be replaced during upgrades so DO NOT EDIT this file. If you need to
6 adjust the process, reading and understanding this file is the first step.
7
8 In most cases, the adjustments can be achieved by setting properties or providing one
9 of the "hooks" in the form of a "-before-" or "-after-" target. Whenever possible, look
10 for one of these solutions.
11
12 Failing that, you can copy whole targets to your build.xml file and it will overrride
13 the target provided here. Doing that can create problems for upgrading to newer
14 versions of Cmd so it is not recommended but it will be easier to manage than editing
15 this file in most cases.
16 -->
17 <project name="x-app-build-impl" default=".help">
18 <!--
19 ===============================================================
20 helper targets for ant integrations with IDE's
21 (human readable target names)
22 ===============================================================
23 -->
24 <target name="-before-build-testing"/>
25 <target name="-build-testing" depends="testing,build"/>
26 <target name="-after-build-testing"/>
27 <target name="build-testing"
28 depends="-before-build-testing,
29 -build-testing,
30 -after-build-testing"/>
31
32 <target name="Build - Testing"
33 description="Create a Testing build of this project"
34 depends="build-testing"/>
35
36 <target name="-before-build-production"/>
37 <target name="-build-production" depends="production,build"/>
38 <target name="-after-build-production"/>
39 <target name="build-production"
40 depends="-before-build-production,
41 -build-production,
42 -after-build-production"/>
43
44 <target name="Build - Production"
45 description="Create a Production build of this project"
46 depends="build-production"/>
47
48 <target name="-before-build-native"/>
49 <target name="-build-native" depends="native,build"/>
50 <target name="-after-build-native"/>
51 <target name="build-native"
52 depends="-before-build-native,
53 -build-native,
54 -after-build-native"/>
55
56 <target name="Build - Native"
57 description="Create a Native build of this project"
58 depends="build-native"/>
59
60 <target name="-before-start-local-webserver"/>
61 <target name="-start-local-webserver" depends="init">
62 <x-launch-terminal>
63 <![CDATA[
64 ${cmd.dir}/sencha fs web -port=${build.web.port} start -map=${build.web.root}
65 ]]>
66 </x-launch-terminal>
67 </target>
68 <target name="-after-start-local-webserver"/>
69 <target name="start-local-webserver"
70 depends="-before-start-local-webserver,
71 -start-local-webserver,
72 -after-start-local-webserver"/>
73
74 <target name="WebServer - Start Local"
75 description="Starts a local webserver for this project"
76 depends="start-local-webserver"/>
77
78 <target name="-before-compass-watch"/>
79 <target name="-compass-watch" depends="init">
80 <x-launch-terminal>
81 compass watch ${app.sass.dir}
82 </x-launch-terminal>
83 </target>
84 <target name="-after-compass-watch"/>
85 <target name="compass-watch"
86 depends="-before-compass-watch,
87 -compass-watch,
88 -after-compass-watch"/>
89
90 <target name="Compass - Watch"
91 description="Opens terminal and watches for SASS updates"
92 depends="compass-watch"/>
93
94 <!--
95 ===============================================================
96 environment setters
97 ===============================================================
98 -->
99 <target name="production"
100 description="Sets the build environment to production.">
101 <property name="build.environment" value="production"/>
102 </target>
103
104 <target name="testing"
105 description="Sets the build environment to testing.">
106 <property name="build.environment" value="testing"/>
107 </target>
108
109 <target name="native"
110 description="Sets the build environment to native.">
111 <property name="build.environment" value="native"/>
112 </target>
113
114 <target name="package"
115 description="Sets the build environment to package.">
116 <property name="build.environment" value="package"/>
117 </target>
118
119 <target name="development"
120 description="Sets the build environment to development.">
121 <property name="build.environment" value="development"/>
122 </target>
123
124 <!--
125 ===============================================================
126 Find Cmd
127 uses targets from find-cmd-impl.xml to detect the current
128 install of Sencha Cmd
129 ===============================================================
130 -->
131 <import file="${basedir}/.sencha/app/find-cmd-impl.xml"/>
132 <target name="init-cmd"
133 depends="find-cmd-in-path,
134 find-cmd-in-environment,
135 find-cmd-in-shell">
136 <echo>Using Sencha Cmd from ${cmd.dir} for ${ant.file}</echo>
137
138 <!--
139 load the sencha.jar ant task definitions.
140
141 NOTE: the 'loaderref' attribute stores this task def's class loader
142 on the project by that name, so it will be sharable across sub-projects.
143 This fixes out-of-memory issues, as well as increases performance.
144
145 To supoprt this, it is recommended that any customizations that use
146 'ant' or 'antcall' tasks set 'inheritrefs=true' on those tasks, in order
147 to propagate the senchaloader reference to those subprojects.
148
149 The sencha 'x-ant-call' task, which extends 'antcall' and defaults
150 'inheritrefs' to true, may be used in place of antcall in
151 build process customizations.
152 -->
153 <taskdef resource="com/sencha/ant/antlib.xml"
154 classpath="${cmd.dir}/sencha.jar"
155 loaderref="senchaloader"/>
156
157 <!--
158 Some operations require sencha.jar in the current java classpath,
159 so this will extend the java.lang.Thread#contextClassLoader with the
160 specified java classpath entries
161 -->
162 <x-extend-classpath>
163 <jar path="${cmd.dir}/sencha.jar"/>
164 </x-extend-classpath>
165 </target>
166
167 <!--
168 ===============================================================
169 Init
170 uses targets from init-impl.xml to load Sencha Cmd config
171 system properties and ant task definitions
172 ===============================================================
173 -->
174 <import file="${basedir}/.sencha/app/init-impl.xml"/>
175 <import file="${basedir}/.sencha/app/resolve-impl.xml"/>
176 <target name="init"
177 depends="init-local,
178 init-cmd,
179 -before-init,
180 -init,
181 -after-init,
182 -before-init-defaults,
183 -init-defaults,
184 -after-init-defaults,
185 -init-compiler,
186 -init-native-package,
187 -init-web-server"/>
188
189 <!--
190 ===============================================================
191 Build
192 this is the starting point for the build process. The 'depends'
193 attribute on the -build target controls the ordering of the
194 different build phases
195 ===============================================================
196 -->
197 <target name="-before-build"/>
198 <target name="-build"
199 depends="refresh,
200 resolve,
201 js,
202 resources,
203 slice,
204 sass,
205 page,
206 native-package"/>
207 <target name="-after-build"/>
208 <target name="build"
209 depends="init,-before-build,-build,-after-build"
210 description="Builds the application"/>
211
212 <!--
213 ===============================================================
214 Clean
215 removes all artifacts from the output build directories
216 ===============================================================
217 -->
218 <target name="-before-clean"/>
219 <target name="-clean">
220 <delete dir="${app.output.base}"/>
221 <delete dir="${build.temp.dir}"/>
222 </target>
223 <target name="-after-clean"/>
224 <target name="clean"
225 depends="init"
226 description="Removes all build output produced by the 'build' target">
227 <x-ant-call unless="skip.clean">
228 <target name="-before-clean"/>
229 <target name="-clean"/>
230 <target name="-after-clean"/>
231 </x-ant-call>
232 </target>
233
234 <!--
235 ===============================================================
236 Watch
237 uses targets from watch-impl.xml to initiate the application
238 watch process using instrumented state from the compiler
239 ===============================================================
240 -->
241 <import file="${basedir}/.sencha/app/watch-impl.xml"/>
242 <target name="-watch-init">
243 <property name="app.watch.enabled" value="true"/>
244 </target>
245 <target name="watch"
246 depends="-watch-init,development,init"
247 description="Starts Watch to keep your app ready for dev mode">
248 <x-ant-call>
249 <param name="build.id" value="${build.id}"/>
250 <param name="build.name" value="${build.name}"/>
251 <target name="-before-watch"/>
252 <target name="-watch"/>
253 <target name="-after-watch"/>
254 </x-ant-call>
255 </target>
256
257 <!--
258 ===============================================================
259 JS
260 uses targets from js-impl.xml to produce the output js files
261 containing needed application and framework js classes
262 ===============================================================
263 -->
264 <import file="${basedir}/.sencha/app/js-impl.xml"/>
265 <target name="js"
266 depends="init"
267 description="Builds the output javascript file(s)">
268 <x-ant-call unless="skip.js">
269 <target name="-before-js"/>
270 <target name="-js"/>
271 <target name="-after-js"/>
272 </x-ant-call>
273 </target>
274
275 <!--
276 ===============================================================
277 Sass
278 uses targets from sass-impl.xml to produce the output css
279 files for the application's styling
280 ===============================================================
281 -->
282 <import file="${basedir}/.sencha/app/sass-impl.xml"/>
283 <target name="sass"
284 depends="init"
285 description="Builds the Sass files using Compass.">
286 <x-ant-call unless="skip.sass">
287 <target name="-before-sass"/>
288 <target name="-sass"/>
289 <target name="-after-sass"/>
290 <target name="refresh"/>
291 </x-ant-call>
292 </target>
293
294 <!--
295 ===============================================================
296 Resources
297 uses targets from resources-impl.xml to copy resources from
298 the application and required packages to the output directory
299 ===============================================================
300 -->
301 <import file="${basedir}/.sencha/app/resources-impl.xml"/>
302 <target name="resources"
303 depends="init"
304 description="Copy resources to build folder.">
305 <x-ant-call unless="skip.resources">
306 <target name="-before-resources"/>
307
308 <!-- Legacy targets: -->
309 <target name="-before-inherit-resources"/>
310 <target name="-before-copy-resources"/>
311
312 <target name="-resources"/>
313
314 <!-- Legacy targets: -->
315 <target name="-after-copy-resources"/>
316 <target name="-after-inherit-resources"/>
317
318 <target name="-after-resources"/>
319 </x-ant-call>
320 </target>
321
322
323 <!--
324 ===============================================================
325 Slice
326 uses targets from slice-impl.xml to extract theme images from
327 the application for use with older browsers that don't
328 support modern css features
329 ===============================================================
330 -->
331 <import file="${basedir}/.sencha/app/slice-impl.xml"/>
332 <target name="slice"
333 depends="init"
334 description="Slices CSS3 theme to produce non-CSS3 images and sprites.">
335 <x-ant-call unless="skip.slice">
336 <target name="-before-slice"/>
337 <target name="-slice"/>
338 <target name="-after-slice"/>
339 </x-ant-call>
340 </target>
341
342 <!--
343 Theme - this is a legacy support target for extjs 4.1 apps. It redirects
344 to the "slice" ant target
345 -->
346 <target name="theme"
347 depends="init"
348 description="Builds the application's theme(s) images using the slicer (Ext JS 4.1 only).">
349 <x-ant-call unless="skip.theme">
350 <target name="-before-theme"/>
351 <target name="slice"/>
352 <target name="-after-theme"/>
353 </x-ant-call>
354 </target>
355
356 <!--
357 Refresh Theme - uses targets from refresh-impl.xml to rebuild the current
358 theme
359 -->
360 <target name="refresh-theme"
361 depends="init"
362 description="Rebuilds the currently enabled app theme (Ext JS 4.1 only).">
363 <x-ant-call unless="skip.theme">
364 <target name="-before-refresh-theme"/>
365 <target name="-refresh-theme"/>
366 <target name="-after-refresh-theme"/>
367 </x-ant-call>
368 </target>
369
370 <!--
371 ===============================================================
372 Refresh
373 uses targets from refresh-impl.xml to generate bootstrapping
374 information for the application
375 ===============================================================
376 -->
377 <import file="${basedir}/.sencha/app/refresh-impl.xml"/>
378 <target name="refresh"
379 depends="init"
380 description="Refreshes the application bootstrap data.">
381 <x-ant-call unless="skip.refresh">
382 <target name="-before-refresh"/>
383 <target name="-refresh"/>
384 <target name="-after-refresh"/>
385 </x-ant-call>
386 </target>
387
388 <!--
389 ===============================================================
390 Page
391 uses targets from page-impl.xml to generate the output markup
392 file and associated microloader / app manifest
393 ===============================================================
394 -->
395 <import file="${basedir}/.sencha/app/page-impl.xml"/>
396 <target name="page"
397 depends="init"
398 description="Builds the application's HTML page.">
399 <x-ant-call unless="skip.page">
400 <target name="-before-page"/>
401 <target name="-page"/>
402 <target name="-after-page"/>
403 </x-ant-call>
404 </target>
405
406 <!--
407 ===============================================================
408 Resolve
409 uses targets from resolve-impl.xml to detect dynamic app
410 dependencies using phantomjs
411 ===============================================================
412 -->
413 <target name="resolve"
414 depends="init"
415 description="Resolve application dependencies dynamically.">
416 <x-ant-call unless="skip.resolve">
417 <target name="-before-resolve"/>
418 <target name="-resolve"/>
419 <target name="-after-resolve"/>
420 </x-ant-call>
421 </target>
422
423 <!--
424 ===============================================================
425 Native Package
426 uses targets from packager-impl.xml to run native packager
427 applications to produce stand-alone installable web apps from
428 this built Cmd application
429 ===============================================================
430 -->
431 <import file="${basedir}/.sencha/app/packager-impl.xml"/>
432 <import file="${basedir}/.sencha/app/cordova-impl.xml"/>
433 <import file="${basedir}/.sencha/app/phonegap-impl.xml"/>
434 <target name="native-package"
435 depends="init"
436 description="Builds native packages of the application">
437 <x-ant-call unless="skip.native-package">
438 <target name="-before-native-package"/>
439 <target name="-native-package"/>
440 <target name="-after-native-package"/>
441 </x-ant-call>
442 </target>
443
444
445 <target name="-before-publish"/>
446 <target name="-after-publish"/>
447 <target name="-publish">
448 <property name="app.manager.file" value="${app.output.base}"/>
449 <x-sencha-command>
450 <![CDATA[
451 manager
452 version
453 create
454 -id=${app.manager.id}
455 -name=${app.version}
456 -host=${app.manager.host}
457 -secret=${app.manager.secret}
458 -apiKey=${app.manager.apiKey}
459 -file=${app.manager.file}
460 ]]>
461 </x-sencha-command>
462 </target>
463 <target name="publish"
464 depends="init,-before-publish,-publish,-after-publish"
465 description="Publish app to Sencha Web Application Manager"/>
466
467
468 <!--
469 ===============================================================
470 Help - properties
471 displays all current ant properties
472 ===============================================================
473 -->
474 <target name=".props" depends="init"
475 description="Lists all properties defined for the build">
476 <echoproperties/>
477 </target>
478
479 <!--
480 ===============================================================
481 Help - docs
482 displays the help message
483 ===============================================================
484 -->
485 <target name=".help" depends="init"
486 description="Provides help on the build script">
487 <x-get-project-targets property="help.message"/>
488
489 <echo><![CDATA[${help.message}
490 This is the main build script for your application.
491
492 The following properties can be used to disable certain steps in the build
493 process.
494
495 * skip.page Do not build the HTML page.
496 * skip.js Do not build the output js code file(s)
497 * skip.resources Do not copy resources to the build directory
498 * skip.sass Do not build the SASS.
499 * skip.slice Do not build the theme image slicer.
500
501 Most build options are controlled by the app manifest. For details see:
502
503 ${basedir}/app.json
504
505 For more specific controls over the build process, see:
506
507 ${basedir}/.sencha/app/defaults.properties
508
509 For details about how these options affect your build, see
510
511 ${basedir}/.sencha/app/build-impl.xml
512
513 These options can be stored in a local.properties file in this folder or in the
514 local.properties file in the workspace. This file should not be included in
515 source control.
516
517 Alternatively, these can be supplied on the command line. For example:
518
519 ant -Dskip.sass=1 build
520
521 To see all currently defined properties, do this:
522
523 ant .props
524 ]]></echo>
525 </target>
526
527 </project>