telegramhangoutsslackgmailskypefacebook-workplaceoutlookemailmicrosoft-teamsdiscordmessengercustom-servicesmacoslinuxwindowsinboxwhatsappicloudtweetdeckhipchat
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
273 lines
9.9 KiB
273 lines
9.9 KiB
<project name="x-slice-impl"> |
|
|
|
<target name="-load-sass-page" |
|
depends="-generate-slicer-bootstrap, |
|
-generate-slicer-manifest"> |
|
<x-run-if-true value="${package.sass.fashion}"> |
|
<if> |
|
<x-is-false value="${package.sass.rhino}"/> |
|
<then> |
|
<x-get-relative-path from="${build.web.root}" |
|
to="${package.example.fashion.html}" |
|
property="package.example.fashion.html.relative"/> |
|
<property name="example.page.url" |
|
value="http://localhost:${build.web.port}/${package.example.fashion.html.relative}"/> |
|
<x-sass-page page="${package.example.fashion.html}" |
|
url="${example.page.url}" |
|
refId="package.web.server"/> |
|
</then> |
|
</if> |
|
</x-run-if-true> |
|
</target> |
|
|
|
<!-- |
|
Uses the compiler to generate a special theme-only scss file containing |
|
rules for all framework / package / app components. This is then used |
|
by the slicer example page to capture theme sprites |
|
--> |
|
<target name="-compile-slicer-sass" depends="-init-compiler"> |
|
<local name="package.example.scss.tmp"/> |
|
<property name="package.example.scss.tmp" value="${package.example.scss}.tmp"/> |
|
<x-normalize-path |
|
path="${build.out.resources.dir}" |
|
property="image.search.path"/> |
|
|
|
<x-compile refid="${compiler.ref.id}"> |
|
<![CDATA[ |
|
restore |
|
package-${package.name}-all |
|
and |
|
include |
|
-all |
|
and |
|
sass |
|
+class-name-vars |
|
+etc |
|
+vars |
|
+rules |
|
-variable=$image-search-path:'${image.search.path}' |
|
-variable=$theme-name: '${theme.name}' !default |
|
-output=${package.example.scss.tmp} |
|
-forward=${package.sass.dynamic} |
|
and |
|
restore |
|
package-${package.name}-all |
|
and |
|
sass |
|
+ruby |
|
-output=${package.example.out.ruby} |
|
]]> |
|
</x-compile> |
|
|
|
<if> |
|
<not> |
|
<filesmatch file1="${package.example.scss.tmp}" file2="${package.example.scss}"/> |
|
</not> |
|
<then> |
|
<copy file="${package.example.scss.tmp}" tofile="${package.example.scss}" overwrite="true"/> |
|
</then> |
|
</if> |
|
|
|
</target> |
|
|
|
<!-- |
|
Compiles the scss file for the theme slicer page |
|
--> |
|
<target name="-compass-compile-slicer-css" depends="-compile-slicer-sass"> |
|
<if> |
|
<not> |
|
<x-is-true value="${package.sass.fashion}"/> |
|
</not> |
|
<then> |
|
<x-compass-compile |
|
dir="${package.example.build.dir}" |
|
trace="${compass.compile.trace}" |
|
boring="${compass.compile.boring}" |
|
force="${compass.compile.force}" |
|
sassdir="${package.example.build.dir}" |
|
cssdir="${package.example.build.dir}" |
|
config="${package.example.compass.config}"/> |
|
</then> |
|
</if> |
|
</target> |
|
|
|
<!-- |
|
Compiles the scss file for the theme slicer page |
|
--> |
|
<target name="-fashion-compile-slicer-css" depends="-compile-slicer-sass"> |
|
<if> |
|
<x-is-true value="${package.sass.fashion}"/> |
|
<then> |
|
<if> |
|
<x-is-true value="${package.sass.rhino}"/> |
|
<then> |
|
<x-fashion-compile file="${package.example.build.dir}" |
|
tofile="${package.example.build.dir}"/> |
|
</then> |
|
<else> |
|
<x-sass-build input="${package.example.build.dir}" |
|
output="${package.example.build.dir}" |
|
refId="package.web.server"/> |
|
</else> |
|
</if> |
|
</then> |
|
</if> |
|
</target> |
|
|
|
<target name="-generate-slicer-manifest" depends="-compass-compile-slicer-css" if="framework.isV5"> |
|
<condition property="remove.slicer.css.bootstrap.entries" value="true"> |
|
<and> |
|
<x-is-true value="${package.sass.fashion}"/> |
|
<x-is-false value="${package.sass.rhino}"/> |
|
</and> |
|
</condition> |
|
<property name="remove.slicer.css.bootstrap.entries" value="false"/> |
|
|
|
<x-compile refid="${compiler.ref.id}"> |
|
<![CDATA[ |
|
slicer-manifest |
|
-removeBootstrapCssEntries=${remove.slicer.css.bootstrap.entries} |
|
-cssFile=${package.example.css} |
|
-basePath=${bootstrap.base.path} |
|
-out=${bootstrap.example.json} |
|
and |
|
microload |
|
-operation=microloader |
|
-microloaderPath=${build.slicer.microloader.file} |
|
-bootPath=${build.boot.file} |
|
-out=${bootstrap.example.js} |
|
]]> |
|
</x-compile> |
|
</target> |
|
|
|
<target name="-generate-slicer-bootstrap" depends="-init-compiler" unless="framework.isV5"> |
|
|
|
<local name="relpath"/> |
|
<x-get-relative-path from="${bootstrap.base.path}" |
|
to="${framework.packages.dir}" |
|
property="relpath"/> |
|
|
|
<local name="override.tpl"/> |
|
<local name="override.tpl.type"/> |
|
|
|
<property name="override.tpl.type" value="tpl"/> |
|
<property name="override.tpl" value='Ext.Loader.loadScriptFile("{0}", Ext.emptyFn);'/> |
|
|
|
<x-bootstrap file="${bootstrap.example.js}" |
|
basedir="${bootstrap.base.path}" |
|
includeBoot="true" |
|
includeCoreFiles="true" |
|
overrideTpl="${override.tpl}" |
|
overrideTplType="${override.tpl.type}" |
|
overrideExcludeTags=""> |
|
<![CDATA[ |
|
Ext.Boot.loadSync([ |
|
"render.js", |
|
"${relpath}/ext-theme-base/sass/example/manifest.js", |
|
"${relpath}/ext-theme-base/sass/example/shortcuts.js", |
|
"custom.js" |
|
]); |
|
]]> |
|
</x-bootstrap> |
|
</target> |
|
|
|
<target name="-update-slicer-css"> |
|
<x-get-relative-path |
|
from="${package.example.dir}" |
|
to="${package.example.css}" |
|
property="package.example.css.path" |
|
/> |
|
|
|
<!--update the app's example to point to the build output--> |
|
<echo file="${package.example.dir}/example.css"> |
|
/* |
|
* This file is generated by Sencha Cmd and should NOT be edited. It redirects |
|
* to the most recently built CSS file for the application to allow theme.html |
|
* to load properly for image slicing (required to support non-CSS3 browsers |
|
* such as IE9 and below). |
|
*/ |
|
@import '${package.example.css.path}'; |
|
</echo> |
|
</target> |
|
|
|
|
|
<target name="-capture-theme-image" |
|
depends="-generate-slicer-bootstrap,-generate-slicer-manifest,-update-slicer-css"> |
|
<if> |
|
<or> |
|
<x-is-false value="${package.sass.fashion}"/> |
|
<x-is-true value="${package.sass.rhino}"/> |
|
</or> |
|
<then> |
|
<echo>Capture theme image to ${build.dir}/theme-capture.png</echo> |
|
<x-sencha-command dir="${package.dir}"> |
|
<![CDATA[ |
|
theme |
|
capture |
|
-page=${package.example.theme.html} |
|
-image=${build.capture.png} |
|
-manifest=${build.capture.json} |
|
]]> |
|
</x-sencha-command> |
|
</then> |
|
</if> |
|
</target> |
|
|
|
<target name="-capture-sass-page-image"> |
|
<if> |
|
<and> |
|
<x-is-true value="${package.sass.fashion}"/> |
|
<x-is-false value="${package.sass.rhino}"/> |
|
</and> |
|
<then> |
|
<echo>Capture theme image to ${build.capture.png}</echo> |
|
<x-capture-slicer-data manifestPath="${build.capture.json}" |
|
imagePath="${build.capture.png}" |
|
refId="package.web.server"/> |
|
</then> |
|
</if> |
|
</target> |
|
|
|
<target name="-slice-theme-images" depends="-capture-theme-image"> |
|
<echo>Slicing theme images to ${build.resources.dir}</echo> |
|
<x-sencha-command dir="${package.dir}"> |
|
<![CDATA[ |
|
fs |
|
slice |
|
${build.slice.options} |
|
-image=${build.capture.png} |
|
-manifest=${build.capture.json} |
|
-out=${build.resources.dir} |
|
]]> |
|
</x-sencha-command> |
|
</target> |
|
|
|
<target name="-slice-sass-page" |
|
depends="-load-sass-page, |
|
-update-slicer-css, |
|
-fashion-compile-slicer-css, |
|
-capture-sass-page-image, |
|
-slice-theme-images"/> |
|
|
|
<target name="-fashion-slice-images" depends="-slice-sass-page"></target> |
|
<target name="-compass-slice-images" depends="-slice-theme-images"></target> |
|
|
|
|
|
<target name="-slice-package-images"> |
|
<if> |
|
<x-is-true value="${package.sass.fashion}"/> |
|
<then> |
|
<x-ant-call target="-fashion-slice-images"/> |
|
</then> |
|
<else> |
|
<x-ant-call target="-compass-slice-images"/> |
|
</else> |
|
</if> |
|
</target> |
|
|
|
<target name="-before-slice"/> |
|
<target name="-after-slice"/> |
|
<target name="-slice" |
|
depends="-slice-package-images"/> |
|
|
|
</project> |