Added comments to various plugins and added make and ant options to make docs with...
[jquery.git] / build.xml
1 <project name="jQuery" default="all" basedir=".">\r
2 \r
3         <!-- SETUP -->
4
5     <property name="SRC_DIR" value="src" />
6     <property name="BUILD_DIR" value="build" />
7     <property name="JAR" value="${BUILD_DIR}/js.jar" />\r
8 \r
9         <property name="PLUGIN_DIR" location="../plugins" />\r
10         <property name="PLUGINS" value="none" />\r
11
12     <property name="PREFIX" value="." />
13     <property name="DOCS_DIR" value="${PREFIX}/docs" />
14     <property name="TEST_DIR" value="${PREFIX}/test" />
15     <property name="DIST_DIR" value="${PREFIX}/dist" />
16
17     <property name="JQ" value="${DIST_DIR}/jquery.js" />
18     <property name="JQ_LITE" value="${DIST_DIR}/jquery.lite.js" />
19     <property name="JQ_MIN" value="${DIST_DIR}/jquery.min.js" />
20     <property name="JQ_PACK" value="${DIST_DIR}/jquery.pack.js" />\r
21 \r
22         <property name="TABS" value="${PLUGIN_DIR}/tabs/tabs.js" />\r
23         <property name="TABS_PACK" value="${DIST_DIR}/jquery.tabs.pack.js" />\r
24 \r
25         <!-- MAIN -->\r
26 \r
27     <target name="jquery">
28         <echo message="Building ${JQ}" />
29         <mkdir dir="${DIST_DIR}" />
30         <concat destfile="${JQ}">\r
31                 <fileset dir="${SRC_DIR}" includes="intro.js" />
32             <fileset dir="${SRC_DIR}" includes="jquery/*.js" />
33             <fileset dir="${SRC_DIR}" includes="event/*.js" />
34             <fileset dir="${SRC_DIR}" includes="fx/*.js" />
35             <fileset dir="${SRC_DIR}" includes="ajax/*.js" />\r
36                 <fileset dir="${PLUGIN_DIR}" includes="${PLUGINS}" />\r
37                 <fileset dir="${SRC_DIR}" includes="outro.js" />
38         </concat>
39         <echo message="${JQ} built." />
40     </target>
41 \r
42     <target name="with_plugins">\r
43         <echo message="Building ${JQ}" />\r
44         <mkdir dir="${DIST_DIR}" />\r
45         <concat destfile="${JQ}">\r
46                 <fileset dir="${SRC_DIR}" includes="intro.js" />\r
47             <fileset dir="${SRC_DIR}" includes="jquery/*.js" />\r
48             <fileset dir="${SRC_DIR}" includes="event/*.js" />\r
49             <fileset dir="${SRC_DIR}" includes="fx/*.js" />\r
50             <fileset dir="${SRC_DIR}" includes="ajax/*.js" />\r
51                                                 <fileset dir="${PLUGIN_DIR}" includes="button/*.js" />\r
52                                                 <fileset dir="${PLUGIN_DIR}" includes="center/*.js" />\r
53                                                 <fileset dir="${PLUGIN_DIR}" includes="cookie/*.js" />\r
54                                                 <fileset dir="${PLUGIN_DIR}" includes="form/*.js" />\r
55                                                 <fileset dir="${PLUGIN_DIR}" includes="greybox/*.js" />\r
56                                                 <fileset dir="${PLUGIN_DIR}" includes="interface/*.js" />\r
57                                                 <fileset dir="${PLUGIN_DIR}" includes="pager/*.js" />\r
58                                                 <fileset dir="${PLUGIN_DIR}" includes="tablesorter/*.js" />\r
59                                                 <fileset dir="${PLUGIN_DIR}" includes="tabs/*.js" />\r
60                 <fileset dir="${SRC_DIR}" includes="outro.js" />\r
61         </concat>\r
62         <echo message="${JQ} built." />\r
63     </target>\r
64
65     <target name="lite" depends="jquery">
66         <echo message="Building ${JQ_LITE}" />
67         <java jar="${JAR}" fork="true">
68             <arg value="${BUILD_DIR}/build/lite.js" />
69             <arg value="${JQ}" />
70             <arg value="${JQ_LITE}" />
71         </java>
72         <echo message="${JQ_LITE} built." />
73     </target>
74
75     <target name="min" depends="jquery">
76         <echo message="Building ${JQ_MIN}" />
77         <java jar="${JAR}" fork="true">
78             <arg value="${BUILD_DIR}/build/min.js" />
79             <arg value="${JQ}" />
80             <arg value="${JQ_MIN}" />
81         </java>
82         <echo message="${JQ_MIN} built." />
83     </target>
84
85     <target name="pack" depends="jquery">
86         <echo message="Building ${JQ_PACK}" />
87         <java jar="${JAR}" fork="true">
88             <arg value="${BUILD_DIR}/build/pack.js" />
89             <arg value="${JQ}" />
90             <arg value="${JQ_PACK}" />
91         </java>
92         <echo message="${JQ_PACK} built." />
93     </target>\r
94                 \r
95     <target name="pack_with_plugins" depends="with_plugins">\r
96         <echo message="Building ${JQ_PACK}" />\r
97         <java jar="${JAR}" fork="true">\r
98             <arg value="${BUILD_DIR}/build/pack.js" />\r
99             <arg value="${JQ}" />\r
100             <arg value="${JQ_PACK}" />\r
101         </java>\r
102         <echo message="${JQ_PACK} built." />\r
103     </target>           
104
105     <target name="test" depends="jquery">
106         <echo message="Building Test Suite" />
107         <delete dir="${TEST_DIR}" />
108         <mkdir dir="${TEST_DIR}/data" />\r
109         <copy todir="${TEST_DIR}/data">\r
110                 <fileset dir="${BUILD_DIR}/test/data/" />\r
111         </copy>\r
112         <java jar="${JAR}" fork="true">
113             <arg value="${BUILD_DIR}/test/test.js" />
114             <arg value="${JQ}" />
115             <arg value="${TEST_DIR}" />
116         </java>
117         <echo message="Test Suite built." />
118     </target>
119
120     <target name="docs" depends="jquery">
121         <echo message="Building Documentation" />
122         <delete dir="${DOCS_DIR}" />
123         <mkdir dir="${DOCS_DIR}/data" />
124         <copy todir="${DOCS_DIR}" file="${BUILD_DIR}/docs/.htaccess" />
125         <mkdir dir="${DOCS_DIR}/js" />
126         <copy todir="${DOCS_DIR}/js" >
127             <fileset dir="${BUILD_DIR}/docs/js">
128                 <include name="**/*.js"/>
129             </fileset>
130         </copy>
131                 <copy todir="${DOCS_DIR}/style" >
132             <fileset dir="${BUILD_DIR}/docs/style">
133                 <include name="**"/>
134             </fileset>
135         </copy>
136         <java jar="${JAR}" fork="true">
137             <arg value="${BUILD_DIR}/docs/docs.js" />
138             <arg value="${JQ}" />
139             <arg value="${DOCS_DIR}" />
140         </java>
141         <echo message="Documentation built." />
142     </target>\r
143                 \r
144     <target name="docs_with_plugins" depends="with_plugins">\r
145         <echo message="Building Documentation" />\r
146         <delete dir="${DOCS_DIR}" />\r
147         <mkdir dir="${DOCS_DIR}/data" />\r
148         <copy todir="${DOCS_DIR}" file="${BUILD_DIR}/docs/.htaccess" />\r
149         <mkdir dir="${DOCS_DIR}/js" />\r
150         <copy todir="${DOCS_DIR}/js" >\r
151             <fileset dir="${BUILD_DIR}/docs/js">\r
152                 <include name="**/*.js"/>\r
153             </fileset>\r
154         </copy>\r
155                 <copy todir="${DOCS_DIR}/style" >\r
156             <fileset dir="${BUILD_DIR}/docs/style">\r
157                 <include name="**"/>\r
158             </fileset>\r
159         </copy>\r
160         <java jar="${JAR}" fork="true">\r
161             <arg value="${BUILD_DIR}/docs/docs.js" />\r
162             <arg value="${JQ}" />\r
163             <arg value="${DOCS_DIR}" />\r
164         </java>\r
165         <echo message="Documentation built." />\r
166     </target>           
167
168     <target name="clean">
169         <delete dir="${DOCS_DIR}" />
170         <delete dir="${TEST_DIR}" />
171         <delete dir="${DIST_DIR}" />
172     </target>
173
174     <target name="all" depends="clean,jquery,lite,min,pack,docs,test" >
175         <echo message="Build complete." />
176     </target>\r
177 \r
178         <!-- PLUGINS -->\r
179 \r
180         <target name="ifx" description="Build jquery with Interface fx plugins">\r
181                 <antcall target="jquery">\r
182                         <param name="PLUGINS" value="interface/ifx*.js" />\r
183                 </antcall>\r
184         </target>\r
185 \r
186         <target name="cookieFormPager" description="Build jquery with cookie, form and pager plugins">\r
187                 <antcall target="jquery">\r
188                         <param name="PLUGINS" value="cookie/*.js,form/*.js,pager/*.js" />\r
189                 </antcall>\r
190         </target>\r
191 \r
192         <target name="pack_tabs">\r
193         <echo message="Building ${TABS_PACK}" />\r
194         <java jar="${JAR}" fork="true">\r
195             <arg value="${BUILD_DIR}/build/pack.js" />\r
196             <arg value="${TABS}" />\r
197             <arg value="${TABS_PACK}" />\r
198         </java>\r
199         <echo message="${TABS_PACK} built." />\r
200     </target>\r
201
202 </project>