extjs-gpl
Version:
GPL licensed version of Sencha Ext JS
322 lines (268 loc) • 12.7 kB
text/xml
<project name="KitchenSink" default=".help">
<!--
The build-impl.xml file imported here contains the guts of the build process. It is
a great idea to read that file to understand how the process works, but it is best to
limit your changes to this file.
-->
<import file="${basedir}/.sencha/app/build-impl.xml"/>
<import file="${basedir}/.sencha/test/test-impl.xml"/>
<!--
The following targets can be provided to inject logic before and/or after key steps
of the build process:
The "init-local" target is used to initialize properties that may be personalized
for the local machine.
<target name="-before-init-local"/>
<target name="-after-init-local"/>
The "clean" target is used to clean build output from the build.dir.
<target name="-before-clean"/>
<target name="-after-clean"/>
The general "init" target is used to initialize all other properties, including
those provided by Sencha Cmd.
<target name="-before-init"/>
<target name="-after-init"/>
The "page" target performs the call to Sencha Cmd to build the 'all-classes.js' file.
<target name="-before-page"/>
<target name="-after-page"/>
The "build" target performs the call to Sencha Cmd to build the application.
<target name="-before-build"/>
<target name="-after-build"/>
-->
<!-- Generate the KitchenSink.data.BigData class -->
<target name="generate-data" depends="init">
<x-script-def name="generate-dummy-data" src="generate-dummy-data.js">
<script src="${cmd.dir}/ant/JSON.js"/>
<script src="${cmd.dir}/ant/ant-util.js"/>
</x-script-def>
<generate-dummy-data/>
</target>
<target name="x-after-build" depends="init">
<if>
<equals arg1="${toolkit.name}" arg2="modern"/>
<then>
<copy todir="${build.out.base.path}" overwrite="true">
<fileset dir="${app.dir}"
includes="${toolkit.name}/src/**/*"/>
</copy>
</then>
</if>
</target>
<!--regenerate the example page to pick up changes to relative path to packages-->
<target name="-before-capture">
<local name="pkg.rel.path"/>
<local name="fwk.rel.path"/>
<local name="fwk.rel.path.actual"/>
<x-get-relative-path
from="${app.dir}"
to="${workspace.packages.dir}"
property="pkg.rel.path"
/>
<x-get-relative-path
from="${app.dir}"
to="${framework.dir}"
property="fwk.rel.path"
/>
<if>
<isset property="sencha.is.sdk.repo"/>
<then>
<property name="fwk.rel.path.actual" value="${fwk.rel.path}/extjs"/>
</then>
<else>
<property name="fwk.rel.path.actual" value="${fwk.rel.path}"/>
</else>
</if>
<x-generate file="${framework.config.dir}/templates/App/sass/example/theme.html.tpl.merge"
tofile="${app.example.dir}/theme.html"
store="${app.config.dir}/codegen"
basedir="${app.dir}">
<param name="appName" value="${app.name}"/>
<param name="frameworkPath" value="${fwk.rel.path.actual}"/>
<param name="packagesRelPath" value="${pkg.rel.path}"/>
</x-generate>
</target>
<!--
***************************************************************************
Custom tagets
***************************************************************************
-->
<macrodef name="x-run-build">
<attribute name="target"/>
<attribute name="theme"/>
<attribute name="locale" default="en"/>
<attribute name="buildName" default="@{theme}"/>
<attribute name="buildId" default="@{theme}-@{locale}"/>
<sequential>
<if>
<equals arg1="@{locale}" arg2=""/>
<then>
<ant dir="${basedir}" inheritall="false" inheritrefs="true" target="@{target}">
<property name="compiler.ref.id" value="${compiler.ref.id}-@{theme}"/>
<property name="app.theme" value="theme-@{theme}"/>
<property name="app.build.dir.suffix" value="theme-@{theme}"/>
<property name="cmd.dir" value="${cmd.dir}"/>
<property name="build.environment" value="${build.environment}"/>
<property name="build.compression.yui" value="${build.compression.yui}"/>
<property name="build.id" value="@{buildId}"/>
<property name="build.name" value="@{buildName}"/>
</ant>
</then>
<else>
<ant dir="${basedir}" inheritall="false" inheritrefs="true" target="@{target}">
<property name="compiler.ref.id" value="${compiler.ref.id}-@{theme}-@{locale}"/>
<property name="app.theme" value="theme-@{theme}"/>
<property name="app.locale" value="@{locale}"/>
<property name="app.build.dir.suffix" value="theme-@{theme}-@{locale}"/>
<property name="cmd.dir" value="${cmd.dir}"/>
<property name="build.environment" value="${build.environment}"/>
<property name="build.compression.yui" value="${build.compression.yui}"/>
<property name="build.id" value="@{buildId}"/>
<property name="build.name" value="@{buildName}"/>
</ant>
</else>
</if>
</sequential>
</macrodef>
<!-- Neptune is last to restore the proper content of bootstrap.css -->
<target name="build-all"
depends="build-classic,build-neptune-hebrew,build-gray,build-neptune-touch,build-neptune,build-crisp,build-crisp-touch"/>
<!--<target name="clean" depends="init,clean-all"/>-->
<!--<target name="build" depends="init,build-all"/>-->
<!--
Build
-->
<target name="build-classic" depends="init">
<echo>Build Kitchen Sink - Classic Theme</echo>
<x-run-build theme="classic" target="x-app-build-impl.build"/>
</target>
<target name="build-gray" depends="init">
<echo>Build Kitchen Sink - Gray Theme</echo>
<x-run-build theme="gray" target="x-app-build-impl.build"/>
</target>
<target name="build-neptune-touch" depends="init">
<echo>Build Kitchen Sink - Neptune Touch Theme</echo>
<x-run-build theme="neptune-touch" target="x-app-build-impl.build"/>
</target>
<target name="build-neptune-hebrew" depends="init">
<echo>Build Kitchen Sink - Neptune Hebrew</echo>
<x-run-build theme="neptune" locale="he" target="x-app-build-impl.build"/>
</target>
<target name="build-crisp" depends="init">
<echo>Build Kitchen Sink - Crisp Theme</echo>
<x-run-build theme="crisp" target="x-app-build-impl.build"/>
</target>
<target name="build-crisp-hebrew" depends="init">
<echo>Build Kitchen Sink - Crisp Hebrew</echo>
<x-run-build theme="crisp" locale="he" target="x-app-build-impl.build"/>
</target>
<target name="build-crisp-touch" depends="init">
<echo>Build Kitchen Sink - Crisp Touch Theme</echo>
<x-run-build theme="crisp-touch" target="x-app-build-impl.build"/>
</target>
<target name="build-neptune" depends="init">
<echo>Build Kitchen Sink - Neptune Theme</echo>
<x-run-build theme="neptune" target="x-app-build-impl.build"/>
</target>
<!--
Watch
-->
<target name="watch-classic" depends="init">
<echo>Watch Kitchen Sink - Classic Theme</echo>
<x-run-build theme="classic" target="watch"/>
</target>
<target name="watch-gray" depends="init">
<echo>Watch Kitchen Sink - Gray Theme</echo>
<x-run-build theme="gray" target="watch"/>
</target>
<target name="watch-neptune-touch" depends="init">
<echo>Watch Kitchen Sink - Neptune Touch Theme</echo>
<x-run-build theme="neptune-touch" target="watch"/>
</target>
<target name="watch-neptune-hebrew" depends="init">
<echo>Watch Kitchen Sink - Neptune Hebrew</echo>
<x-run-build theme="neptune" locale="he" target="watch"/>
</target>
<target name="watch-crisp" depends="init">
<echo>Watch Kitchen Sink - Crisp Theme</echo>
<x-run-build theme="crisp" target="watch"/>
</target>
<target name="watch-crisp-touch" depends="init">
<echo>Watch Kitchen Sink - Crisp Touch Theme</echo>
<x-run-build theme="crisp-touch" target="watch"/>
</target>
<target name="watch-neptune" depends="init">
<echo>Watch Kitchen Sink - Neptune Theme</echo>
<x-run-build theme="neptune" target="watch"/>
</target>
<!--
Refresh
-->
<target name="refresh-classic" depends="init">
<echo>Refresh Kitchen Sink - Classic Theme</echo>
<x-run-build theme="classic" target="x-app-build-impl.refresh"/>
</target>
<target name="refresh-gray" depends="init">
<echo>Refresh Kitchen Sink - Gray Theme</echo>
<x-run-build theme="gray" target="x-app-build-impl.refresh"/>
</target>
<target name="refresh-neptune-touch" depends="init">
<echo>Refresh Kitchen Sink - Neptune Touch Theme</echo>
<x-run-build theme="neptune-touch" target="x-app-build-impl.refresh"/>
</target>
<target name="refresh-neptune-hebrew" depends="init">
<echo>Refresh Kitchen Sink - Neptune Hebrew</echo>
<x-run-build theme="neptune" locale="he" target="x-app-build-impl.refresh"/>
</target>
<target name="refresh-crisp" depends="init">
<echo>Refresh Kitchen Sink - Crisp Theme</echo>
<x-run-build theme="crisp" target="x-app-build-impl.refresh"/>
</target>
<target name="refresh-crisp-touch" depends="init">
<echo>Refresh Kitchen Sink - Crisp Theme</echo>
<x-run-build theme="crisp-touch" target="x-app-build-impl.refresh"/>
</target>
<target name="refresh-neptune" depends="init">
<echo>Refresh Kitchen Sink - Neptune Theme</echo>
<x-run-build theme="neptune" target="x-app-build-impl.refresh"/>
</target>
<!--
Clean
-->
<target name="clean-all"
depends="clean-classic,clean-gray,clean-neptune-touch,clean-crisp,clean-crisp-touch,clean-neptune-hebrew,clean-neptune"/>
<target name="clean-classic" depends="init">
<echo>Clean Kitchen Sink - Classic Theme</echo>
<x-run-build theme="classic" target="x-app-build-impl.clean"/>
</target>
<target name="clean-gray" depends="init">
<echo>Clean Kitchen Sink - Gray Theme</echo>
<x-run-build theme="gray" target="x-app-build-impl.clean"/>
</target>
<target name="clean-neptune-touch" depends="init">
<echo>Clean Kitchen Sink - Neptune Touch Theme</echo>
<x-run-build theme="neptune-touch" target="x-app-build-impl.clean"/>
</target>
<target name="clean-crisp" depends="init">
<echo>Clean Kitchen Sink - Crisp Theme</echo>
<x-run-build theme="crisp" target="x-app-build-impl.clean"/>
</target>
<target name="clean-crisp-touch" depends="init">
<echo>Clean Kitchen Sink - Crisp Theme</echo>
<x-run-build theme="crisp-touch" target="x-app-build-impl.clean"/>
</target>
<target name="clean-neptune" depends="init">
<echo>Clean Kitchen Sink - Neptune Theme</echo>
<x-run-build theme="neptune" target="x-app-build-impl.clean"/>
</target>
<target name="clean-neptune-hebrew" depends="init">
<echo>Clean Kitchen Sink - Neptune/Hebrew</echo>
<x-run-build theme="neptune" locale="he" target="x-app-build-impl.clean"/>
</target>
<target name="sass-full" depends="resources,sass"/>
<target name="sass-all" depends="init">
<for param="theme" list="neptune,classic,crisp,gray,neptune-touch,crisp-touch">
<sequential>
<x-run-build target="sass-full" theme="@{theme}"/>
</sequential>
</for>
</target>
</project>