icloudtweetdeckhipchattelegramhangoutsslackgmailskypefacebook-workplaceoutlookemailmicrosoft-teamsdiscordmessengercustom-servicesmacoslinuxwindowsinboxwhatsapp
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.
214 lines
8.4 KiB
214 lines
8.4 KiB
<project name="x-js-impl"> |
|
<!-- |
|
this target extracts split mode information from the compiler's app |
|
processor to determine various pieces of information |
|
--> |
|
<target name="-detect-app-build-properties" |
|
depends="-init-app-js-files"> |
|
<x-load-app-builder-properties |
|
refid="${compiler.ref.id}" |
|
splitModePropName="enable.split.mode" |
|
pageModePropName="app.page.mode" |
|
hasJsSdkPropName="app.has.js.sdk" |
|
hasCssSdkPropName="app.has.css.sdk" |
|
hasUsesPackagesPropName="app.has.uses" /> |
|
</target> |
|
|
|
<!-- |
|
this is the standard js compile target that builds the output js file(s) |
|
--> |
|
<target name="-compile-js" depends="-detect-app-build-properties"> |
|
|
|
<property name="app.output.framework.include" |
|
value="package-sencha-core,framework,toolkit,package-core"/> |
|
|
|
<property name="enable.used.deps" value="${app.has.uses}"/> |
|
|
|
<if> |
|
<x-is-true value="${enable.used.deps}"/> |
|
<then> |
|
<x-compile refid="${compiler.ref.id}"> |
|
# determine the base set of framework files |
|
exclude |
|
-all |
|
and |
|
include |
|
-tag=${app.output.framework.include} |
|
and |
|
save |
|
allframework |
|
</x-compile> |
|
|
|
<for param="file"> |
|
<fileset dir="${workspace.build.dir}/temp" includes="**/deps.json"/> |
|
<sequential> |
|
<x-compile refid="${compiler.ref.id}"> |
|
# now load the transitive set based on the json data |
|
exclude |
|
-all |
|
and |
|
include |
|
-json-data=@{file} |
|
-r |
|
and |
|
save |
|
deps |
|
and |
|
|
|
# add any needed deps to the page save set |
|
include |
|
-set=page |
|
and |
|
save |
|
page |
|
</x-compile> |
|
</sequential> |
|
</for> |
|
</then> |
|
<else> |
|
<if> |
|
<equals arg1="${app.output.js.filter}" arg2="all"/> |
|
<then> |
|
<x-compile refid="${compiler.ref.id}"> |
|
# if filtering requirements is configured for 'all' |
|
# then just include all js content on the classpath to |
|
# ensure all dependencies are provided for the used packages |
|
include |
|
-all |
|
and |
|
save |
|
page |
|
</x-compile> |
|
</then> |
|
</if> |
|
</else> |
|
</if> |
|
|
|
|
|
<if> |
|
<x-is-true value="${enable.split.mode}"/> |
|
<then> |
|
<local name="build.js.framework.fwset" /> |
|
<local name="build.js.framework.rtl" /> |
|
<if> |
|
<or> |
|
<x-is-true value="${app.output.framework.all}" /> |
|
<isset property="app.has.uses" /> |
|
</or> |
|
<then> |
|
<property name="build.include.all.scss" value="true" /> |
|
<property name="build.js.framework.fwset"> </property> |
|
<if> |
|
<x-is-false value="${app.output.framework.rtl}" /> |
|
<then> |
|
<property name="build.js.framework.rtl"> |
|
<![CDATA[ |
|
exclude |
|
-namespace=Ext.rtl |
|
and |
|
]]> |
|
</property> |
|
</then> |
|
<else> |
|
<property name="build.js.framework.rtl"> </property> |
|
</else> |
|
</if> |
|
</then> |
|
<else> |
|
<property name="build.js.framework.fwset"> |
|
<![CDATA[ |
|
intersect |
|
-set=page,allframework |
|
and |
|
]]> |
|
</property> |
|
<property name="build.js.framework.rtl"> </property> |
|
</else> |
|
</if> |
|
|
|
<x-compile refid="${compiler.ref.id}"> |
|
<![CDATA[ |
|
# build a separate sdk-only js file |
|
restore |
|
page |
|
and |
|
${build.optimize} |
|
and |
|
exclude |
|
-all |
|
and |
|
include |
|
-tag=${app.output.framework.include} |
|
and |
|
save |
|
allframework |
|
and |
|
${build.js.framework.fwset} |
|
save |
|
frameworkdeps |
|
and |
|
${build.js.framework.rtl} |
|
include |
|
-tag=Ext.cmd.derive |
|
and |
|
concat |
|
-remove-text-references=${build.remove.references} |
|
-optimize-string-references=${build.optimize.string.references} |
|
-remove-requirement-nodes=${build.remove.requirement.nodes} |
|
${build.compression} |
|
-out=${build.framework.file} |
|
${build.concat.options} |
|
|
|
# now build the all-classes file, without |
|
# the framework code included |
|
and |
|
restore |
|
page |
|
and |
|
exclude |
|
-set=frameworkdeps |
|
and |
|
exclude |
|
-tag=Ext.cmd.derive,derive |
|
and |
|
concat |
|
-remove-text-references=${build.remove.references} |
|
-optimize-string-references=${build.optimize.string.references} |
|
-remove-requirement-nodes=${build.remove.requirement.nodes} |
|
${build.compression} |
|
-out=${build.classes.file} |
|
${build.concat.options} |
|
]]> |
|
</x-compile> |
|
</then> |
|
<else> |
|
<local name="framework.include.filter"/> |
|
<x-compile refid="${compiler.ref.id}"> |
|
<![CDATA[ |
|
# build an all-classes.js file that contains |
|
# all code needed by the app |
|
restore |
|
page |
|
and |
|
${build.optimize} |
|
and |
|
concat |
|
-remove-text-references=${build.remove.references} |
|
-optimize-string-references=${build.optimize.string.references} |
|
-remove-requirement-nodes=${build.remove.requirement.nodes} |
|
${build.compression} |
|
-out=${build.classes.file} |
|
${build.concat.options} |
|
]]> |
|
</x-compile> |
|
</else> |
|
</if> |
|
</target> |
|
|
|
<!-- |
|
Build javascript |
|
--> |
|
<target name="-before-js"/> |
|
<target name="-js" depends="-compile-js"/> |
|
<target name="-after-js"/> |
|
</project> |