blob: 6849830733abddfdbb803b0c8e0205196ad8494b [file] [log] [blame]
Christophe Cornuf7e6d922005-04-07 19:51:12 +00001<?xml version="1.0" encoding="UTF-8"?>
2<project name="org.eclipse.swt.gtk.linux.x86" default="build.jars" basedir=".">
3
4 <target name="init" depends="properties">
5 <property name="ws" value="gtk"/>
6 <property name="os" value="linux"/>
7 <property name="arch" value="x86"/>
8 <property name="fragment" value="org.eclipse.swt.${ws}.${os}.${arch}"/>
9 <property name="version.suffix" value="_3.1.0"/>
10 <property name="full.name" value="${fragment}${version.suffix}"/>
11 <property name="temp.folder" value="${basedir}/temp.folder"/>
12 <property name="plugin.destination" value="${basedir}"/>
13 <property name="build.result.folder" value="${basedir}"/>
14 <property name="destination" value="${basedir}"/>
15 <property name="plugindir" value="../org.eclipse.swt"/>
16 <property name="bootclasspath" value=""/>
17 </target>
18
19 <target name="properties" if="eclipse.running">
20 <property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter"/>
21 </target>
22
23 <target name="build.update.jar" depends="init">
24 <delete dir="${temp.folder}"/>
25 <mkdir dir="${temp.folder}"/>
26 <antcall target="build.jars"/>
27 <antcall target="gather.bin.parts">
28 <param name="destination.temp.folder" value="${temp.folder}/"/>
29 </antcall>
30 <zip zipfile="${plugin.destination}/${full.name}.jar" basedir="${temp.folder}/${full.name}" filesonly="false"/>
31 <delete dir="${temp.folder}"/>
32 </target>
33
34 <target name="@dot" depends="init" unless="@dot" description="Create jar: @dot.">
35 <property name="destdir" value="${temp.folder}/@dot.bin"/>
36 <delete dir="${temp.folder}/@dot.bin"/>
37 <mkdir dir="${temp.folder}/@dot.bin"/>
38 <javac destdir="${temp.folder}/@dot.bin" verbose="true" debug="on" failonerror="no" bootclasspath="${bootclasspath}" source="1.3" target="1.2">
39 <src path="${plugindir}/Eclipse SWT PI/gtk/"/>
40 <src path="${plugindir}/Eclipse SWT PI/common/"/>
41 <src path="${plugindir}/Eclipse SWT PI/common_j2se/"/>
42 <src path="${plugindir}/Eclipse SWT Program/gnome/"/>
43 <src path="${plugindir}/Eclipse SWT Program/cde/"/>
44 <src path="${plugindir}/Eclipse SWT PI/cairo/"/>
45 <src path="${plugindir}/Eclipse SWT Mozilla/common/"/>
46 <src path="${plugindir}/Eclipse SWT/gtk/"/>
47 <src path="${plugindir}/Eclipse SWT/cairo/"/>
48 <src path="${plugindir}/Eclipse SWT/emulated/bidi/"/>
49 <src path="${plugindir}/Eclipse SWT/emulated/coolbar/"/>
50 <src path="${plugindir}/Eclipse SWT/common/"/>
51 <src path="${plugindir}/Eclipse SWT/common_j2se/"/>
52 <src path="${plugindir}/Eclipse SWT Accessibility/gtk/"/>
53 <src path="${plugindir}/Eclipse SWT Accessibility/common/"/>
54 <src path="${plugindir}/Eclipse SWT AWT/gtk/"/>
55 <src path="${plugindir}/Eclipse SWT AWT/common/"/>
56 <src path="${plugindir}/Eclipse SWT Drag and Drop/gtk/"/>
57 <src path="${plugindir}/Eclipse SWT Drag and Drop/common/"/>
58 <src path="${plugindir}/Eclipse SWT Printing/gtk/"/>
59 <src path="${plugindir}/Eclipse SWT Printing/common/"/>
60 <src path="${plugindir}/Eclipse SWT Program/gtk/"/>
61 <src path="${plugindir}/Eclipse SWT Program/common/"/>
62 <src path="${plugindir}/Eclipse SWT Custom Widgets/common/"/>
63 <src path="${plugindir}/Eclipse SWT Browser/common/"/>
64 <src path="${plugindir}/Eclipse SWT Browser/mozilla/"/>
65 <src path="${plugindir}/Eclipse SWT Mozilla/gtk/"/>
66 </javac>
67 <property name="includes" value=""/>
68 <property name="excludes" value="**/*.java,**/library/,**/package.htm*"/>
69 <copy todir="${temp.folder}/@dot.bin">
70 <fileset dir="${plugindir}/Eclipse SWT PI/gtk/" includes="${includes}" excludes="${excludes}"/>
71 <fileset dir="${plugindir}/Eclipse SWT PI/common/" includes="${includes}" excludes="${excludes}"/>
72 <fileset dir="${plugindir}/Eclipse SWT PI/common_j2se/" includes="${includes}" excludes="${excludes}"/>
73 <fileset dir="${plugindir}/Eclipse SWT Program/gnome/" includes="${includes}" excludes="${excludes}"/>
74 <fileset dir="${plugindir}/Eclipse SWT Program/cde/" includes="${includes}" excludes="${excludes}"/>
75 <fileset dir="${plugindir}/Eclipse SWT PI/cairo/" includes="${includes}" excludes="${excludes}"/>
76 <fileset dir="${plugindir}/Eclipse SWT Mozilla/common/" includes="${includes}" excludes="${excludes}"/>
77 <fileset dir="${plugindir}/Eclipse SWT/gtk/" includes="${includes}" excludes="${excludes}"/>
78 <fileset dir="${plugindir}/Eclipse SWT/cairo/" includes="${includes}" excludes="${excludes}"/>
79 <fileset dir="${plugindir}/Eclipse SWT/emulated/bidi/" includes="${includes}" excludes="${excludes}"/>
80 <fileset dir="${plugindir}/Eclipse SWT/emulated/coolbar/" includes="${includes}" excludes="${excludes}"/>
81 <fileset dir="${plugindir}/Eclipse SWT/common/" includes="${includes}" excludes="${excludes}"/>
82 <fileset dir="${plugindir}/Eclipse SWT/common_j2se/" includes="${includes}" excludes="${excludes}"/>
83 <fileset dir="${plugindir}/Eclipse SWT Accessibility/gtk/" includes="${includes}" excludes="${excludes}"/>
84 <fileset dir="${plugindir}/Eclipse SWT Accessibility/common/" includes="${includes}" excludes="${excludes}"/>
85 <fileset dir="${plugindir}/Eclipse SWT AWT/gtk/" includes="${includes}" excludes="${excludes}"/>
86 <fileset dir="${plugindir}/Eclipse SWT AWT/common/" includes="${includes}" excludes="${excludes}"/>
87 <fileset dir="${plugindir}/Eclipse SWT Drag and Drop/gtk/" includes="${includes}" excludes="${excludes}"/>
88 <fileset dir="${plugindir}/Eclipse SWT Drag and Drop/common/" includes="${includes}" excludes="${excludes}"/>
89 <fileset dir="${plugindir}/Eclipse SWT Printing/gtk/" includes="${includes}" excludes="${excludes}"/>
90 <fileset dir="${plugindir}/Eclipse SWT Printing/common/" includes="${includes}" excludes="${excludes}"/>
91 <fileset dir="${plugindir}/Eclipse SWT Program/gtk/" includes="${includes}" excludes="${excludes}"/>
92 <fileset dir="${plugindir}/Eclipse SWT Program/common/" includes="${includes}" excludes="${excludes}"/>
93 <fileset dir="${plugindir}/Eclipse SWT Custom Widgets/common/" includes="${includes}" excludes="${excludes}"/>
94 <fileset dir="${plugindir}/Eclipse SWT Browser/common/" includes="${includes}" excludes="${excludes}"/>
95 <fileset dir="${plugindir}/Eclipse SWT Browser/mozilla/" includes="${includes}" excludes="${excludes}"/>
96 <fileset dir="${plugindir}/Eclipse SWT Mozilla/gtk/" includes="${includes}" excludes="${excludes}"/>
97 </copy>
98
99 <mkdir dir="${build.result.folder}/@dot"/>
100 <copy todir="${build.result.folder}/@dot" failonerror="true">
101 <fileset dir="${temp.folder}/@dot.bin"/>
102 </copy>
103 <!-- prepare a jar file solely for the download target -->
104 <jar jarfile="${build.result.folder}/swt.jar" basedir="${temp.folder}/@dot.bin"/>
105 <delete dir="${temp.folder}/@dot.bin"/>
106 </target>
107
108 <target name="build.jars" depends="init">
109 <available property="@dot" file="${build.result.folder}/@dot"/>
110 <antcall target="@dot"/>
111 </target>
112
113 <target name="src.zip" depends="init" unless="src.zip">
114 <mkdir dir="${build.result.folder}/"/>
115 <zip zipfile="${build.result.folder}/src.zip">
116 <fileset dir="${plugindir}/Eclipse SWT PI/gtk/" includes="**/*.java,about.html,lglp-v21.txt" excludes=""/>
117 <fileset dir="${plugindir}/Eclipse SWT PI/gtk/library/"/>
118 <fileset dir="${plugindir}/Eclipse SWT PI/common/" includes="**/*.java" excludes=""/>
119 <fileset dir="${plugindir}/Eclipse SWT PI/common_j2se/" includes="**/*.java" excludes=""/>
120 <fileset dir="${plugindir}/Eclipse SWT Program/gnome/" includes="**/*.java" excludes=""/>
121 <fileset dir="${plugindir}/Eclipse SWT Program/cde/" includes="**/*.java" excludes=""/>
122 <fileset dir="${plugindir}/Eclipse SWT Program/gnome/library/"/>
123 <fileset dir="${plugindir}/Eclipse SWT Program/cde/library/"/>
124 <fileset dir="${plugindir}/Eclipse SWT PI/cairo/" includes="**/*.java,library/**,about.html,mpl-v11.txt" excludes=""/>
125 <fileset dir="${plugindir}/Eclipse SWT Mozilla/common/" includes="**/*.java,library/**,about.html,mpl-v11.txt" excludes=""/>
126 <fileset dir="${plugindir}/Eclipse SWT/gtk/" includes="**/*.java" excludes=""/>
127 <fileset dir="${plugindir}/Eclipse SWT/cairo/" includes="**/*.java" excludes=""/>
128 <fileset dir="${plugindir}/Eclipse SWT/emulated/bidi/" includes="**/*.java" excludes=""/>
129 <fileset dir="${plugindir}/Eclipse SWT/emulated/coolbar/" includes="**/*.java" excludes=""/>
130 <fileset dir="${plugindir}/Eclipse SWT/common/" includes="**/*.java" excludes=""/>
131 <fileset dir="${plugindir}/Eclipse SWT/common/library/"/>
132 <fileset dir="${plugindir}/Eclipse SWT AWT/gtk/library/"/>
133 <fileset dir="${plugindir}/Eclipse SWT/common_j2se/" includes="**/*.java" excludes=""/>
134 <fileset dir="${plugindir}/Eclipse SWT Accessibility/gtk/" includes="**/*.java" excludes=""/>
135 <fileset dir="${plugindir}/Eclipse SWT Accessibility/common/" includes="**/*.java" excludes=""/>
136 <fileset dir="${plugindir}/Eclipse SWT AWT/gtk/" includes="**/*.java" excludes=""/>
137 <fileset dir="${plugindir}/Eclipse SWT AWT/common/" includes="**/*.java" excludes=""/>
138 <fileset dir="${plugindir}/Eclipse SWT Drag and Drop/gtk/" includes="**/*.java" excludes=""/>
139 <fileset dir="${plugindir}/Eclipse SWT Drag and Drop/common/" includes="**/*.java" excludes=""/>
140 <fileset dir="${plugindir}/Eclipse SWT Printing/gtk/" includes="**/*.java" excludes=""/>
141 <fileset dir="${plugindir}/Eclipse SWT Printing/common/" includes="**/*.java" excludes=""/>
142 <fileset dir="${plugindir}/Eclipse SWT Program/gtk/" includes="**/*.java" excludes=""/>
143 <fileset dir="${plugindir}/Eclipse SWT Program/common/" includes="**/*.java" excludes=""/>
144 <fileset dir="${plugindir}/Eclipse SWT Custom Widgets/common/" includes="**/*.java" excludes=""/>
145 <fileset dir="${plugindir}/Eclipse SWT Browser/common/" includes="**/*.java" excludes=""/>
146 <fileset dir="${plugindir}/Eclipse SWT Browser/mozilla/" includes="**/*.java" excludes=""/>
147 <fileset dir="${plugindir}/Eclipse SWT Mozilla/gtk/" includes="**/*.java,library/**" excludes=""/>
148 </zip>
149 </target>
150
151 <target name="build.sources" depends="init">
152 <available property="src.zip" file="${build.result.folder}/src.zip"/>
153 <antcall target="src.zip"/>
154 </target>
155
156 <target name="build.zips" depends="init">
157 </target>
158
159 <target name="gather.sources" depends="init" if="destination.temp.folder">
160 <mkdir dir="${destination.temp.folder}/${full.name}"/>
161 <copy file="${build.result.folder}/src.zip" todir="${destination.temp.folder}/${full.name}/"/>
162 <copy todir="${destination.temp.folder}/${full.name}">
163 <fileset dir="${basedir}" includes="about.html,about_files/"/>
164 </copy>
165 </target>
166
167 <target name="gather.logs" depends="init" if="destination.temp.folder">
168 <mkdir dir="${destination.temp.folder}/${full.name}"/>
169 <copy file="${temp.folder}/@dot.bin.log" todir="${destination.temp.folder}/${full.name}/"/>
170 </target>
171
172 <target name="gather.bin.parts" depends="init" if="destination.temp.folder">
173 <mkdir dir="${destination.temp.folder}/${full.name}"/>
174 <copy todir="${destination.temp.folder}/${full.name}" failonerror="true">
175 <fileset dir="${build.result.folder}/@dot" includes="**"/>
176 </copy>
177 <copy todir="${destination.temp.folder}/${full.name}">
178 <fileset dir="${basedir}" includes="fragment.properties,about.html,about_files/,swt*.dll,libswt*.so,libswt*.sl,libswt*.a,libswt*.jnilib,META-INF/"/>
179 </copy>
180 <chmod perm="755" dir="${destination.temp.folder}/${full.name}" includes="swt*.dll,libswt*.so,libswt*.sl,libswt*.a,libswt*.jnilib" />
181 </target>
182
183 <target name="swtdownload" depends="init">
184 <delete dir="${temp.folder}"/>
185 <mkdir dir="${temp.folder}/swtdownload/"/>
186 <antcall target="build.jars"/>
187 <copy file="${build.result.folder}/swt.jar" todir="${temp.folder}/swtdownload"/>
188 <antcall target="build.sources"/>
189 <copy file="${build.result.folder}/src.zip" todir="${temp.folder}/swtdownload"/>
190 <copy todir="${temp.folder}/swtdownload">
191 <fileset dir="${basedir}" includes="about.html,about_files/"/>
192 <fileset dir="${basedir}" includes="swt*.dll,libswt*.so,libswt*.sl,libswt*.a,libswt*.jnilib,libXm.so.2"/>
193 </copy>
194 <chmod dir="${temp.folder}/swtdownload" perm="755" includes="**/lib*"/>
195 <exec dir="${temp.folder}/swtdownload" executable="zip">
196 <arg line="-r -q -y ${destination}/swt-${buildid}-${os}-${ws}.zip ."/>
197 </exec>
198 <delete dir="${temp.folder}"/>
199 </target>
200
201 <target name="clean" depends="init">
202 <delete dir="${build.result.folder}/@dot"/>
203 <delete file="${build.result.folder}/src.zip"/>
204 <delete file="${plugin.destination}/${full.name}.jar"/>
205 <delete file="${plugin.destination}/${full.name}.zip"/>
206 <delete dir="${temp.folder}"/>
207 </target>
208
209 <target name="refresh" depends="init" if="eclipse.running">
210 <eclipse.refreshLocal resource="${fragment}" depth="infinite"/>
211 </target>
212
213 <target name="zip.plugin" depends="init">
214 <delete dir="${temp.folder}"/>
215 <mkdir dir="${temp.folder}"/>
216 <antcall target="build.jars"/>
217 <antcall target="build.sources"/>
218 <antcall target="gather.bin.parts">
219 <param name="destination.temp.folder" value="${temp.folder}/"/>
220 </antcall>
221 <antcall target="gather.sources">
222 <param name="destination.temp.folder" value="${temp.folder}/"/>
223 </antcall>
224 <delete>
225 <fileset dir="${temp.folder}" includes="**/*.bin.log"/>
226 </delete>
227 <zip zipfile="${plugin.destination}/${full.name}.zip" basedir="${temp.folder}" filesonly="true"/>
228 <delete dir="${temp.folder}"/>
229 </target>
230
231</project>