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.
454 lines
17 KiB
454 lines
17 KiB
2 years ago
|
<project name="extjs" default="build" basedir=".">
|
||
|
<target name="find-cmd" unless="cmd.dir">
|
||
|
<!--
|
||
|
Run "sencha which" to find the Sencha Cmd basedir and get "cmd.dir" setup. We
|
||
|
need to execute the command with curdir set properly for Cmd to pick up that we
|
||
|
are running for an application.
|
||
|
-->
|
||
|
<exec executable="sencha" dir="${basedir}">
|
||
|
<arg value="which"/><arg value="-o=$cmddir$"/>
|
||
|
</exec>
|
||
|
|
||
|
<!-- Now read the generated properties file and delete it -->
|
||
|
<property file="$cmddir$"/>
|
||
|
<delete file="$cmddir$"/>
|
||
|
</target>
|
||
|
|
||
|
<target name="init-antcontrib" depends="find-cmd">
|
||
|
<echo>Using Sencha Cmd from ${cmd.dir}</echo>
|
||
|
|
||
|
<taskdef resource="net/sf/antcontrib/antlib.xml"
|
||
|
loaderref="senchaloader">
|
||
|
<classpath>
|
||
|
<pathelement location="${cmd.dir}/lib/ant-contrib-1.0b3.jar"/>
|
||
|
<pathelement location="${cmd.dir}/lib/commons-httpclient-3.0.1.jar"/>
|
||
|
<pathelement location="${cmd.dir}/lib/commons-logging-1.0.4.jar"/>
|
||
|
<pathelement location="${cmd.dir}/lib/commons-codec-1.3.jar"/>
|
||
|
</classpath>
|
||
|
</taskdef>
|
||
|
</target>
|
||
|
|
||
|
<target name="init-sencha-cmd" depends="init-antcontrib">
|
||
|
<taskdef resource="com/sencha/ant/antlib.xml"
|
||
|
classpath="${cmd.dir}/sencha.jar"
|
||
|
loaderref="senchaloader"/>
|
||
|
</target>
|
||
|
|
||
|
<target name="init-all" depends="init-sencha-cmd">
|
||
|
<property name="build.dir" location="${basedir}"/>
|
||
|
<property name="build.docs.dir" location="${build.dir}/docs"/>
|
||
|
|
||
|
<echo>build.dir: ${build.dir}</echo>
|
||
|
</target>
|
||
|
|
||
|
<!-- ****************************************************************** -->
|
||
|
|
||
|
<target name="build" depends="init-all"
|
||
|
description="Build the SDK from source">
|
||
|
<!--
|
||
|
Lay down the file header so we can append the rest from the compiler.
|
||
|
-->
|
||
|
<for list="ext-core,ext-foundation,ext-all-sandbox,ext-all-rtl-sandbox" param="file">
|
||
|
<sequential>
|
||
|
<for list=".js,-dev.js,-debug-w-comments.js" param="sfx">
|
||
|
<sequential>
|
||
|
<copy file="${build.dir}/file-header.js"
|
||
|
tofile="${build.dir}/builds/@{file}@{sfx}" overwrite="true"/>
|
||
|
</sequential>
|
||
|
</for>
|
||
|
</sequential>
|
||
|
</for>
|
||
|
<for list="ext,ext-all,ext-all-rtl" param="file">
|
||
|
<sequential>
|
||
|
<for list=".js,-dev.js,-debug-w-comments.js" param="sfx">
|
||
|
<sequential>
|
||
|
<copy file="${build.dir}/file-header.js"
|
||
|
tofile="${build.dir}/@{file}@{sfx}" overwrite="true"/>
|
||
|
</sequential>
|
||
|
</for>
|
||
|
</sequential>
|
||
|
</for>
|
||
|
|
||
|
<!--
|
||
|
Compile from sources and appending to stubs containing just the license header.
|
||
|
-->
|
||
|
<x-sencha-command dir="${basedir}">
|
||
|
compile
|
||
|
-ignore=diag
|
||
|
|
||
|
# Remove the license header from the source files:
|
||
|
-prefix
|
||
|
${basedir}/file-header.js
|
||
|
|
||
|
# Build *-dev.js files - these have all "debug" conditional code active
|
||
|
# for use in development mode.
|
||
|
|
||
|
-options=debug:true
|
||
|
concatenate
|
||
|
+append
|
||
|
-output-file=${build.dir}/ext-all-rtl-dev.js
|
||
|
and
|
||
|
concatenate
|
||
|
+append
|
||
|
-sandbox=Ext4:x4-
|
||
|
-output-file=${build.dir}/builds/ext-all-rtl-sandbox-dev.js
|
||
|
and
|
||
|
|
||
|
|
||
|
exclude
|
||
|
-namespace=Ext.rtl
|
||
|
and
|
||
|
|
||
|
|
||
|
concatenate
|
||
|
+append
|
||
|
-output-file=${build.dir}/ext-all-dev.js
|
||
|
and
|
||
|
concatenate
|
||
|
+append
|
||
|
-sandbox=Ext4:x4-
|
||
|
-output-file=${build.dir}/builds/ext-all-sandbox-dev.js
|
||
|
and
|
||
|
|
||
|
|
||
|
union
|
||
|
-tag=core
|
||
|
and
|
||
|
concatenate
|
||
|
+append
|
||
|
-output-file=${build.dir}/ext-dev.js
|
||
|
and
|
||
|
concatenate
|
||
|
+append
|
||
|
-output-file=${build.dir}/builds/ext-core-dev.js
|
||
|
and
|
||
|
|
||
|
|
||
|
union
|
||
|
-tag=foundation
|
||
|
and
|
||
|
concatenate
|
||
|
+append
|
||
|
-output-file=${build.dir}/builds/ext-foundation-dev.js
|
||
|
and
|
||
|
|
||
|
# Build *-debug-w-comments.js files - these are comment stripped to give
|
||
|
# *-debug.js files. These have normal whitespace and are intended to be
|
||
|
# debuggable versions of *-all.js files. They do not contain "dev mode"
|
||
|
# diagnostic code.
|
||
|
|
||
|
-options=debug:false
|
||
|
include
|
||
|
+all
|
||
|
and
|
||
|
|
||
|
concatenate
|
||
|
+append
|
||
|
-output-file=${build.dir}/ext-all-rtl-debug-w-comments.js
|
||
|
and
|
||
|
concatenate
|
||
|
+append
|
||
|
-sandbox=Ext4:x4-
|
||
|
-output-file=${build.dir}/builds/ext-all-rtl-sandbox-debug-w-comments.js
|
||
|
and
|
||
|
|
||
|
|
||
|
exclude
|
||
|
-namespace=Ext.rtl
|
||
|
and
|
||
|
|
||
|
|
||
|
concatenate
|
||
|
+append
|
||
|
-output-file=${build.dir}/ext-all-debug-w-comments.js
|
||
|
and
|
||
|
concatenate
|
||
|
+append
|
||
|
-sandbox=Ext4:x4-
|
||
|
-output-file=${build.dir}/builds/ext-all-sandbox-debug-w-comments.js
|
||
|
and
|
||
|
|
||
|
|
||
|
union
|
||
|
-tag=core
|
||
|
and
|
||
|
concatenate
|
||
|
+append
|
||
|
-output-file=${build.dir}/ext-debug-w-comments.js
|
||
|
and
|
||
|
concatenate
|
||
|
+append
|
||
|
-output-file=${build.dir}/builds/ext-core-debug-w-comments.js
|
||
|
and
|
||
|
|
||
|
|
||
|
union
|
||
|
-tag=foundation
|
||
|
and
|
||
|
concatenate
|
||
|
+append
|
||
|
-output-file=${build.dir}/builds/ext-foundation-debug-w-comments.js
|
||
|
and
|
||
|
|
||
|
# Generate bootstrap data in to ext-dev.js and ext-debug-w-comments.js to
|
||
|
# enable the dynamic loader.
|
||
|
|
||
|
include
|
||
|
+all
|
||
|
and
|
||
|
exclude
|
||
|
-tag=core
|
||
|
and
|
||
|
|
||
|
metadata
|
||
|
+append
|
||
|
+alternates
|
||
|
-base-path=${build.dir}
|
||
|
-output-file=${build.dir}/ext-debug-w-comments.js
|
||
|
and
|
||
|
metadata
|
||
|
+append
|
||
|
+alias
|
||
|
-base-path=${build.dir}
|
||
|
-output-file=${build.dir}/ext-debug-w-comments.js
|
||
|
and
|
||
|
|
||
|
metadata
|
||
|
+append
|
||
|
+alternates
|
||
|
-base-path=${build.dir}
|
||
|
-output-file=${build.dir}/ext-dev.js
|
||
|
and
|
||
|
metadata
|
||
|
+append
|
||
|
+alias
|
||
|
-base-path=${build.dir}
|
||
|
-output-file=${build.dir}/ext-dev.js
|
||
|
and
|
||
|
|
||
|
# Optimize and compress the builds
|
||
|
|
||
|
-options=debug:false
|
||
|
include
|
||
|
+all
|
||
|
and
|
||
|
optimize
|
||
|
-define-rewrite
|
||
|
and
|
||
|
|
||
|
|
||
|
concatenate
|
||
|
+append
|
||
|
+yui
|
||
|
-output-file=${build.dir}/ext-all-rtl.js
|
||
|
and
|
||
|
concatenate
|
||
|
+append
|
||
|
+yui
|
||
|
-sandbox=Ext4:x4-
|
||
|
-output-file=${build.dir}/builds/ext-all-rtl-sandbox.js
|
||
|
and
|
||
|
|
||
|
|
||
|
exclude
|
||
|
-namespace=Ext.rtl
|
||
|
and
|
||
|
concatenate
|
||
|
+append
|
||
|
+yui
|
||
|
-output-file=${build.dir}/ext-all.js
|
||
|
and
|
||
|
concatenate
|
||
|
+append
|
||
|
+yui
|
||
|
-sandbox=Ext4:x4-
|
||
|
-output-file=${build.dir}/builds/ext-all-sandbox.js
|
||
|
and
|
||
|
|
||
|
|
||
|
union
|
||
|
-tag=core
|
||
|
and
|
||
|
concatenate
|
||
|
+append
|
||
|
+yui
|
||
|
-output-file=${build.dir}/ext.js
|
||
|
and
|
||
|
concatenate
|
||
|
+append
|
||
|
+yui
|
||
|
-output-file=${build.dir}/builds/ext-core.js
|
||
|
and
|
||
|
|
||
|
|
||
|
union
|
||
|
-tag=foundation
|
||
|
and
|
||
|
concatenate
|
||
|
+append
|
||
|
+yui
|
||
|
-output-file=${build.dir}/builds/ext-foundation.js
|
||
|
|
||
|
</x-sencha-command>
|
||
|
|
||
|
<!--
|
||
|
Strip comments and compress all flavors.
|
||
|
-->
|
||
|
<for list="ext,ext-all,ext-all-rtl,builds/ext-all-sandbox,builds/ext-all-rtl-sandbox,builds/ext-core,builds/ext-foundation"
|
||
|
param="kind">
|
||
|
<sequential>
|
||
|
<x-strip-js srcfile="${build.dir}/@{kind}-debug-w-comments.js"
|
||
|
outfile="${build.dir}/@{kind}-debug.js"/>
|
||
|
</sequential>
|
||
|
</for>
|
||
|
|
||
|
</target>
|
||
|
|
||
|
<target name="examples" depends="init-all">
|
||
|
<x-sencha-command>
|
||
|
compile
|
||
|
--ignore=diag,rtl/
|
||
|
--classpath=${basedir}/examples/shared,${basedir}/examples/ux
|
||
|
--classpath=${basedir}/examples/desktop
|
||
|
--classpath=${basedir}/examples/portal
|
||
|
--classpath=${basedir}/examples/grouptabs
|
||
|
--classpath=${basedir}/examples/kitchensink
|
||
|
--classpath=${basedir}/examples/app/simple
|
||
|
--classpath=${basedir}/examples/simple-tasks
|
||
|
--classpath=${basedir}/examples/app/nested-loading
|
||
|
--classpath=${basedir}/examples/app/feed-viewer
|
||
|
--options=debug:false
|
||
|
page
|
||
|
--scripts=../common.js
|
||
|
--input-file=${basedir}/examples/desktop/desktop.html
|
||
|
--output=${build.dir}/examples/desktop/compiled-desktop.html
|
||
|
--name=desktop
|
||
|
and
|
||
|
page
|
||
|
--scripts=../common.js
|
||
|
--input-file=${basedir}/examples/grouptabs/grouptabs.html
|
||
|
--output=${build.dir}/examples/grouptabs/compiled-grouptabs.html
|
||
|
--name=grouptabs
|
||
|
and
|
||
|
page
|
||
|
--scripts=../common.js
|
||
|
--input-file=${basedir}/examples/kitchensink/index.html
|
||
|
--output=${build.dir}/examples/kitchensink/compiled-index.html
|
||
|
--name=kitchensink
|
||
|
and
|
||
|
page
|
||
|
--scripts=../../common.js
|
||
|
--input-file=${basedir}/examples/app/simple/simple.html
|
||
|
--output=${build.dir}/examples/app/simple/compiled-simple.html
|
||
|
--name=simpleapp
|
||
|
and
|
||
|
page
|
||
|
--scripts=../common.js
|
||
|
--input-file=${basedir}/examples/simple-tasks/index.html
|
||
|
--output=${build.dir}/examples/simple-tasks/compiled-index.html
|
||
|
--name=simpletasks
|
||
|
and
|
||
|
page
|
||
|
--scripts=../../common.js
|
||
|
--input-file=${basedir}/examples/app/nested-loading/nested-loading.html
|
||
|
--output=${build.dir}/examples/app/nested-loading/compiled-nested-loading.html
|
||
|
--name=nested-loading
|
||
|
and
|
||
|
page
|
||
|
--scripts=../../common.js
|
||
|
--input-file=${basedir}/examples/app/feed-viewer/feed-viewer.html
|
||
|
--output=${build.dir}/examples/app/feed-viewer/compiled-feed-viewer.html
|
||
|
--name=feed-viewer
|
||
|
and
|
||
|
page
|
||
|
--scripts=../common.js
|
||
|
--input-file=${basedir}/examples/portal/portal.html
|
||
|
--output=${build.dir}/examples/portal/compiled-portal.html
|
||
|
--name=portal
|
||
|
and
|
||
|
intersect
|
||
|
-min=6
|
||
|
-set=desktop,grouptabs,kitchensink,simpleapp,simpletasks,nested-loading,feed-viewer,portal
|
||
|
and
|
||
|
save
|
||
|
common
|
||
|
and
|
||
|
concatenate
|
||
|
--strip-comments=true
|
||
|
--output-file=${build.dir}/examples/common.js
|
||
|
and
|
||
|
restore
|
||
|
portal
|
||
|
and
|
||
|
exclude
|
||
|
-set=common
|
||
|
and
|
||
|
concatenate
|
||
|
--output-file=${build.dir}/examples/portal/all-classes.js
|
||
|
and
|
||
|
restore
|
||
|
feed-viewer
|
||
|
and
|
||
|
exclude
|
||
|
-set=common
|
||
|
and
|
||
|
concatenate
|
||
|
--output-file=${build.dir}/examples/app/feed-viewer/all-classes.js
|
||
|
and
|
||
|
restore
|
||
|
nested-loading
|
||
|
and
|
||
|
exclude
|
||
|
-set=common
|
||
|
and
|
||
|
concatenate
|
||
|
--output-file=${build.dir}/examples/app/nested-loading/all-classes.js
|
||
|
and
|
||
|
restore
|
||
|
simpletasks
|
||
|
and
|
||
|
exclude
|
||
|
-set=common
|
||
|
and
|
||
|
concatenate
|
||
|
--output-file=${build.dir}/examples/simple-tasks/all-classes.js
|
||
|
and
|
||
|
restore
|
||
|
simpleapp
|
||
|
and
|
||
|
exclude
|
||
|
-set=common
|
||
|
and
|
||
|
concatenate
|
||
|
--output-file=${build.dir}/examples/app/simple/all-classes.js
|
||
|
and
|
||
|
restore
|
||
|
kitchensink
|
||
|
and
|
||
|
exclude
|
||
|
-set=common
|
||
|
and
|
||
|
concatenate
|
||
|
--output-file=${build.dir}/examples/kitchensink/all-classes.js
|
||
|
and
|
||
|
restore
|
||
|
grouptabs
|
||
|
and
|
||
|
exclude
|
||
|
-set=common
|
||
|
and
|
||
|
concatenate
|
||
|
--output-file=${build.dir}/examples/grouptabs/all-classes.js
|
||
|
and
|
||
|
restore
|
||
|
desktop
|
||
|
and
|
||
|
exclude
|
||
|
-set=common
|
||
|
and
|
||
|
concatenate
|
||
|
--output-file=${build.dir}/examples/desktop/all-classes.js
|
||
|
</x-sencha-command>
|
||
|
</target>
|
||
|
</project>
|