Updated ant so the default task doesn't require plugins
[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" />
11         <property name="PLUGINS_ALL" value="button/*.js,center/*.js,cookie/*.js,form/*.js,greybox/*.js,interface/*.js,pager/*.js,tablesorter/*.js,tabs/*.js" />\r
12
13     <property name="PREFIX" value="." />
14     <property name="DOCS_DIR" value="${PREFIX}/docs" />
15     <property name="TEST_DIR" value="${PREFIX}/test" />
16     <property name="DIST_DIR" value="${PREFIX}/dist" />
17
18     <property name="JQ" value="${DIST_DIR}/jquery.js" />
19     <property name="JQ_LITE" value="${DIST_DIR}/jquery.lite.js" />
20     <property name="JQ_MIN" value="${DIST_DIR}/jquery.min.js" />
21     <property name="JQ_PACK" value="${DIST_DIR}/jquery.pack.js" />\r
22 \r
23         <property name="TABS" value="${PLUGIN_DIR}/tabs/tabs.js" />\r
24         <property name="TABS_PACK" value="${DIST_DIR}/jquery.tabs.pack.js" />\r
25 \r
26         <!-- MAIN -->\r
27 \r
28     <target name="jquery">
29         <echo message="Building ${JQ}" />
30         <mkdir dir="${DIST_DIR}" />
31         <concat destfile="${JQ}">\r
32                 <fileset dir="${SRC_DIR}" includes="intro.js" />
33             <fileset dir="${SRC_DIR}" includes="jquery/*.js" />
34             <fileset dir="${SRC_DIR}" includes="event/*.js" />
35             <fileset dir="${SRC_DIR}" includes="fx/*.js" />
36             <fileset dir="${SRC_DIR}" includes="ajax/*.js" />\r
37                 <fileset dir="${SRC_DIR}" includes="outro.js" />
38         </concat>
39         <echo message="${JQ} built." />
40     </target>
41         
42         <target name="with_plugins" description="Build jquery with all plugins">
43                 <antcall target="jquery">
44                         <param name="PLUGINS" value="${PLUGINS_ALL}" />
45                 </antcall>
46         </target>
47
48     <target name="lite" depends="jquery">
49         <echo message="Building ${JQ_LITE}" />
50         <java jar="${JAR}" fork="true">
51             <arg value="${BUILD_DIR}/build/lite.js" />
52             <arg value="${JQ}" />
53             <arg value="${JQ_LITE}" />
54         </java>
55         <echo message="${JQ_LITE} built." />
56     </target>
57
58     <target name="min" depends="jquery">
59         <echo message="Building ${JQ_MIN}" />
60         <java jar="${JAR}" fork="true">
61             <arg value="${BUILD_DIR}/build/min.js" />
62             <arg value="${JQ}" />
63             <arg value="${JQ_MIN}" />
64         </java>
65         <echo message="${JQ_MIN} built." />
66     </target>
67
68     <target name="pack" depends="jquery">
69         <echo message="Building ${JQ_PACK}" />
70         <java jar="${JAR}" fork="true">
71             <arg value="${BUILD_DIR}/build/pack.js" />
72             <arg value="${JQ}" />
73             <arg value="${JQ_PACK}" />
74         </java>
75         <echo message="${JQ_PACK} built." />
76     </target>\r
77                 \r
78     <target name="pack_with_plugins" depends="with_plugins">\r
79         <echo message="Building ${JQ_PACK}" />\r
80         <java jar="${JAR}" fork="true">\r
81             <arg value="${BUILD_DIR}/build/pack.js" />\r
82             <arg value="${JQ}" />\r
83             <arg value="${JQ_PACK}" />\r
84         </java>\r
85         <echo message="${JQ_PACK} built." />\r
86     </target>           
87
88     <target name="test" depends="jquery">
89         <echo message="Building Test Suite" />
90         <delete dir="${TEST_DIR}" />
91         <mkdir dir="${TEST_DIR}/data" />\r
92         <copy todir="${TEST_DIR}/data">\r
93                 <fileset dir="${BUILD_DIR}/test/data/" />\r
94         </copy>\r
95         <java jar="${JAR}" fork="true">
96             <arg value="${BUILD_DIR}/test/test.js" />
97             <arg value="${JQ}" />
98             <arg value="${TEST_DIR}" />
99         </java>
100         <echo message="Test Suite built." />
101     </target>
102
103     <target name="docs" depends="jquery">
104         <echo message="Building Documentation" />
105         <delete dir="${DOCS_DIR}" />
106         <mkdir dir="${DOCS_DIR}/data" />
107         <copy todir="${DOCS_DIR}" file="${BUILD_DIR}/docs/.htaccess" />
108         <mkdir dir="${DOCS_DIR}/js" />
109         <copy todir="${DOCS_DIR}/js" >
110             <fileset dir="${BUILD_DIR}/docs/js">
111                 <include name="**/*.js"/>
112             </fileset>
113         </copy>
114                 <copy todir="${DOCS_DIR}/style" >
115             <fileset dir="${BUILD_DIR}/docs/style">
116                 <include name="**"/>
117             </fileset>
118         </copy>
119         <java jar="${JAR}" fork="true">
120             <arg value="${BUILD_DIR}/docs/docs.js" />
121             <arg value="${JQ}" />
122             <arg value="${DOCS_DIR}" />
123         </java>
124         <echo message="Documentation built." />
125     </target>\r
126                 \r
127     <target name="docs_with_plugins" depends="with_plugins">\r
128         <echo message="Building Documentation" />\r
129         <delete dir="${DOCS_DIR}" />\r
130         <mkdir dir="${DOCS_DIR}/data" />\r
131         <copy todir="${DOCS_DIR}" file="${BUILD_DIR}/docs/.htaccess" />\r
132         <mkdir dir="${DOCS_DIR}/js" />\r
133         <copy todir="${DOCS_DIR}/js" >\r
134             <fileset dir="${BUILD_DIR}/docs/js">\r
135                 <include name="**/*.js"/>\r
136             </fileset>\r
137         </copy>\r
138                 <copy todir="${DOCS_DIR}/style" >\r
139             <fileset dir="${BUILD_DIR}/docs/style">\r
140                 <include name="**"/>\r
141             </fileset>\r
142         </copy>\r
143         <java jar="${JAR}" fork="true">\r
144             <arg value="${BUILD_DIR}/docs/docs.js" />\r
145             <arg value="${JQ}" />\r
146             <arg value="${DOCS_DIR}" />\r
147         </java>\r
148         <echo message="Documentation built." />\r
149     </target>           
150
151     <target name="clean">
152         <delete dir="${DOCS_DIR}" />
153         <delete dir="${TEST_DIR}" />
154         <delete dir="${DIST_DIR}" />
155     </target>
156
157     <target name="all" depends="clean,jquery,lite,min,pack,docs,test" >
158         <echo message="Build complete." />
159     </target>
160         
161         <target name="pack_tabs">\r
162         <echo message="Building ${TABS_PACK}" />\r
163                 <mkdir dir="${DIST_DIR}" />\r
164         <java jar="${JAR}" fork="true">\r
165             <arg value="${BUILD_DIR}/build/pack.js" />\r
166             <arg value="${TABS}" />\r
167             <arg value="${TABS_PACK}" />\r
168         </java>\r
169         <echo message="${TABS_PACK} built." />\r
170     </target>\r
171
172 </project>