]> git.proxmox.com Git - extjs.git/blob - extjs/classic/theme-classic/.sencha/package/sass-impl.xml
add extjs 6.0.1 sources
[extjs.git] / extjs / classic / theme-classic / .sencha / package / sass-impl.xml
1 <project name="x-sass-impl">
2
3 <target name="-init-sass-compiler" depends="-init-compiler">
4 <x-normalize-path path="${build.out.resources.dir}"
5 property="image.search.path"/>
6 <condition property="is.theme.package" value="true">
7 <equals arg1="${package.type}" arg2="theme"/>
8 </condition>
9 </target>
10
11 <target name="-compile-sass-rtl-theme" depends="-init-sass-compiler" if="is.theme.package">
12 <x-compile refid="${compiler.ref.id}">
13 <![CDATA[
14 include
15 -all
16 and
17 sass
18 -etc=true
19 -vars=true
20 -rules=true
21 -class-name-vars=true
22 -variable=$image-search-path:'${image.search.path}' !default
23 -variable=$theme-name: '${package.name}' !default
24 -output=${build.all.rtl.scss}
25 -forward=${package.sass.dynamic}
26 and
27 sass
28 -ruby=true
29 -output=${build.all.ruby}
30 ]]>
31 </x-compile>
32 </target>
33
34 <target name="-compile-sass-ltr-theme" depends="-init-sass-compiler" if="is.theme.package">
35 <x-compile refid="${compiler.ref.id}">
36 <![CDATA[
37 exclude
38 -all
39 and
40 include
41 -not
42 -namespace=Ext.rtl
43 and
44 sass
45 -etc=true
46 -vars=true
47 -rules=true
48 -class-name-vars=true
49 -variable=$image-search-path:'${image.search.path}' !default
50 -variable=$theme-name: '${theme.name}' !default
51 -output=${build.all.scss}
52 -forward=${package.sass.dynamic}
53 and
54 sass
55 -ruby=true
56 -output=${build.all.ruby}
57 ]]>
58 </x-compile>
59 </target>
60
61 <target name="-compile-sass-rtl" depends="-init-sass-compiler" unless="is.theme.package">
62 <x-compile refid="${compiler.ref.id}">
63 <![CDATA[
64 exclude
65 -all
66 and
67 include
68 -tag=package-${package.name}
69 and
70 save
71 pkg
72 and
73 sass
74 -class-name-vars=true
75 -variable=$image-search-path:'${image.search.path}' !default
76 -variable=$theme-name: '${theme.name}' !default
77 -output=${build.all.rtl.scss}
78 -forward=${package.sass.dynamic}
79 and
80 include
81 -all
82 and
83 save
84 all
85 and
86 sass
87 -etc=true
88 -vars=true
89 +append
90 -output=${build.all.rtl.scss}
91 -forward=${package.sass.dynamic}
92 and
93 restore
94 pkg
95 and
96 sass
97 -rules=true
98 +append
99 -output=${build.all.rtl.scss}
100 and
101 sass
102 -ruby=true
103 -output=${build.all.ruby}
104 ]]>
105 </x-compile>
106 </target>
107
108 <target name="-compile-sass-ltr" depends="-init-sass-compiler" unless="is.theme.package">
109 <x-compile refid="${compiler.ref.id}">
110 <![CDATA[
111 exclude
112 -all
113 and
114 include
115 -tag=package-${package.name}
116 and
117 save
118 pkg
119 and
120 sass
121 -class-name-vars=true
122 -variable=$image-search-path:'${image.search.path}' !default
123 -variable=$theme-name: '${theme.name}' !default
124 -output=${build.all.scss}
125 -forward=${package.sass.dynamic}
126 and
127 exclude
128 -all
129 and
130 include
131 -not
132 -namespace=Ext.rtl
133 and
134 save
135 all-rtl
136 and
137 sass
138 -etc=true
139 -vars=true
140 +append
141 -output=${build.all.scss}
142 -forward=${package.sass.dynamic}
143 and
144 restore
145 pkg
146 and
147 sass
148 -rules=true
149 +append
150 -output=${build.all.scss}
151 and
152 sass
153 -ruby=true
154 -output=${build.all.ruby}
155 ]]>
156 </x-compile>
157 </target>
158
159 <target name="-compile-sass"
160 depends="-compile-sass-rtl-theme,-compile-sass-ltr-theme,-compile-sass-rtl,-compile-sass-ltr">
161 <echo file="${package.example.compass.config}">
162 require '${build.all.ruby}'
163 cache_path = '${compass.cache.dir}'
164 </echo>
165 </target>
166
167 <macrodef name="x-compress-css-files">
168 <attribute name="dir"/>
169 <attribute name="prefix"/>
170 <attribute name="outprefix"/>
171 <sequential>
172 <x-split-css file="@{dir}/@{prefix}.css"
173 outdir="${build.resources.dir}"
174 limit="${build.css.selector.limit}"/>
175
176 <for param="cssfile">
177 <fileset dir="@{dir}" includes="@{prefix}*.css"/>
178 <sequential>
179 <local name="css.output.name"/>
180 <local name="pattern"/>
181 <property name="pattern" value="(.*?)(@{prefix})(_\d{1,2})*\.css"/>
182 <propertyregex property="css.output.name"
183 input="@{cssfile}"
184 regexp="${pattern}"
185 select="\1@{outprefix}\3.css"
186 override="true"/>
187 <x-echo>Compressing @{cssfile} to ${css.output.name}</x-echo>
188 <x-compress-css srcfile="@{cssfile}"
189 outfile="${css.output.name}"/>
190 </sequential>
191 </for>
192
193 <replaceregexp file="@{dir}/@{outprefix}.css"
194 match="@import '@{prefix}(_\d\d).css';"
195 replace="@import '@{outprefix}\1.css';"
196 flags="g"/>
197 </sequential>
198 </macrodef>
199
200 <macrodef name="x-fashion-build-css">
201 <attribute name="dir"/>
202 <attribute name="outdir"/>
203 <attribute name="suffix"/>
204 <attribute name="compress"/>
205 <sequential>
206 <for param="cssfile">
207 <fileset dir="@{dir}" includes="*.scss"/>
208 <sequential>
209 <local name="css.output.name"/>
210
211 <x-script-def name="x-calc-path">
212 <attribute name="file"/>
213 <attribute name="dir"/>
214 <attribute name="outdir"/>
215 <attribute name="suffix"/>
216 <![CDATA[
217
218 importPackage(java.io);
219
220 var file = attributes.get('file') + '',
221 dir = attributes.get('dir') + '',
222 outdir = attributes.get('outdir') + '',
223 name = new File(file).getName() + '',
224 suffix = attributes.get('suffix') + '',
225 outName;
226
227 name = name.replace(/-debug\.scss/g, suffix + '.css');
228 outName = new File(outdir, name).getAbsolutePath();
229 project.setProperty('css.output.name', outName);
230
231 ]]>
232 </x-script-def>
233
234 <x-calc-path file="@{cssfile}"
235 dir="@{dir}"
236 outdir="@{outdir}"
237 suffix="@{suffix}"/>
238
239 <x-echo>Building @{cssfile} to ${css.output.name}</x-echo>
240
241 <x-sass-build input="@{cssfile}"
242 output="${css.output.name}"
243 refId="package.web.server"
244 split="${build.css.selector.limit}"
245 compress="@{compress}"/>
246
247 </sequential>
248 </for>
249 </sequential>
250 </macrodef>
251
252 <target name="-compass-compile" depends="-load-sass-page,-compile-sass">
253 <if>
254 <x-is-true value="${package.sass.fashion}"/>
255 <then>
256 <if>
257 <x-is-false value="${package.sass.rhino}"/>
258 <then>
259 <x-fashion-build-css
260 dir="${package.sass.build.dir}"
261 outdir="${build.resources.dir}"
262 suffix="-debug"
263 compress="false"/>
264 <x-fashion-build-css
265 dir="${package.sass.build.dir}"
266 outdir="${build.resources.dir}"
267 suffix=""
268 compress="true"/>
269 </then>
270 <else>
271 <x-fashion-compile
272 file="${compass.sass.dir}"
273 toFile="${compass.css.dir}"/>
274 </else>
275 </if>
276
277 </then>
278 <else>
279 <x-compass-compile
280 rubyPath="${build.ruby.path}"
281 trace="${compass.compile.trace}"
282 boring="${compass.compile.boring}"
283 force="${compass.compile.force}"
284 dir="${compass.working.dir}"
285 sassdir="${compass.sass.dir}"
286 cssdir="${compass.css.dir}"
287 config="${package.example.compass.config}"/>
288 </else>
289 </if>
290 </target>
291
292 <target name="-compile-css" depends="-compass-compile">
293 <if>
294 <not><x-is-true value="${package.sass.fashion}"/></not>
295 <then>
296 <x-compress-css-files
297 dir="${build.resources.dir}"
298 prefix="${build.all.css.debug.prefix}"
299 outprefix="${build.all.css.prefix}"/>
300
301 <x-compress-css-files
302 dir="${build.resources.dir}"
303 prefix="${build.all.rtl.css.debug.prefix}"
304 outprefix="${build.all.rtl.css.prefix}"/>
305 </then>
306 </if>
307 </target>
308
309 <target name="-before-sass"/>
310 <target name="-sass" depends="-compile-css"/>
311 <target name="-after-sass"/>
312
313 </project>