1 <?xml version=
"1.0" encoding=
"utf-8"?>
3 ********************************** DO NOT EDIT **********************************
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.
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.
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.
17 <project name=
"x-pkg-build-impl">
20 ===============================================================
22 uses targets from find-cmd-impl.xml to detect the current
24 ===============================================================
26 <import file=
"${basedir}/.sencha/package/find-cmd-impl.xml"/>
27 <target name=
"init-cmd"
28 depends=
"find-cmd-in-path,
29 find-cmd-in-environment,
31 <echo>Using Sencha Cmd from ${cmd.dir} for ${ant.file}
</echo>
34 load the sencha.jar ant task definitions.
36 NOTE: the 'loaderref' attribute stores this task def's class loader
37 on the project by that name, so it will be sharable across sub-projects.
38 This fixes out-of-memory issues, as well as increases performance.
40 To supoprt this, it is recommended that any customizations that use
41 'ant' or 'antcall' tasks set 'inheritrefs=true' on those tasks, in order
42 to propagate the senchaloader reference to those subprojects.
44 The sencha 'x-ant-call' task, which extends 'antcall' and defaults
45 'inheritrefs' to true, may be used in place of antcall in
46 build process customizations.
48 <taskdef resource=
"com/sencha/ant/antlib.xml"
49 classpath=
"${cmd.dir}/sencha.jar"
50 loaderref=
"senchaloader"/>
53 Some operations require sencha.jar in the current java classpath,
54 so this will extend the java.lang.Thread#contextClassLoader with the
55 specified java classpath entries
58 <jar path=
"${cmd.dir}/sencha.jar"/>
63 ===============================================================
65 uses targets from init-impl.xml to load Sencha Cmd config
66 system properties and ant task definitions
67 ===============================================================
69 <import file=
"${basedir}/.sencha/package/refresh-impl.xml"/>
70 <import file=
"${basedir}/.sencha/package/init-impl.xml"/>
77 -before-init-defaults,
84 ===============================================================
86 this is the starting point for the build process. The 'depends'
87 attribute on the -build target controls the ordering of the
88 different build phases
89 ===============================================================
91 <target name=
"-before-build"/>
101 <target name=
"-after-build"/>
103 depends=
"init,-before-build,-build,-after-build"
104 description=
"Builds the package"/>
107 ===============================================================
109 removes all artifacts from the output build directories
110 ===============================================================
112 <target name=
"-before-clean"/>
113 <target name=
"-after-clean"/>
114 <target name=
"-clean">
115 <delete dir=
"${package.output.base}"/>
116 <delete dir=
"${build.temp.dir}"/>
120 description=
"Removes all build output produced by the 'build' target">
122 <target name=
"-before-clean"/>
123 <target name=
"-clean"/>
124 <target name=
"clean-subpkgs"/>
125 <target name=
"clean-examples"/>
126 <target name=
"-after-clean"/>
131 ===============================================================
133 uses targets from js-impl.xml to produce the output js files
134 containing package js classes
135 ===============================================================
137 <import file=
"${basedir}/.sencha/package/js-impl.xml"/>
140 description=
"Builds the JS files">
141 <x-ant-call unless=
"skip.js">
142 <target name=
"-before-js"/>
144 <target name=
"-after-js"/>
149 ===============================================================
151 uses targets from resources-impl.xml the package's resources
152 to the output directory
153 ===============================================================
155 <import file=
"${basedir}/.sencha/package/resources-impl.xml"/>
157 <target name=
"inherit-resources"
159 description=
"Performs the resource folder inheritance from base theme(s)">
160 <x-ant-call unless=
"skip.inherit">
161 <target name=
"-before-inherit-resources"/>
162 <target name=
"-inherit-resources"/>
163 <target name=
"-after-inherit-resources"/>
167 <target name=
"copy-resources"
169 description=
"Copy theme resources to folder">
170 <x-ant-call unless=
"skip.resources">
171 <target name=
"-before-copy-resources"/>
172 <target name=
"-copy-resources"/>
173 <target name=
"-after-copy-resources"/>
178 ===============================================================
180 uses targets from sass-impl.xml to produce the output css
181 files for the package's styling
182 ===============================================================
184 <import file=
"${basedir}/.sencha/package/sass-impl.xml"/>
187 description=
"Builds the SASS files using Compass">
188 <x-ant-call unless=
"skip.sass">
189 <target name=
"-before-sass"/>
190 <target name=
"-sass"/>
191 <target name=
"-after-sass"/>
196 ===============================================================
198 uses targets from slice-impl.xml to extract theme images from
199 the package's styling for use with older browsers that don't
200 support modern css features
201 ===============================================================
203 <import file=
"${basedir}/.sencha/package/slice-impl.xml"/>
206 description=
"Slices CSS3 theme to produce non-CSS3 images and sprites">
207 <x-ant-call unless=
"skip.slice">
208 <target name=
"-before-slice"/>
209 <target name=
"-slice"/>
210 <target name=
"-after-slice"/>
216 ===============================================================
218 uses targets from sub-builds.xml to process other packages
219 and example applications contained within this package.
220 Only the "subpkgs" and "examples" targets are part of the
222 ===============================================================
224 <import file=
"sub-builds.xml"/>
229 <target name=
"subpkgs"
231 description=
"Builds all sub-packages">
232 <x-ant-call unless=
"skip.subpkgs">
233 <target name=
"-before-subpkgs"/>
234 <target name=
"-subpkgs"/>
235 <target name=
"-after-subpkgs"/>
239 <target name=
"clean-subpkgs"
241 description=
"Cleans all sub-packages">
242 <x-ant-call unless=
"skip.clean.subpkgs">
243 <target name=
"-before-clean-subpkgs"/>
244 <target name=
"-clean-subpkgs"/>
245 <target name=
"-after-clean-subpkgs"/>
249 <target name=
"upgrade-subpkgs"
251 description=
"Upgrades all sub-packages">
252 <x-ant-call unless=
"skip.upgrade.subpkgs">
253 <target name=
"-before-upgrade-subpkgs"/>
254 <target name=
"-upgrade-subpkgs"/>
255 <target name=
"-after-upgrade-subpkgs"/>
262 <target name=
"examples"
264 description=
"Builds all examples">
265 <x-ant-call unless=
"skip.examples">
266 <target name=
"-before-examples"/>
267 <target name=
"-examples"/>
268 <target name=
"-after-examples"/>
272 <target name=
"clean-examples"
274 description=
"Upgrades all examples">
275 <x-ant-call unless=
"skip.clean.examples">
276 <target name=
"-before-clean-examples"/>
277 <target name=
"-clean-examples"/>
278 <target name=
"-after-clean-examples"/>
282 <target name=
"upgrade-examples"
284 description=
"Upgrades all examples">
285 <x-ant-call unless=
"skip.upgrade.examples">
286 <target name=
"-before-upgrade-examples"/>
287 <target name=
"-upgrade-examples"/>
288 <target name=
"-after-upgrade-examples"/>
295 <target name=
"-before-pkg"/>
296 <target name=
"-after-pkg"/>
298 <x-make-pkg dir=
"${package.dir}"
299 files=
"${build.pkg.manifest}"
300 pkg=
"${pkg.build.dir}/${pkg.file.name}"
301 temp=
"${build.temp.dir}"/>
305 description=
"Builds the PKG file">
306 <x-ant-call unless=
"skip.pkg">
307 <target name=
"-before-pkg"/>
308 <target name=
"-pkg"/>
309 <target name=
"-after-pkg"/>
314 ===============================================================
316 displays all current ant properties
317 ===============================================================
319 <target name=
".props" depends=
"init"
320 description=
"Lists all properties defined for the build">
325 ===============================================================
327 displays the help message
328 ===============================================================
330 <target name=
".help" depends=
"init"
331 description=
"Provides help on the build script">
333 <x-get-project-targets property=
"help.message"/>
335 <echo><![CDATA[${help.message}
336 This is the main build script for your package.
338 The following properties can be used to disable certain steps in the build
341 * skip.pkg Do not build the PKG file
342 * skip.sass Do not build the SASS.
343 * skip.js Do not build the JS files.
345 For details about how these options affect your build, see
347 ${basedir}/.sencha/package/build-impl.xml
349 These options can be stored in a local.properties file in this folder or in the
350 local.properties file in the workspace.
352 Alternatively, these can be supplied on the command line. For example:
354 sencha ant -Dskip.sass=
1 build
356 To see all currently defined properties, do this: