1 <project name=
"x-sass-impl">
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"/>
11 <target name=
"-compile-sass-rtl-theme" depends=
"-init-sass-compiler" if=
"is.theme.package">
12 <x-compile refid=
"${compiler.ref.id}">
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}
29 -output=${build.all.ruby}
34 <target name=
"-compile-sass-ltr-theme" depends=
"-init-sass-compiler" if=
"is.theme.package">
35 <x-compile refid=
"${compiler.ref.id}">
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}
56 -output=${build.all.ruby}
61 <target name=
"-compile-sass-rtl" depends=
"-init-sass-compiler" unless=
"is.theme.package">
62 <x-compile refid=
"${compiler.ref.id}">
68 -tag=package-${package.name}
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}
90 -output=${build.all.rtl.scss}
91 -forward=${package.sass.dynamic}
99 -output=${build.all.rtl.scss}
103 -output=${build.all.ruby}
108 <target name=
"-compile-sass-ltr" depends=
"-init-sass-compiler" unless=
"is.theme.package">
109 <x-compile refid=
"${compiler.ref.id}">
115 -tag=package-${package.name}
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}
141 -output=${build.all.scss}
142 -forward=${package.sass.dynamic}
150 -output=${build.all.scss}
154 -output=${build.all.ruby}
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}'
167 <macrodef name=
"x-compress-css-files">
168 <attribute name=
"dir"/>
169 <attribute name=
"prefix"/>
170 <attribute name=
"outprefix"/>
172 <x-split-css file=
"@{dir}/@{prefix}.css"
173 outdir=
"${build.resources.dir}"
174 limit=
"${build.css.selector.limit}"/>
176 <for param=
"cssfile">
177 <fileset dir=
"@{dir}" includes=
"@{prefix}*.css"/>
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"
185 select=
"\1@{outprefix}\3.css"
187 <x-echo>Compressing @{cssfile} to ${css.output.name}
</x-echo>
188 <x-compress-css srcfile=
"@{cssfile}"
189 outfile=
"${css.output.name}"/>
193 <replaceregexp file=
"@{dir}/@{outprefix}.css"
194 match=
"@import '@{prefix}(_\d\d).css';"
195 replace=
"@import '@{outprefix}\1.css';"
200 <macrodef name=
"x-fashion-build-css">
201 <attribute name=
"dir"/>
202 <attribute name=
"outdir"/>
203 <attribute name=
"suffix"/>
204 <attribute name=
"compress"/>
206 <for param=
"cssfile">
207 <fileset dir=
"@{dir}" includes=
"*.scss"/>
209 <local name=
"css.output.name"/>
211 <x-script-def name=
"x-calc-path">
212 <attribute name=
"file"/>
213 <attribute name=
"dir"/>
214 <attribute name=
"outdir"/>
215 <attribute name=
"suffix"/>
218 importPackage(java.io);
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') + '',
227 name = name.replace(/-debug\.scss/g, suffix + '.css');
228 outName = new File(outdir, name).getAbsolutePath();
229 project.setProperty('css.output.name', outName);
234 <x-calc-path file=
"@{cssfile}"
239 <x-echo>Building @{cssfile} to ${css.output.name}
</x-echo>
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}"/>
252 <target name=
"-compass-compile" depends=
"-load-sass-page,-compile-sass">
254 <x-is-true value=
"${package.sass.fashion}"/>
257 <x-is-false value=
"${package.sass.rhino}"/>
260 dir=
"${package.sass.build.dir}"
261 outdir=
"${build.resources.dir}"
265 dir=
"${package.sass.build.dir}"
266 outdir=
"${build.resources.dir}"
272 file=
"${compass.sass.dir}"
273 toFile=
"${compass.css.dir}"/>
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}"/>
292 <target name=
"-compile-css" depends=
"-compass-compile">
294 <not><x-is-true value=
"${package.sass.fashion}"/></not>
296 <x-compress-css-files
297 dir=
"${build.resources.dir}"
298 prefix=
"${build.all.css.debug.prefix}"
299 outprefix=
"${build.all.css.prefix}"/>
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}"/>
309 <target name=
"-before-sass"/>
310 <target name=
"-sass" depends=
"-compile-css"/>
311 <target name=
"-after-sass"/>