Avoid NPE for "Mark Occurrences"
[phpeclipse.git] / net.sourceforge.phpeclipse.debug.core / build.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <project name="net.sourceforge.phpeclipse.debug.core" default="build.jars" basedir=".">
3
4         <property name="basews" value="${ws}"/>
5         <property name="baseos" value="${os}"/>
6         <property name="basearch" value="${arch}"/>
7         <property name="basenl" value="${nl}"/>
8
9         <!-- Compiler settings. -->
10         <property name="javacFailOnError" value="false"/>
11         <property name="javacDebugInfo" value="on"/>
12         <property name="javacVerbose" value="true"/>
13         <property name="javacSource" value="1.3"/>
14         <property name="javacTarget" value="1.2"/>
15         <property name="compilerArg" value=""/>
16         <path id="path_bootclasspath">
17                 <fileset dir="${java.home}/lib">
18                         <include name="*.jar"/>
19                 </fileset>
20         </path>
21         <property name="bootclasspath" refid="path_bootclasspath"/>
22
23         <target name="init" depends="properties">
24                 <condition property="pluginTemp" value="${buildTempFolder}/plugins">
25                         <isset property="buildTempFolder"/>
26                 </condition>
27                 <property name="pluginTemp" value="${basedir}"/>
28                 <condition property="build.result.folder" value="${pluginTemp}/net.sourceforge.phpeclipse.debug.core">
29                         <isset property="buildTempFolder"/>
30                 </condition>
31                 <property name="build.result.folder" value="${basedir}"/>
32                 <property name="temp.folder" value="${basedir}/temp.folder"/>
33                 <property name="plugin.destination" value="${basedir}"/>
34         </target>
35
36         <target name="properties" if="eclipse.running">
37                 <property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter"/>
38
39         </target>
40
41         <target name="build.update.jar" depends="init" description="Build the plug-in: net.sourceforge.phpeclipse.debug.core for an update site.">
42                 <delete dir="${temp.folder}"/>
43                 <mkdir dir="${temp.folder}"/>
44                 <antcall target="build.jars"/>
45                 <antcall target="gather.bin.parts">
46                         <param name="destination.temp.folder" value="${temp.folder}/"/>
47                 </antcall>
48                 <zip destfile="${plugin.destination}/net.sourceforge.phpeclipse.debug.core_1.1.7.jar" basedir="${temp.folder}/net.sourceforge.phpeclipse.debug.core_1.1.7" filesonly="false" whenempty="skip" update="false"/>
49                 <delete dir="${temp.folder}"/>
50         </target>
51
52         <target name="core.jar" depends="init" unless="core.jar" description="Create jar: net.sourceforge.phpeclipse.debug.core core.jar.">
53                 <delete dir="${temp.folder}/core.jar.bin"/>
54                 <mkdir dir="${temp.folder}/core.jar.bin"/>
55                 <!-- compile the source code -->
56                 <javac destdir="${temp.folder}/core.jar.bin" failonerror="${javacFailOnError}" verbose="${javacVerbose}" debug="${javacDebugInfo}" includeAntRuntime="no" bootclasspath="${bootclasspath}" source="${javacSource}" target="${javacTarget}"              >
57                         <compilerarg line="${compilerArg}"/>
58                         <classpath>
59                                 <pathelement path="..\..\plugins\org.eclipse.ui_3.1.0.jar"/>
60                                 <pathelement path="..\..\plugins\org.eclipse.core.runtime_3.1.0.jar"/>
61                                 <pathelement path="..\..\plugins\org.eclipse.osgi_3.1.0.jar"/>
62                                 <pathelement path="..\..\plugins\org.eclipse.help_3.1.0.jar"/>
63                                 <pathelement path="..\..\plugins\org.eclipse.swt_3.1.0.jar"/>
64                                 <pathelement path="..\..\plugins\org.eclipse.swt.win32.win32.x86_3.1.0.jar"/>
65                                 <pathelement path="..\..\plugins\org.eclipse.jface_3.1.0.jar"/>
66                                 <pathelement path="..\..\plugins\org.eclipse.core.commands_3.1.0.jar"/>
67                                 <pathelement path="..\..\plugins\org.eclipse.ui.workbench_3.1.0.jar"/>
68                                 <pathelement path="../../plugins/org.eclipse.ui.workbench.compatibility_3.1.0/compatibility.jar"/>
69                                 <pathelement path="../../plugins/org.eclipse.ui.workbench.compatibility_3.1.0/@dot"/>
70                                 <pathelement path="..\..\plugins\org.eclipse.core.expressions_3.1.0.jar"/>
71                                 <pathelement path="..\..\plugins\org.eclipse.core.resources_3.1.0.jar"/>
72                                 <pathelement path="..\..\plugins\org.eclipse.core.resources.compatibility_3.1.0.jar"/>
73                                 <pathelement path="..\..\plugins\org.eclipse.core.resources.win32_3.1.0.jar"/>
74                                 <pathelement path="..\..\plugins\org.eclipse.core.runtime.compatibility_3.1.0.jar"/>
75                                 <pathelement path="..\..\plugins\org.eclipse.update.configurator_3.1.0.jar"/>
76                                 <pathelement path="..\..\plugins\org.eclipse.ant.core_3.1.0.jar"/>
77                                 <pathelement path="..\..\plugins\org.eclipse.core.variables_3.1.0.jar"/>
78                                 <pathelement path="..\..\plugins\org.eclipse.debug.core_3.1.0.jar"/>
79                                 <pathelement path="${build.result.folder}/../net.sourceforge.phpeclipse/bin/"/>
80                                 <pathelement path="${build.result.folder}/../net.sourceforge.phpeclipse/phpeclipse.jar"/>
81                                 <pathelement path="..\..\plugins\org.eclipse.ui.console_3.1.0.jar"/>
82                                 <pathelement path="..\..\plugins\org.eclipse.jface.text_3.1.0.jar"/>
83                                 <pathelement path="..\..\plugins\org.eclipse.text_3.1.0.jar"/>
84                                 <pathelement path="..\..\plugins\org.eclipse.ui.workbench.texteditor_3.1.0.jar"/>
85                                 <pathelement path="..\..\plugins\org.eclipse.search_3.1.0.jar"/>
86                                 <pathelement path="..\..\plugins\org.eclipse.ui.ide_3.1.0.jar"/>
87                                 <pathelement path="..\..\plugins\org.eclipse.ui.win32_3.1.0.jar"/>
88                                 <pathelement path="..\..\plugins\org.eclipse.ui.views_3.1.0.jar"/>
89                                 <pathelement path="..\..\plugins\org.eclipse.update.core_3.1.0.jar"/>
90                                 <pathelement path="..\..\plugins\org.eclipse.update.core.win32_3.1.0.jar"/>
91                                 <pathelement path="..\..\plugins\org.eclipse.update.ui_3.1.0.jar"/>
92                                 <pathelement path="..\..\plugins\org.eclipse.ui.forms_3.1.0.jar"/>
93                                 <pathelement path="..\..\plugins\org.eclipse.ui.editors_3.1.0.jar"/>
94                                 <pathelement path="..\..\plugins\org.eclipse.core.filebuffers_3.1.0.jar"/>
95                                 <pathelement path="..\..\plugins\org.eclipse.debug.ui_3.1.0.jar"/>
96                                 <pathelement path="..\..\plugins\org.eclipse.compare_3.1.0.jar"/>
97                                 <pathelement path="../org.eclipse.ui.externaltools/bin"/>
98                                 <pathelement path="../org.eclipse.ui.externaltools/@dot"/>
99                                 <pathelement path="..\..\plugins\org.eclipse.team.core_3.1.0.jar"/>
100                                 <pathelement path="${build.result.folder}/../net.sourceforge.phpeclipse.webbrowser/bin/"/>
101                                 <pathelement path="${build.result.folder}/../net.sourceforge.phpeclipse.webbrowser/webbrowser.jar"/>
102                                 <pathelement path="${build.result.folder}/../net.sourceforge.phpeclipse.externaltools/bin/"/>
103                                 <pathelement path="${build.result.folder}/../net.sourceforge.phpeclipse.externaltools/externaltools.jar"/>
104                                 <pathelement path="${build.result.folder}/../net.sourceforge.phpeclipse.ui/bin"/>
105                                 <pathelement path="${build.result.folder}/../net.sourceforge.phpeclipse.ui/ui.jar"/>
106                                 <pathelement path="${build.result.folder}/../net.sourceforge.phpeclipse.core/bin/"/>
107                                 <pathelement path="${build.result.folder}/../net.sourceforge.phpeclipse.core/webcore.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                         </classpath>
113                         <src path="src/"                        />
114                         </javac>
115                 <!-- Copy necessary resources -->
116                 <copy todir="${temp.folder}/core.jar.bin" failonerror="true" overwrite="false">
117                         <fileset dir="src/" excludes="**/*.java, **/package.htm*,null"                  />
118                 </copy>
119                 <mkdir dir="${build.result.folder}"/>
120                 <jar destfile="${build.result.folder}/core.jar" basedir="${temp.folder}/core.jar.bin"/>
121                 <delete dir="${temp.folder}/core.jar.bin"/>
122         </target>
123
124         <target name="coresrc.zip" depends="init" unless="coresrc.zip">
125                 <mkdir dir="${build.result.folder}"/>
126                 <zip destfile="${build.result.folder}/coresrc.zip" filesonly="false" whenempty="skip" update="false">
127                         <fileset dir="src/" includes="**/*.java"                        />
128                 </zip>
129         </target>
130
131         <target name="build.jars" depends="init" description="Build all the jars for the plug-in: net.sourceforge.phpeclipse.debug.core.">
132                 <available property="core.jar" file="${build.result.folder}/core.jar"/>
133                 <antcall target="core.jar"/>
134         </target>
135
136         <target name="build.sources" depends="init">
137                 <available property="coresrc.zip" file="${build.result.folder}/coresrc.zip"/>
138                 <antcall target="coresrc.zip"/>
139         </target>
140
141         <target name="gather.bin.parts" depends="init" if="destination.temp.folder">
142                 <mkdir dir="${destination.temp.folder}/net.sourceforge.phpeclipse.debug.core_1.1.7"/>
143                 <copy todir="${destination.temp.folder}/net.sourceforge.phpeclipse.debug.core_1.1.7" failonerror="true" overwrite="false">
144                         <fileset dir="${build.result.folder}" includes="core.jar"                       />
145                 </copy>
146                 <copy todir="${destination.temp.folder}/net.sourceforge.phpeclipse.debug.core_1.1.7" failonerror="true" overwrite="false">
147                         <fileset dir="${basedir}" includes="core.jar,.classpath,.project,.template,os/,plugin.properties,plugin.xml"                    />
148                 </copy>
149         </target>
150
151         <target name="build.zips" depends="init">
152         </target>
153
154         <target name="gather.sources" depends="init" if="destination.temp.folder">
155                 <mkdir dir="${destination.temp.folder}/net.sourceforge.phpeclipse.debug.core_1.1.7"/>
156                 <copy file="${build.result.folder}/coresrc.zip" todir="${destination.temp.folder}/net.sourceforge.phpeclipse.debug.core_1.1.7" failonerror="false" overwrite="false"/>
157                 <copy todir="${destination.temp.folder}/net.sourceforge.phpeclipse.debug.core_1.1.7" failonerror="false" overwrite="false">
158                         <fileset dir="${basedir}" includes="src/ "                      />
159                 </copy>
160         </target>
161
162         <target name="gather.logs" depends="init" if="destination.temp.folder">
163                 <mkdir dir="${destination.temp.folder}/net.sourceforge.phpeclipse.debug.core_1.1.7"/>
164                 <copy file="${temp.folder}/core.jar.bin.log" todir="${destination.temp.folder}/net.sourceforge.phpeclipse.debug.core_1.1.7" failonerror="false" overwrite="false"/>
165         </target>
166
167         <target name="clean" depends="init" description="Clean the plug-in: net.sourceforge.phpeclipse.debug.core of all the zips, jars and logs created.">
168                 <delete file="${build.result.folder}/core.jar"/>
169                 <delete file="${build.result.folder}/coresrc.zip"/>
170                 <delete file="${plugin.destination}/net.sourceforge.phpeclipse.debug.core_1.1.7.jar"/>
171                 <delete file="${plugin.destination}/net.sourceforge.phpeclipse.debug.core_1.1.7.zip"/>
172                 <delete dir="${temp.folder}"/>
173         </target>
174
175         <target name="refresh" depends="init" if="eclipse.running" description="Refresh this folder.">
176                 <eclipse.convertPath fileSystemPath="C:/eclipse31/workspace/net.sourceforge.phpeclipse.debug.core" property="resourcePath"/>
177                 <eclipse.refreshLocal resource="${resourcePath}" depth="infinite"/>
178         </target>
179
180         <target name="zip.plugin" depends="init" description="Create a zip containing all the elements for the plug-in: net.sourceforge.phpeclipse.debug.core.">
181                 <delete dir="${temp.folder}"/>
182                 <mkdir dir="${temp.folder}"/>
183                 <antcall target="build.jars"/>
184                 <antcall target="build.sources"/>
185                 <antcall target="gather.bin.parts">
186                         <param name="destination.temp.folder" value="${temp.folder}/"/>
187                 </antcall>
188                 <antcall target="gather.sources">
189                         <param name="destination.temp.folder" value="${temp.folder}/"/>
190                 </antcall>
191                 <delete>
192                         <fileset dir="${temp.folder}" includes="**/*.bin.log"                   />
193                 </delete>
194                 <zip destfile="${plugin.destination}/net.sourceforge.phpeclipse.debug.core_1.1.7.zip" basedir="${temp.folder}" filesonly="true" whenempty="skip" update="false"/>
195                 <delete dir="${temp.folder}"/>
196         </target>
197
198 </project>