1 <project name="JSmol" default="toJs" basedir=".">
3 <taskdef resource="net/sf/antcontrib/antcontrib.properties">
5 <pathelement location="./utils/ant-contrib-1.0b3.jar" />
9 <target name="build-all-cores" id="build-all-cores" depends="toJs">
10 <foreach target="CallToJs" param="classlist">
12 <fileset dir="./classlists/" includes="*.txt" />
17 <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">
18 <basename property="core.name.txt" file="${classlist}"/>
19 <propertyregex property="core.name" input="${core.name.txt}" replace="" regexp="\.txt"/>
20 <antcall target="toJs"/>
23 <target name="toJs" id="toJs">
24 <!-- sensible defaults for default target -->
25 <property name="site" value="site"/>
26 <property name="site.path" value="${site}/swingjs" />
28 <property name="core.name" value="_jalview" />
29 <property name="classlist"
30 description="Class list generated by java2script classloader to be bundled into corefile - default is _j2sclasslist.txt"
31 value="_j2sclasslist.txt" />
33 <property name="core.name.jmol" value="_jvjmol" />
34 <property name="classlist.jmol"
35 value="_j2sclasslist_jmol.txt" />
37 <!-- create a NON svn local directory only containing JS files
39 <echo>Deleting the site directory.</echo>
40 <delete quiet="true" dir="site" />
44 <!-- concatentate the stevesoft files -->
45 <concat destfile="${site.path}/j2s/com/stevesoft/core.js">
46 <fileset dir="${site.path}/j2s/com/stevesoft/pat">
47 <include name="**/*.js" />
48 <exclude name="Regex.js" />
51 <antcall target="call-core">
52 <param name="call-core.name" value="_stevesoft" />
53 <param name="call-core.list" value="com/stevesoft/core.js" />
57 <!-- compress the jmol files -->
59 <loadresource property="coreclassesjmol">
60 <file file="${classlist.jmol}"/>
63 <antcall target="call-core">
64 <param name="call-core.name" value="${core.name.jmol}" />
65 <param name="call-core.list" value="
70 <!-- make core files -->
72 <echo>Building core file '${core.name}' - warnings are OK; "does not exist" is trouble</echo>
73 <echo>Reading core class list from file ${classlist}</echo>
74 <loadresource property="coreclasses">
75 <file file="${classlist}"/>
78 <!-- removing core/coreswingjs.js -->
80 <antcall target="call-core">
81 <param name="call-core.name" value="${core.name}" />
82 <param name="call-core.list" value="
86 <antcall target="publish-core-template"/>
89 <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">
90 <!-- TODO: extend to process all html templates -->
91 <property name="template.html" value="jalview_bin_Jalview.html"/>
92 <property name="template.name" value="JalviewJS"/>
94 <echo>......Now copying ${site}/${template.html} as ${$template.name}_${core.name}.html with core:"${core.name}", added to the Info block.</echo>
95 <copy file="${site}/${template.html}" tofile="${site}/${template.name}_${core.name}.html"/>
96 <replace token="NONE" value="${core.name}" file="${site}/${template.name}_${core.name}.html"/>
101 <target name="call-core" id="call-core">
102 <echo>......Creating core${call-core.name}.js</echo>
103 <concat destfile="${site.path}/js/core/tmp.js">
104 <filelist dir="${site.path}/j2s" files="${call-core.list}" />
107 <replace dir="${site.path}/js/core" includes="tmp.js" token="Clazz." value="Clazz_"/>
108 <replace dir="${site.path}/js/core" includes="tmp.js" token="Clazz__" value="Clazz._"/>
109 <echo>......Generating ${site.path}/j2s/core/core${call-core.name}.js</echo>
110 <concat destfile="${site.path}/j2s/core/core${call-core.name}.js">
111 <filelist dir="${site.path}/js" files="
117 <echo>......Generating ${site.path}/j2s/core/core${call-core.name}.z.js</echo>
118 <java jar="tools/closure_compiler.jar" fork="true" dir="${site.path}/j2s/core" failonerror="false">
119 <arg line="--js core${call-core.name}.js --js_output_file core${call-core.name}.z.js" />
121 <delete quiet="true" file="${site.path}/js/core/tmp.js" />