1 <project name=
"x-sub-builds-impl">
3 <macrodef name=
"x-process-sub-packages">
4 <attribute name=
"all" default=
"false"/>
5 <element name=
"tasks" implicit=
"true"/>
9 <isset property=
"package.subpkgs.dir"/>
10 <available file=
"${package.subpkgs.dir}" type=
"dir"/>
13 <local name=
"sub.packages.list"/>
14 <condition property=
"sub.packages.list" value=
"${package.subpkgs}">
16 <isset property=
"package.subpkgs"/>
17 <equals arg1=
"@{all}" arg2=
"false"/>
20 <property name=
"sub.packages.list" value=
"*"/>
22 <dirset dir=
"${package.subpkgs.dir}" includes=
"${sub.packages.list}"/>
25 <available file=
"@{pkg-dir}/.sencha/package/sencha.cfg"/>
37 <macrodef name=
"x-process-examples">
38 <attribute name=
"all" default=
"false"/>
39 <element name=
"tasks" implicit=
"true"/>
41 <local name=
"example.apps"/>
42 <local name=
"example.path"/>
43 <local name=
"example.dir"/>
45 <condition property=
"example.apps" value=
"*">
46 <equals arg1=
"@{all}" arg2=
"true"/>
48 <condition property=
"example.apps" value=
"${package.example.apps}">
49 <isset property=
"package.example.apps"/>
51 <condition property=
"example.apps" value=
"${package.examples}">
52 <isset property=
"package.examples"/> <!-- legacy value -->
55 <condition property=
"example.path" value=
"${package.example.path}">
56 <isset property=
"package.example.path"/>
58 <condition property=
"example.path" value=
"${package.examples.dir}">
59 <isset property=
"package.examples.dir"/> <!-- legacy value -->
63 <isset property=
"example.path"/>
65 <for list=
"${example.path}" delimiter=
"," param=
"dir">
67 <x-canonical-path property=
"example.dir" overwrite=
"true"
69 basedir=
"${package.dir}"/>
71 <x-echo>Processing examples in
"@{dir}" (${example.dir})
</x-echo>
74 <isset property=
"example.apps"/>
76 <for list=
"${example.apps}" delimiter=
"," param=
"app">
79 <available file=
"${example.dir}/@{app}/.sencha/app/sencha.cfg"/>
82 Use for loop so <tasks> can use the
83 pieces @{app} and @{dir} of the full
86 <for param=
"example-dir">
87 <dirset dir=
"${example.dir}" includes=
"@{app}"/>
95 <available file=
"${example.dir}/@{app}" type=
"dir"/>
97 <x-echo>No app at ${example.dir}/@{app}
</x-echo>
106 <available file=
"@{dir}" type=
"dir"/>
108 <for param=
"example-dir">
109 <dirset dir=
"@{dir}" includes=
"*"/>
112 <available file=
"@{example-dir}/.sencha/app/sencha.cfg"/>
129 <macrodef name=
"x-run-sub-build">
130 <attribute name=
"dir"/>
131 <attribute name=
"target"/>
132 <element name=
"properties" implicit=
"true"/>
135 <available file=
"@{dir}/build.xml"/>
137 <local name=
"sub.name"/>
138 <basename file=
"@{dir}"
139 property=
"sub.name"/>
144 <property name=
"compiler.ref.id" value=
"compiler-${sub.name}"/>
152 <macrodef name=
"x-sub-build">
153 <attribute name=
"dir"/>
154 <attribute name=
"target" default=
"build"/>
155 <attribute name=
"inherit-version" default=
"0"/>
158 <x-is-true value=
"@{inherit-version}"/>
160 <x-run-sub-build dir=
"@{dir}" target=
"@{target}">
161 <property name=
"cmd.dir" value=
"${cmd.dir}"/>
162 <property name=
"build.version" value=
"${build.version}"/>
166 <x-run-sub-build dir=
"@{dir}" target=
"@{target}">
167 <property name=
"cmd.dir" value=
"${cmd.dir}"/>
174 <target name=
"-before-subpkgs"/>
175 <target name=
"-after-subpkgs"/>
176 <target name=
"-subpkgs">
177 <x-process-sub-packages>
178 <local name=
"sub.name"/>
179 <basename file=
"@{pkg-dir}"
180 property=
"sub.name"/>
181 <x-echo>Building sub package ${sub.name}
</x-echo>
183 <x-is-true value=
"${build.subpkgs.inherit.version}"/>
185 <x-sencha-command dir=
"@{pkg-dir}" inheritall=
"false">
186 <property name=
"compiler.ref.id" value=
"compiler-${sub.name}"/>
187 <property name=
"build.version" value=
"${build.version}"/>
188 <property name=
"package.sass.rhino" value=
"${package.sass.rhino}"/>
194 <x-sencha-command dir=
"@{pkg-dir}" inheritall=
"false">
195 <property name=
"compiler.ref.id" value=
"compiler-${sub.name}"/>
196 <property name=
"package.sass.rhino" value=
"${package.sass.rhino}"/>
202 </x-process-sub-packages>
205 <target name=
"-before-clean-subpkgs"/>
206 <target name=
"-after-clean-subpkgs"/>
207 <target name=
"-clean-subpkgs">
208 <x-process-sub-packages>
209 <x-echo>Cleaning sub package in @{pkg-dir}
</x-echo>
210 <x-sub-build dir=
"@{pkg-dir}"
212 inherit-version=
"${build.subpkgs.inherit.version}"/>
213 </x-process-sub-packages>
216 <target name=
"-before-upgrade-subpkgs"/>
217 <target name=
"-after-upgrade-subpkgs"/>
218 <target name=
"-upgrade-subpkgs">
219 <x-process-sub-packages>
220 <x-echo>Upgrading sub package in @{pkg-dir}
</x-echo>
221 <x-sencha-command dir=
"@{pkg-dir}" inheritall=
"false">
222 <property name=
"args.force" value=
"true"/>
226 <delete dir=
"@{example-dir}/.sencha_backup"/>
227 </x-process-sub-packages>
230 <target name=
"-before-examples"/>
231 <target name=
"-after-examples"/>
232 <target name=
"-examples">
234 <x-echo>Building example in @{example-dir}
</x-echo>
235 <x-sencha-command dir=
"@{example-dir}" inheritall=
"false">
236 <property name=
"app.sass.rhino" value=
"${package.sass.rhino}"/>
240 </x-process-examples>
243 <target name=
"-before-upgrade-examples"/>
244 <target name=
"-after-upgrade-examples"/>
245 <target name=
"-upgrade-examples">
247 <x-echo>Upgrading example in @{example-dir}
</x-echo>
248 <x-sencha-command dir=
"@{example-dir}" inheritall=
"false">
249 <property name=
"args.force" value=
"true"/>
253 <delete dir=
"@{example-dir}/.sencha_backup"/>
254 </x-process-examples>
257 <target name=
"-before-clean-examples"/>
258 <target name=
"-after-clean-examples"/>
259 <target name=
"-clean-examples">
261 <x-echo>Cleaning example in @{example-dir}
</x-echo>
262 <x-sub-build dir=
"@{example-dir}"
264 </x-process-examples>
267 <target name=
"list-examples" depends=
"init"
268 description=
"List all example apps for this package">
270 <x-echo> @{example-dir}
</x-echo>
271 </x-process-examples>