Avoid NPE for "mark occurences"
[phpeclipse.git] / net.sourceforge.phpeclipse.launching / build.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <project name="net.sourceforge.phpeclipse.launching" 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.launching">
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="org.eclipse.jdt.core.JDTCompilerAdapter"/>
31         </target>
32
33         <target name="build.update.jar" depends="init" description="Build the plug-in: net.sourceforge.phpeclipse.launching 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.launching_1.1.1.jar" basedir="${temp.folder}/net.sourceforge.phpeclipse.launching_1.1.1" filesonly="false" whenempty="skip" update="false"/>
41                 <delete dir="${temp.folder}"/>
42         </target>
43
44         <target name="launch.jar" depends="init" unless="launch.jar" description="Create jar: launch.jar.">
45                 <delete dir="${temp.folder}/launch.jar.bin"/>
46                 <mkdir dir="${temp.folder}/launch.jar.bin"/>
47                 <!-- compile the source code -->
48                 <javac destdir="${temp.folder}/launch.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_3.0.1/runtime.jar"/>
52                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.osgi_3.0.1/core.jar"/>
53                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.osgi_3.0.1/console.jar"/>
54                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.osgi_3.0.1/osgi.jar"/>
55                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.osgi_3.0.1/resolver.jar"/>
56                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.osgi_3.0.1/defaultAdaptor.jar"/>
57                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.osgi_3.0.1/eclipseAdaptor.jar"/>
58                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.core.resources_3.0.1/resources.jar"/>
59                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.core.resources.win32_3.0.0/resources.jar"/>
60                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.core.resources.win32_3.0.0/resources-win32.jar"/>
61                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.core.runtime.compatibility_3.0.0/compatibility.jar"/>
62                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.update.configurator_3.0.0/configurator.jar"/>
63                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.ui_3.0.1/ui.jar"/>
64                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.help_3.0.0/help.jar"/>
65                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.swt_3.0.1/ws/${basews}/swt.jar"/>
66                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.swt.win32_3.0.1/ws/${basews}/swt.jar"/>
67                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.swt.win32_3.0.1"/>
68                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.jface_3.0.0/jface.jar"/>
69                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.ui.workbench_3.0.1/compatibility.jar"/>
70                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.ui.workbench_3.0.1/workbench.jar"/>
71                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.ui.workbench.compatibility_3.0.0/compatibility.jar"/>
72                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.ui.workbench.compatibility_3.0.0/workbench.jar"/>
73                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.core.expressions_3.0.0/expressions.jar"/>
74                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.debug.core_3.0.1/dtcore.jar"/>
75                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.core.variables_3.0.0/variables.jar"/>
76                                 <pathelement path="${build.result.folder}/../net.sourceforge.phpeclipse/bin"/>
77                                 <pathelement path="${build.result.folder}/../net.sourceforge.phpeclipse/phpeclipse.jar"/>
78                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.ui.console_3.0.0/console.jar"/>
79                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.jface.text_3.0.1/jfacetext.jar"/>
80                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.text_3.0.1/text.jar"/>
81                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.ui.workbench.texteditor_3.0.1/texteditor.jar"/>
82                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.search_3.0.1/search.jar"/>
83                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.core.filebuffers_3.0.1/filebuffers.jar"/>
84                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.ui.ide_3.0.1/ide.jar"/>
85                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.ui.win32_3.0.1/ide.jar"/>
86                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.ui.win32_3.0.1/workbenchwin32.jar"/>
87                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.ui.views_3.0.0/views.jar"/>
88                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.update.core_3.0.1/updatecore.jar"/>
89                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.update.core.win32_3.0.0/updatecore.jar"/>
90                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.update.ui_3.0.1/updateui.jar"/>
91                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.help.base_3.0.1/helpbase.jar"/>
92                                 <pathelement path="../../../eclipse301/plugins/org.apache.lucene_1.3.1/parser.jar"/>
93                                 <pathelement path="../../../eclipse301/plugins/org.apache.lucene_1.3.1/lucene-1.3-final.jar"/>
94                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.help.appserver_3.0.0/appserver.jar"/>
95                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.ui.forms_3.0.0/forms.jar"/>
96                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.ui.editors_3.0.1/editors.jar"/>
97                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.debug.ui_3.0.1/dtui.jar"/>
98                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.compare_3.0.0/compare.jar"/>
99                                 <pathelement path="../../../eclipse301/plugins/org.eclipse.ui.externaltools_3.0.1/externaltools.jar"/>
100                                 <pathelement path="${build.result.folder}/../net.sourceforge.phpeclipse.quantum.sql/bin"/>
101                                 <pathelement path="${build.result.folder}/../net.sourceforge.phpeclipse.quantum.sql/quantum.jar"/>
102                                 <pathelement path="${build.result.folder}/../net.sourceforge.phpeclipse.webbrowser/bin"/>
103                                 <pathelement path="${build.result.folder}/../net.sourceforge.phpeclipse.webbrowser/webbrowser.jar"/>
104                                 <pathelement path="${build.result.folder}/../net.sourceforge.phpeclipse.core/bin"/>
105                                 <pathelement path="${build.result.folder}/../net.sourceforge.phpeclipse.core/webcore.jar"/>
106                                 <pathelement path="${build.result.folder}/../net.sourceforge.phpeclipse.ui/bin"/>
107                                 <pathelement path="${build.result.folder}/../net.sourceforge.phpeclipse.ui/ui.jar"/>
108                                 <pathelement path="${build.result.folder}/../net.sourceforge.phpeclipse.xml.core/bin"/>
109                                 <pathelement path="${build.result.folder}/../net.sourceforge.phpeclipse.xml.core/xmlcore.jar"/>
110                                 <pathelement path="${build.result.folder}/../net.sourceforge.phpeclipse.xml.ui/bin"/>
111                                 <pathelement path="${build.result.folder}/../net.sourceforge.phpeclipse.xml.ui/xmlui.jar"/>
112                                 <pathelement path="${build.result.folder}/../net.sourceforge.phpeclipse.debug.core/bin"/>
113                                 <pathelement path="${build.result.folder}/../net.sourceforge.phpeclipse.debug.core/core.jar"/>
114                         </classpath>
115                         <src path="src/"                        />
116                         </javac>
117                 <!-- Copy necessary resources -->
118                 <copy todir="${temp.folder}/launch.jar.bin" failonerror="true">
119                         <fileset dir="src/" excludes="**/*.java, **/package.htm*"                       />
120                 </copy>
121                 <mkdir dir="${build.result.folder}"/>
122                 <jar jarfile="${build.result.folder}/launch.jar" basedir="${temp.folder}/launch.jar.bin"/>
123                 <delete dir="${temp.folder}/launch.jar.bin"/>
124         </target>
125
126         <target name="launchsrc.zip" depends="init" unless="launchsrc.zip">
127                 <mkdir dir="${build.result.folder}"/>
128                 <zip zipfile="${build.result.folder}/launchsrc.zip" filesonly="false" whenempty="skip" update="false">
129                         <fileset dir="src/" includes="**/*.java"                        />
130                 </zip>
131         </target>
132
133         <target name="build.jars" depends="init" description="Build all the jars for the plug-in: net.sourceforge.phpeclipse.launching.">
134                 <available property="launch.jar" file="${build.result.folder}/launch.jar"/>
135                 <antcall target="launch.jar"/>
136         </target>
137
138         <target name="build.sources" depends="init">
139                 <available property="launchsrc.zip" file="${build.result.folder}/launchsrc.zip"/>
140                 <antcall target="launchsrc.zip"/>
141         </target>
142
143         <target name="gather.bin.parts" depends="init" if="destination.temp.folder">
144                 <mkdir dir="${destination.temp.folder}/net.sourceforge.phpeclipse.launching_1.1.1"/>
145                 <copy todir="${destination.temp.folder}/net.sourceforge.phpeclipse.launching_1.1.1" failonerror="true">
146                         <fileset dir="${build.result.folder}" includes="launch.jar"                     />
147                 </copy>
148                 <copy todir="${destination.temp.folder}/net.sourceforge.phpeclipse.launching_1.1.1" failonerror="true">
149                         <fileset dir="${basedir}" includes="plugin.xml,plugin.properties,.classpath,.project,.template,cpl-v10.html,launch.jar"                 />
150                 </copy>
151         </target>
152
153         <target name="build.zips" depends="init">
154         </target>
155
156         <target name="gather.sources" depends="init" if="destination.temp.folder">
157                 <mkdir dir="${destination.temp.folder}/net.sourceforge.phpeclipse.launching_1.1.1"/>
158                 <copy file="${build.result.folder}/launchsrc.zip" todir="${destination.temp.folder}/net.sourceforge.phpeclipse.launching_1.1.1" failonerror="false"/>
159                 <copy todir="${destination.temp.folder}/net.sourceforge.phpeclipse.launching_1.1.1" failonerror="false">
160                         <fileset dir="${basedir}" includes="src/"                       />
161                 </copy>
162         </target>
163
164         <target name="gather.logs" depends="init" if="destination.temp.folder">
165                 <mkdir dir="${destination.temp.folder}/net.sourceforge.phpeclipse.launching_1.1.1"/>
166                 <copy file="${temp.folder}/launch.jar.bin.log" todir="${destination.temp.folder}/net.sourceforge.phpeclipse.launching_1.1.1" failonerror="false"/>
167         </target>
168
169         <target name="clean" depends="init" description="Clean the plug-in: net.sourceforge.phpeclipse.launching of all the zips, jars and logs created.">
170                 <delete file="${build.result.folder}/launch.jar"/>
171                 <delete file="${build.result.folder}/launchsrc.zip"/>
172                 <delete file="${plugin.destination}/net.sourceforge.phpeclipse.launching_1.1.1.jar"/>
173                 <delete file="${plugin.destination}/net.sourceforge.phpeclipse.launching_1.1.1.zip"/>
174                 <delete dir="${temp.folder}"/>
175         </target>
176
177         <target name="refresh" depends="init" if="eclipse.running" description="Refresh this folder.">
178                 <eclipse.convertPath fileSystemPath="C:/eclipse3/workspace/net.sourceforge.phpeclipse.launching" property="resourcePath"/>
179                 <eclipse.refreshLocal resource="${resourcePath}" depth="infinite"/>
180         </target>
181
182         <target name="zip.plugin" depends="init" description="Create a zip containing all the elements for the plug-in: net.sourceforge.phpeclipse.launching.">
183                 <delete dir="${temp.folder}"/>
184                 <mkdir dir="${temp.folder}"/>
185                 <antcall target="build.jars"/>
186                 <antcall target="build.sources"/>
187                 <antcall target="gather.bin.parts">
188                         <param name="destination.temp.folder" value="${temp.folder}/"/>
189                 </antcall>
190                 <antcall target="gather.sources">
191                         <param name="destination.temp.folder" value="${temp.folder}/"/>
192                 </antcall>
193                 <delete>
194                         <fileset dir="${temp.folder}" includes="**/*.bin.log"                   />
195                 </delete>
196                 <zip zipfile="${plugin.destination}/net.sourceforge.phpeclipse.launching_1.1.1.zip" basedir="${temp.folder}" filesonly="true" whenempty="skip" update="false"/>
197                 <delete dir="${temp.folder}"/>
198         </target>
199
200 </project>