<project name="JSmol" default="toJs" basedir=".">
-
- <property name="site.path" value="site/swingjs" />
- <property name="core.name" value="_jalview" />
+ <taskdef resource="net/sf/antcontrib/antcontrib.properties">
+ <classpath>
+ <pathelement location="./utils/ant-contrib-1.0b3.jar" />
+ </classpath>
+ </taskdef>
- <target name="toJs" id="toJs">
-
- <!-- create a NON svn local directory only containing JS files
+ <target name="build-all-cores" id="build-all-cores" depends="toJs">
+ <foreach target="CallToJs" param="classlist">
+ <path>
+ <fileset dir="./classlists/" includes="*.txt" />
+ </path>
+ </foreach>
+ </target>
+
+ <target name="CallToJs" id="CallToJs" description="Don't call this directly - used by build-all-cores to configure the toJs task for each set of classes in classlist">
+ <basename property="core.name.txt" file="${classlist}"/>
+ <propertyregex property="core.name" input="${core.name.txt}" replace="" regexp="\.txt"/>
+ <antcall target="toJs"/>
+ </target>
+
+ <target name="toJs" id="toJs">
+ <!-- sensible defaults for default target -->
+ <property name="site" value="site"/>
+ <property name="site.path" value="${site}/swingjs" />
+ <property name="core.name" value="_jalview" />
+ <property name="classlist"
+ description="Class list .txt generated by java2script classloader to be bundled into corefile - default is _j2sclasslist.txt"
+ value="_j2sclasslist.txt" />
+ <!-- create a NON svn local directory only containing JS files
<echo>Deleting the site directory.</echo>
<delete quiet="true" dir="site" />
-->
-
- <!-- make core files -->
- <echo>creating and compressing core files - warnings are OK; "does not exist" is trouble</echo>
- <echo>reading core class list from file coreclasses</echo>
- <loadresource property="coreclasses">
- <file file="_j2sclasslist.txt"/>
+ <!-- make core files -->
+
+ <echo>Building core file '${core.name}' - warnings are OK; "does not exist" is trouble</echo>
+ <echo>Reading core class list from file ${classlist}</echo>
+ <loadresource property="coreclasses">
+ <file file="${classlist}"/>
</loadresource>
-
+
<antcall target="call-core">
- <param name="call-core.name" value="${core.name}" />
- <param name="call-core.list" value="
+ <param name="call-core.name" value="${core.name}" />
+ <param name="call-core.list" value="
core/coreswingjs.js
${coreclasses}
" />
</antcall>
-
- <echo>......Now copy an html file in site/ and add core:"${core.name}", to the Info block.</echo>
-
+ <antcall target="publish-core-template"/>
+ </target>
+
+ <target name="publish-core-template" id="publish-core-template" description="Creates a new file ${template.name}_${core.name} from ${template.html} in ${site} which include core file ${core.name} in the Info block">
+ <!-- TODO: extend to process all html templates -->
+ <property name="template.html" value="jalview_bin_Jalview.html"/>
+ <property name="template.name" value="JalviewJS"/>
+
+ <echo>......Now copying ${site}/${template.html} as ${$template.name}_${core.name}.html with core:"${core.name}", added to the Info block.</echo>
+ <copy file="${site}/${template.html}" tofile="${site}/${template.name}_${core.name}.html"/>
+ <replace token="NONE" value="${core.name}" file="${site}/${template.name}_${core.name}.html"/>
+
</target>
- <target name="call-core" id="call-core">
- <echo>......Creating core${call-core.name}.js</echo>
- <concat destfile="${site.path}/js/core/tmp.js">
- <filelist dir="${site.path}/j2s" files="${call-core.list}" />
- </concat>
+ <target name="call-core" id="call-core">
+ <echo>......Creating core${call-core.name}.js</echo>
+ <concat destfile="${site.path}/js/core/tmp.js">
+ <filelist dir="${site.path}/j2s" files="${call-core.list}" />
+ </concat>
- <replace dir="${site.path}/js/core" includes="tmp.js" token="Clazz." value="Clazz_"/>
- <replace dir="${site.path}/js/core" includes="tmp.js" token="Clazz__" value="Clazz._"/>
- <echo>......Generating ${site.path}/j2s/core/core${call-core.name}.js</echo>
- <concat destfile="${site.path}/j2s/core/core${call-core.name}.js"><filelist dir="${site.path}/js" files="
+ <replace dir="${site.path}/js/core" includes="tmp.js" token="Clazz." value="Clazz_"/>
+ <replace dir="${site.path}/js/core" includes="tmp.js" token="Clazz__" value="Clazz._"/>
+ <echo>......Generating ${site.path}/j2s/core/core${call-core.name}.js</echo>
+ <concat destfile="${site.path}/j2s/core/core${call-core.name}.js">
+ <filelist dir="${site.path}/js" files="
core/coretop2.js
core/tmp.js
core/corebottom2.js
" />
- </concat>
- <echo>......Generating ${site.path}/j2s/core/core${call-core.name}.z.js</echo>
- <java jar="tools/closure_compiler.jar" fork="true" dir="${site.path}/j2s/core" failonerror="false">
- <arg line="--js core${call-core.name}.js --js_output_file core${call-core.name}.z.js" />
- </java>
- <delete quiet="true" file="${site.path}/js/core/tmp.js" />
- </target>
-
-
-
+ </concat>
+ <echo>......Generating ${site.path}/j2s/core/core${call-core.name}.z.js</echo>
+ <java jar="tools/closure_compiler.jar" fork="true" dir="${site.path}/j2s/core" failonerror="false">
+ <arg line="--js core${call-core.name}.js --js_output_file core${call-core.name}.z.js" />
+ </java>
+ <delete quiet="true" file="${site.path}/js/core/tmp.js" />
+ </target>
+
+
+
</project>