Author: rgardler
Date: Wed Aug 8 11:46:37 2012
New Revision: 1370741
URL: http://svn.apache.org/viewvc?rev=1370741&view=rev
Log:
make token replacement the last step in generating widgets from templates. This
makes it possible to have any level of template dependency (i.e. template X
extends template y extends template z)
Modified:
incubator/wookie/trunk/widgets/templates/build.xml
Modified: incubator/wookie/trunk/widgets/templates/build.xml
URL:
http://svn.apache.org/viewvc/incubator/wookie/trunk/widgets/templates/build.xml?rev=1370741&r1=1370740&r2=1370741&view=diff
==============================================================================
--- incubator/wookie/trunk/widgets/templates/build.xml (original)
+++ incubator/wookie/trunk/widgets/templates/build.xml Wed Aug 8 11:46:37 2012
@@ -25,6 +25,7 @@
<import file="${wookie.root.dir}/widgets/build.xml"/>
<target name="build-widget">
+ <delete file="${widget.build.dir}/${widget.shortname}.wgt"/>
<zip destfile="${widget.build.dir}/${widget.shortname}.wgt"
basedir="${widget.build.dir}/${widget.shortname}"
/>
@@ -54,6 +55,8 @@
<exclude name="common"/>
</dirset>
</subant>
+
+ <delete dir="${widget.build.dir}/${widget.shortname}.tmp"/>
</target>
<target name="_remove_comments">
@@ -101,24 +104,66 @@
<echo message="| Template: ${template.name}"/>
<echo message="+------------------------------------------"/>
+ <!-- Initialise template -->
<ant antfile="${template.dir}/${template.name}/template_build.xml"
target="_init_template"/>
+ <!-- Initialise build parent template files -->
<ant antfile="${template.dir}/${template.name}/template_build.xml"
target="_generate_from_parent_templates"/>
+ <!-- Build template files -->
<antcall target="_process_template" inheritAll="false">
- <propertyset id="properties-starting-with-foo">
+ <propertyset>
<propertyref prefix="wookie"/>
<propertyref prefix="template."/>
<propertyref prefix="widget."/>
<propertyref prefix="${widget.shortname}"/>
</propertyset>
</antcall>
- <antcall target="_remove_comments"/>
+ <!-- copy widget files -->
<antcall target="_copy_widget_files"/>
- <antcall target="_remove_comments"/>
+
+ <!-- token replacement -->
+ <property file="${widget.build.dir}/${widget.shortname}.properties"/>
+ <property file="${template.dir}/default.widget.properties"/>
+ <copy todir="${widget.build.dir}/${widget.shortname}"
+ overwrite="true"
+ failonerror="false">
+ <fileset dir="${widget.build.dir}/${widget.shortname}.tmp">
+ <exclude name="widget.properties"/>
+ <exclude name="scripts/**"/>
+ <exclude name="style/**"/>
+ <exclude name="images/**"/>
+ <exclude name="assets/**"/>
+ <exclude name="lib/**"/>
+ <exclude name="legal/**"/>
+ </fileset>
+ <filterchain>
+ <expandproperties/>
+ </filterchain>
+ </copy>
+
+ <copy todir="${widget.build.dir}/${widget.shortname}/scripts"
+ overwrite="true"
+ failonerror="false">
+ <fileset dir="${widget.build.dir}/${widget.shortname}.tmp/scripts"/>
+ <filterchain>
+ <expandproperties/>
+ </filterchain>
+ </copy>
+
+ <copy todir="${widget.build.dir}/${widget.shortname}/style"
+ overwrite="true"
+ failonerror="false">
+ <fileset dir="${widget.build.dir}/${widget.shortname}.tmp/style"/>
+ <filterchain>
+ <expandproperties/>
+ </filterchain>
+ </copy>
+
+ <antcall target="_remove_comments"/>
</target>
<target name="_copy_widget_files"
@@ -128,41 +173,43 @@
<echo message="+------------------------------------------"/>
<!-- Copy/Create root files -->
-
- <copy todir="${widget.build.dir}/${widget.shortname}"
+ <echo message="+------------------------------------------"/>
+ <echo message="| Copying common root files" />
+ <echo message="+------------------------------------------"/>
+ <copy todir="${widget.build.dir}/${widget.shortname}.tmp"
overwrite="true"
failonerror="false">
<fileset dir="../common">
<exclude name="widget.properties"/>
- <exclude name="scripts/*"/>
- <exclude name="style/*"/>
- <exclude name="images/*"/>
- <exclude name="assets/*"/>
- <exclude name="lib/*"/>
- <exclude name="legal/*"/>
+ <exclude name="scripts/**"/>
+ <exclude name="style/**"/>
+ <exclude name="images/**"/>
+ <exclude name="assets/**"/>
+ <exclude name="lib/**"/>
+ <exclude name="legal/**"/>
</fileset>
- <filterchain>
- <expandproperties/>
- </filterchain>
</copy>
- <copy todir="${widget.build.dir}/${widget.shortname}"
+ <echo message="+------------------------------------------"/>
+ <echo message="| Copying widget provided root files" />
+ <echo message="+------------------------------------------"/>
+ <copy todir="${widget.build.dir}/${widget.shortname}.tmp"
overwrite="true"
failonerror="false">
<fileset dir=".">
<exclude name="widget.properties"/>
- <exclude name="scripts/*"/>
- <exclude name="style/*"/>
- <exclude name="images/*"/>
- <exclude name="assets/*"/>
- <exclude name="lib/*"/>
- <exclude name="legal/*"/>
+ <exclude name="scripts/**"/>
+ <exclude name="style/**"/>
+ <exclude name="images/**"/>
+ <exclude name="assets/**"/>
+ <exclude name="lib/**"/>
+ <exclude name="legal/**"/>
</fileset>
- <filterchain>
- <expandproperties/>
- </filterchain>
</copy>
<!-- Copy/Create images -->
+ <echo message="+------------------------------------------"/>
+ <echo message="| Copying images" />
+ <echo message="+------------------------------------------"/>
<copy todir="${widget.build.dir}/${widget.shortname}/images"
overwrite="true"
failonerror="false">
@@ -178,7 +225,9 @@
</fileset>
</copy>
- <!-- Copy/Create assets -->
+ <echo message="+------------------------------------------"/>
+ <echo message="| Copying widget assets" />
+ <echo message="+------------------------------------------"/>
<copy todir="${widget.build.dir}/${widget.shortname}/assets"
overwrite="true"
failonerror="false">
@@ -196,34 +245,31 @@
<!-- Copy/Create the javascript -->
- <copy todir="${widget.build.dir}/${widget.shortname}/scripts"
+ <echo message="+------------------------------------------"/>
+ <echo message="| Copying widget javascript" />
+ <echo message="+------------------------------------------"/>
+ <copy todir="${widget.build.dir}/${widget.shortname}.tmp/scripts"
overwrite="true"
failonerror="false">
<fileset dir="../common/scripts">
<exclude name="**/*_controller.js"/>
</fileset>
- <filterchain>
- <expandproperties/>
- </filterchain>
</copy>
- <copy todir="${widget.build.dir}/${widget.shortname}/scripts"
+ <copy todir="${widget.build.dir}/${widget.shortname}.tmp/scripts"
overwrite="true"
failonerror="false">
<fileset dir="./scripts">
<exclude name="**/*_controller.js"/>
</fileset>
- <filterchain>
- <expandproperties/>
- </filterchain>
</copy>
- <concat
destfile="${widget.build.dir}/${widget.shortname}/scripts/controller.js.new"
+ <concat
destfile="${widget.build.dir}/${widget.shortname}.tmp/scripts/controller.js.new"
fixlastline="true">
- <fileset dir="${widget.build.dir}/${widget.shortname}/scripts"
+ <fileset dir="${widget.build.dir}/${widget.shortname}.tmp/scripts"
erroronmissingdir="false">
<include name="controller.js"/>
</fileset>
- <fileset dir="${widget.build.dir}/${widget.shortname}/scripts"
+ <fileset dir="${widget.build.dir}/${widget.shortname}.tmp/scripts"
erroronmissingdir="false">
<include name="**/*_controller.js"/>
</fileset>
@@ -235,62 +281,52 @@
erroronmissingdir="false">
<include name="**/*_controller.js"/>
</fileset>
-
- <filterchain>
- <expandproperties/>
- </filterchain>
</concat>
- <move
tofile="${widget.build.dir}/${widget.shortname}/scripts/controller.js"
-
file="${widget.build.dir}/${widget.shortname}/scripts/controller.js.new"
+ <move
tofile="${widget.build.dir}/${widget.shortname}.tmp/scripts/controller.js"
+
file="${widget.build.dir}/${widget.shortname}.tmp/scripts/controller.js.new"
failonerror="false"/>
<!-- Copy/Create the stylesheets -->
- <copy todir="${widget.build.dir}/${widget.shortname}/style"
+ <echo message="+------------------------------------------"/>
+ <echo message="| Copying widget CSS" />
+ <echo message="+------------------------------------------"/>
+ <copy todir="${widget.build.dir}/${widget.shortname}.tmp/style"
overwrite="true"
failonerror="false">
<fileset dir="../common/style">
<include name="**/*.css"/>
<include name="**/*.css.add"/>
- </fileset>
-
- <filterchain>
- <expandproperties/>
- </filterchain>
+ </fileset>
</copy>
- <copy todir="${widget.build.dir}/${widget.shortname}/style"
+ <copy todir="${widget.build.dir}/${widget.shortname}.tmp/style"
overwrite="true"
failonerror="false">
<fileset dir="./style">
<include name="**/*.css"/>
<include name="**/*.css.add"/>
- </fileset>
-
- <filterchain>
- <expandproperties/>
- </filterchain>
+ </fileset>
</copy>
- <concat
destfile="${widget.build.dir}/${widget.shortname}/style/all.css.new"
+ <concat
destfile="${widget.build.dir}/${widget.shortname}.tmp/style/all.css.new"
fixlastline="true">
- <fileset dir="${widget.build.dir}/${widget.shortname}/style"
+ <fileset dir="${widget.build.dir}/${widget.shortname}.tmp/style"
erroronmissingdir="false">
<include name="all.css"/>
</fileset>
- <fileset dir="${widget.build.dir}/${widget.shortname}/style"
+ <fileset dir="${widget.build.dir}/${widget.shortname}.tmp/style"
erroronmissingdir="false">
<include name="*.css.add"/>
</fileset>
-
- <filterchain>
- <expandproperties/>
- </filterchain>
</concat>
- <move tofile="${widget.build.dir}/${widget.shortname}/style/all.css"
- file="${widget.build.dir}/${widget.shortname}/style/all.css.new"
+ <move tofile="${widget.build.dir}/${widget.shortname}.tmp/style/all.css"
+
file="${widget.build.dir}/${widget.shortname}.tmp/style/all.css.new"
failonerror="false"/>
<!-- Copy/Create the libraries -->
+ <echo message="+------------------------------------------"/>
+ <echo message="| Copying widget libraries" />
+ <echo message="+------------------------------------------"/>
<copy todir="${widget.build.dir}/${widget.shortname}/lib"
overwrite="true"
failonerror="false">
@@ -307,6 +343,9 @@
</copy>
<!-- Copy/Create the legal -->
+ <echo message="+------------------------------------------"/>
+ <echo message="| Copying widget legal" />
+ <echo message="+------------------------------------------"/>
<copy todir="${widget.build.dir}/${widget.shortname}/legal"
overwrite="true"
failonerror="false">
@@ -357,7 +396,7 @@
</copy>
<!-- Copy/Create root files -->
- <copy todir="${widget.build.dir}/${widget.shortname}"
+ <copy todir="${widget.build.dir}/${widget.shortname}.tmp"
overwrite="true"
failonerror="false">
<fileset dir="${template.dir}/${template.name}">
@@ -369,9 +408,6 @@
<exclude name="lib/*"/>
<exclude name="legal/*"/>
</fileset>
- <filterchain>
- <expandproperties/>
- </filterchain>
</copy>
<!-- Copy/Create images -->
@@ -393,19 +429,16 @@
</copy>
<!-- Copy/Create the javascript -->
- <copy todir="${widget.build.dir}/${widget.shortname}/scripts"
+ <copy todir="${widget.build.dir}/${widget.shortname}.tmp/scripts"
overwrite="true"
failonerror="false">
<fileset dir="${template.dir}/${template.name}/scripts">
<include name="**/*.js"/>
<exclude name="**/*_controller.js"/>
</fileset>
- <filterchain>
- <expandproperties/>
- </filterchain>
</copy>
- <concat
destfile="${widget.build.dir}/${widget.shortname}/scripts/controller.js.new">
+ <concat
destfile="${widget.build.dir}/${widget.shortname}.tmp/scripts/controller.js.new">
<fileset dir="${template.dir}/${template.name}/scripts"
erroronmissingdir="false">
<include name="**/*_controller.js"/>
@@ -419,27 +452,20 @@
* Javascript from template: ${template.name}
*/
</header>
- <filterchain>
- <expandproperties/>
- </filterchain>
</concat>
- <move
tofile="${widget.build.dir}/${widget.shortname}/scripts/controller.js"
-
file="${widget.build.dir}/${widget.shortname}/scripts/controller.js.new"
+ <move
tofile="${widget.build.dir}/${widget.shortname}.tmp/scripts/controller.js"
+
file="${widget.build.dir}/${widget.shortname}.tmp/scripts/controller.js.new"
failonerror="false"/>
<!-- Copy/Create the stylesheets -->
- <copy todir="${widget.build.dir}/${widget.shortname}/style"
+ <copy todir="${widget.build.dir}/${widget.shortname}.tmp/style"
overwrite="true"
failonerror="false">
<fileset dir="${template.dir}/${template.name}/style">
<include name="**/*.css"/>
</fileset>
-
- <filterchain>
- <expandproperties/>
- </filterchain>
</copy>
- <concat
destfile="${widget.build.dir}/${widget.shortname}/style/all.css.new">
+ <concat
destfile="${widget.build.dir}/${widget.shortname}.tmp/style/all.css.new">
<fileset dir="${template.dir}/${template.name}/style"
erroronmissingdir="false">
<include name="*.css.add"/>
@@ -448,13 +474,9 @@
erroronmissingdir="false">
<include name="all.css"/>
</fileset>
-
- <filterchain>
- <expandproperties/>
- </filterchain>
</concat>
- <move tofile="${widget.build.dir}/${widget.shortname}/style/all.css"
- file="${widget.build.dir}/${widget.shortname}/style/all.css.new"
+ <move tofile="${widget.build.dir}/${widget.shortname}.tmp/style/all.css"
+
file="${widget.build.dir}/${widget.shortname}.tmp/style/all.css.new"
failonerror="false"/>
<!-- Copy/Create the libraries -->
@@ -495,7 +517,7 @@
<mkdir dir="${widget.build.dir}"/>
- <!-- Copy/Clean up old widget -->
+ <!-- Clean up old widget files -->
<delete dir="${widget.build.dir}/${widget.shortname}"/>
</target>