Fix #1371992: Error with switch when last case block omits break or return
[phpeclipse.git] / net.sourceforge.phpeclipse / build.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <project name="net.sourceforge.phpeclipse" default="build.jars" basedir=".">
3
4         <property name="bootclasspath" value=""/>
5         <property name="basews" value="${ws}"/>
6         <property name="baseos" value="${os}"/>
7         <property name="basearch" value="${arch}"/>
8         <property name="basenl" value="${nl}"/>
9         <property name="javacFailOnError" value="false"/>
10         <property name="javacDebugInfo" value="on"/>
11         <property name="javacVerbose" value="true"/>
12         <property name="javacSource" value="1.3"/>
13         <property name="javacTarget" value="1.2"/>
14         <property name="compilerArg" value=""/>
15
16         <target name="init" depends="properties">
17                 <condition property="pluginTemp" value="${buildTempFolder}/plugins">
18                         <isset property="buildTempFolder"/>
19                 </condition>
20                 <property name="pluginTemp" value="${basedir}"/>
21                 <condition property="build.result.folder" value="${pluginTemp}/net.sourceforge.phpeclipse">
22                         <isset property="buildTempFolder"/>
23                 </condition>
24                 <property name="build.result.folder" value="${basedir}"/>
25                 <property name="temp.folder" value="${basedir}/temp.folder"/>
26                 <property name="plugin.destination" value="${basedir}"/>
27         </target>
28
29         <target name="properties" if="eclipse.running">
30                 <property name="build.compiler" value="net.sourceforge.phpdt.core.JDTCompilerAdapter"/>
31         </target>
32
33         <target name="build.update.jar" depends="init" description="Build the plug-in: net.sourceforge.phpeclipse for an update site.">
34                 <delete dir="${temp.folder}"/>
35                 <mkdir dir="${temp.folder}"/>
36                 <antcall target="build.jars"/>
37                 <antcall target="gather.bin.parts">
38                         <param name="destination.temp.folder" value="${temp.folder}/"/>
39                 </antcall>
40                 <zip zipfile="${plugin.destination}/net.sourceforge.phpeclipse_1.1.3.jar" basedir="${temp.folder}/net.sourceforge.phpeclipse_1.1.3" filesonly="false" whenempty="skip" update="false"/>
41                 <delete dir="${temp.folder}"/>
42         </target>
43
44         <target name="phpeclipse.jar" depends="init" unless="phpeclipse.jar" description="Create jar: phpeclipse.jar.">
45                 <delete dir="${temp.folder}/phpeclipse.jar.bin"/>
46                 <mkdir dir="${temp.folder}/phpeclipse.jar.bin"/>
47                 <!-- compile the source code -->
48                 <javac destdir="${temp.folder}/phpeclipse.jar.bin" failonerror="${javacFailOnError}" verbose="${javacVerbose}" debug="${javacDebugInfo}" includeAntRuntime="no" bootclasspath="${bootclasspath}" source="${javacSource}" target="${javacTarget}"                >
49                         <compilerarg line="${compilerArg}"/>
50                         <classpath>
51                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.core.runtime.compatibility_3.0.0/compatibility.jar"/>
52                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.core.runtime_3.0.1/runtime.jar"/>
53                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.osgi_3.0.1/core.jar"/>
54                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.osgi_3.0.1/console.jar"/>
55                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.osgi_3.0.1/osgi.jar"/>
56                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.osgi_3.0.1/resolver.jar"/>
57                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.osgi_3.0.1/defaultAdaptor.jar"/>
58                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.osgi_3.0.1/eclipseAdaptor.jar"/>
59                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.update.configurator_3.0.0/configurator.jar"/>
60                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.ui_3.0.1/ui.jar"/>
61                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.help_3.0.0/help.jar"/>
62                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.swt_3.0.1/ws/${basews}/swt.jar"/>
63                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.swt.win32_3.0.1/ws/${basews}/swt.jar"/>
64                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.swt.win32_3.0.1"/>
65                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.jface_3.0.0/jface.jar"/>
66                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.ui.workbench_3.0.1/compatibility.jar"/>
67                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.ui.workbench_3.0.1/workbench.jar"/>
68                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.ui.workbench.compatibility_3.0.0/compatibility.jar"/>
69                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.ui.workbench.compatibility_3.0.0/workbench.jar"/>
70                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.core.expressions_3.0.0/expressions.jar"/>
71                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.ui.console_3.0.0/console.jar"/>
72                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.jface.text_3.0.1/jfacetext.jar"/>
73                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.text_3.0.1/text.jar"/>
74                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.ui.workbench.texteditor_3.0.1/texteditor.jar"/>
75                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.core.resources_3.0.1/resources.jar"/>
76                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.core.resources.win32_3.0.0/resources.jar"/>
77                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.core.resources.win32_3.0.0/resources-win32.jar"/>
78                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.search_3.0.1/search.jar"/>
79                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.core.filebuffers_3.0.1/filebuffers.jar"/>
80                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.ui.ide_3.0.1/ide.jar"/>
81                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.ui.win32_3.0.1/ide.jar"/>
82                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.ui.win32_3.0.1/workbenchwin32.jar"/>
83                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.ui.views_3.0.0/views.jar"/>
84                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.update.core_3.0.1/updatecore.jar"/>
85                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.update.core.win32_3.0.0/updatecore.jar"/>
86                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.update.ui_3.0.1/updateui.jar"/>
87                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.help.base_3.0.1/helpbase.jar"/>
88                                 <pathelement path="../../../eclipse301/plugins/org.apache.lucene_1.3.1/parser.jar"/>
89                                 <pathelement path="../../../eclipse301/plugins/org.apache.lucene_1.3.1/lucene-1.3-final.jar"/>
90                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.help.appserver_3.0.0/appserver.jar"/>
91                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.ui.forms_3.0.0/forms.jar"/>
92                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.ui.editors_3.0.1/editors.jar"/>
93                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.debug.core_3.0.1/dtcore.jar"/>
94                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.core.variables_3.0.0/variables.jar"/>
95                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.debug.ui_3.0.1/dtui.jar"/>
96                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.compare_3.0.0/compare.jar"/>
97                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.ui.externaltools_3.0.1/externaltools.jar"/>
98                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.team.core_3.0.0/team.jar"/>
99                                 <pathelement path="${build.result.folder}/../net.sourceforge.phpeclipse.quantum.sql/bin"/>
100                                 <pathelement path="${build.result.folder}/../net.sourceforge.phpeclipse.quantum.sql/quantum.jar"/>
101                                 <pathelement path="${build.result.folder}/../net.sourceforge.phpeclipse.webbrowser/bin"/>
102                                 <pathelement path="${build.result.folder}/../net.sourceforge.phpeclipse.webbrowser/webbrowser.jar"/>
103                                 <pathelement path="${build.result.folder}/../net.sourceforge.phpeclipse.core/bin"/>
104                                 <pathelement path="${build.result.folder}/../net.sourceforge.phpeclipse.core/webcore.jar"/>
105                                 <pathelement path="${build.result.folder}/../net.sourceforge.phpeclipse.ui/bin"/>
106                                 <pathelement path="${build.result.folder}/../net.sourceforge.phpeclipse.ui/ui.jar"/>
107                                 <pathelement path="${build.result.folder}/../net.sourceforge.phpeclipse.xml.core/bin"/>
108                                 <pathelement path="${build.result.folder}/../net.sourceforge.phpeclipse.xml.core/xmlcore.jar"/>
109                                 <pathelement path="${build.result.folder}/../net.sourceforge.phpeclipse.xml.ui/bin"/>
110                                 <pathelement path="${build.result.folder}/../net.sourceforge.phpeclipse.xml.ui/xmlui.jar"/>
111                         </classpath>
112                         <src path="src/"                        />
113                         </javac>
114                 <!-- Copy necessary resources -->
115                 <copy todir="${temp.folder}/phpeclipse.jar.bin" failonerror="true">
116                         <fileset dir="src/" excludes="**/*.java, **/package.htm*"                       />
117                 </copy>
118                 <mkdir dir="${build.result.folder}"/>
119                 <jar jarfile="${build.result.folder}/phpeclipse.jar" basedir="${temp.folder}/phpeclipse.jar.bin"/>
120                 <delete dir="${temp.folder}/phpeclipse.jar.bin"/>
121         </target>
122
123         <target name="phpeclipsesrc.zip" depends="init" unless="phpeclipsesrc.zip">
124                 <mkdir dir="${build.result.folder}"/>
125                 <zip zipfile="${build.result.folder}/phpeclipsesrc.zip" filesonly="false" whenempty="skip" update="false">
126                         <fileset dir="src/" includes="**/*.java"                        />
127                 </zip>
128         </target>
129
130         <target name="build.jars" depends="init" description="Build all the jars for the plug-in: net.sourceforge.phpeclipse.">
131                 <available property="phpeclipse.jar" file="${build.result.folder}/phpeclipse.jar"/>
132                 <antcall target="phpeclipse.jar"/>
133         </target>
134
135         <target name="build.sources" depends="init">
136                 <available property="phpeclipsesrc.zip" file="${build.result.folder}/phpeclipsesrc.zip"/>
137                 <antcall target="phpeclipsesrc.zip"/>
138         </target>
139
140         <target name="gather.bin.parts" depends="init" if="destination.temp.folder">
141                 <mkdir dir="${destination.temp.folder}/net.sourceforge.phpeclipse_1.1.3"/>
142                 <copy todir="${destination.temp.folder}/net.sourceforge.phpeclipse_1.1.3" failonerror="true">
143                         <fileset dir="${build.result.folder}" includes="phpeclipse.jar"                 />
144                 </copy>
145                 <copy todir="${destination.temp.folder}/net.sourceforge.phpeclipse_1.1.3" failonerror="true">
146                         <fileset dir="${basedir}" includes="phpeclipse.jar,icons/,install.txt,plugin.properties,plugin.xml,cpl-v10.html,templates/"                     />
147                 </copy>
148         </target>
149
150         <target name="build.zips" depends="init">
151         </target>
152
153         <target name="gather.sources" depends="init" if="destination.temp.folder">
154                 <mkdir dir="${destination.temp.folder}/net.sourceforge.phpeclipse_1.1.3"/>
155                 <copy file="${build.result.folder}/phpeclipsesrc.zip" todir="${destination.temp.folder}/net.sourceforge.phpeclipse_1.1.3" failonerror="false"/>
156                 <copy todir="${destination.temp.folder}/net.sourceforge.phpeclipse_1.1.3" failonerror="false">
157                         <fileset dir="${basedir}" includes="src/"                       />
158                 </copy>
159         </target>
160
161         <target name="gather.logs" depends="init" if="destination.temp.folder">
162                 <mkdir dir="${destination.temp.folder}/net.sourceforge.phpeclipse_1.1.3"/>
163                 <copy file="${temp.folder}/phpeclipse.jar.bin.log" todir="${destination.temp.folder}/net.sourceforge.phpeclipse_1.1.3" failonerror="false"/>
164         </target>
165
166         <target name="clean" depends="init" description="Clean the plug-in: net.sourceforge.phpeclipse of all the zips, jars and logs created.">
167                 <delete file="${build.result.folder}/phpeclipse.jar"/>
168                 <delete file="${build.result.folder}/phpeclipsesrc.zip"/>
169                 <delete file="${plugin.destination}/net.sourceforge.phpeclipse_1.1.3.jar"/>
170                 <delete file="${plugin.destination}/net.sourceforge.phpeclipse_1.1.3.zip"/>
171                 <delete dir="${temp.folder}"/>
172         </target>
173
174         <target name="refresh" depends="init" if="eclipse.running" description="Refresh this folder.">
175                 <eclipse.convertPath fileSystemPath="C:/eclipse3/workspace/net.sourceforge.phpeclipse" property="resourcePath"/>
176                 <eclipse.refreshLocal resource="${resourcePath}" depth="infinite"/>
177         </target>
178
179         <target name="zip.plugin" depends="init" description="Create a zip containing all the elements for the plug-in: net.sourceforge.phpeclipse.">
180                 <delete dir="${temp.folder}"/>
181                 <mkdir dir="${temp.folder}"/>
182                 <antcall target="build.jars"/>
183                 <antcall target="build.sources"/>
184                 <antcall target="gather.bin.parts">
185                         <param name="destination.temp.folder" value="${temp.folder}/"/>
186                 </antcall>
187                 <antcall target="gather.sources">
188                         <param name="destination.temp.folder" value="${temp.folder}/"/>
189                 </antcall>
190                 <delete>
191                         <fileset dir="${temp.folder}" includes="**/*.bin.log"                   />
192                 </delete>
193                 <zip zipfile="${plugin.destination}/net.sourceforge.phpeclipse_1.1.3.zip" basedir="${temp.folder}" filesonly="true" whenempty="skip" update="false"/>
194                 <delete dir="${temp.folder}"/>
195         </target>
196
197 </project>