Statistics
| Revision:

svn-gvsig-desktop / tags / v1_1_Build_1006 / applications / appgvSIG / scripts / buildApi.xml @ 12458

History | View | Annotate | Download (11.2 KB)

1 12141 cesar
<project basedir=".." name="build" default="buildAPIReference">
2
        <!--
3
        Note: the replacement in html links uses lots of memory, this script should
4
        be launched using the -Xmx512M parameter for the JVM.
5
        -->
6
        <property name="tmpSourceDir" value="/tmp/tmp-sources"/>
7
        <property name="apiReferenceDir" value="/tmp/docs/dist/html/APIReference"/>
8
9
        <property name="passw" value="my_password"/>
10
        <property name="server" value="my_server"/>
11
        <property name="port" value="6666"/>
12
        <property name="user" value="my_user"/>
13
        <property name="remoteDir1" value="/remoteDir1"/>
14
        <property name="remoteDir2" value="/remoteDir2"/>
15
        <property name="encoding" value="ISO-8859-1"/>
16
        <property name="ftp-passive" value="yes"/>
17
        <property name="verbose" value="yes"/>
18
19
<!--=======================================================================-->
20
21
        <!-- Deploy del API -->
22
        <target name="deployAPIReference" depends="buildAPIReference">
23
                <!-- zope no acepta directorios llamados 'values' -->
24
                <antcall target="renameFiles">
25
                        <param name="targetDir" value="${apiReferenceDir}" />
26
                        <param name="oldValue" value="/values"/>
27
                        <param name="newValue" value="/values_" />
28
                </antcall>
29
                <antcall target="replaceInLinks">
30
                        <param name="targetDir" value="${apiReferenceDir}" />
31
                        <param name="oldValue" value="/values"/>
32
                        <param name="newValue" value="/values_" />
33
                </antcall>
34
                <!-- Deploy del API en el directorio no Plone-->
35
                <antcall target="deleteRemoteFiles">
36
                        <param name="remoteDir" value="${remoteDir1}"/>
37
                        <param name="excludeFiles" value=""/>
38
                </antcall>
39
                <antcall target="deleteRemoteDirs">
40
                        <param name="remoteDir" value="${remoteDir1}"/>
41
                        <param name="excludeDirs" value=""/>
42
                </antcall>
43
                <echo>apiReferenceDir ${apiReferenceDir}
44
                        remoteDir1: ${remoteDir1}"
45
                </echo>
46
                <antcall target="copyFilesToRemote">
47
                        <param name="sourceDir" value="${apiReferenceDir}"/>
48
                        <param name="remoteDir" value="${remoteDir1}"/>
49
                </antcall>
50
                <!--
51
                No queremos crear el .zip con la API
52
                <antcall target="makeZipFile"
53
                        description="Crea un fichero .zip con la documentacion del api">
54
                        <param name="dstDir" value="${basedir}/docs/dist/zip/apiref.zip"/>
55
                        <param name="srcDir" value="${apiReferenceDir}"/>
56
                </antcall>
57
                <antcall target="copyFilesToRemote"
58
                        description="Copia el fichero apiref.zip al directorio remoto">
59
                        <param name="sourceDir" value="${basedir}/docs/dist/zip"/>
60
                        <param name="remoteDir" value="${remoteDir}/portal2"/>
61
                </antcall> -->
62
63
                <!-- Deploy del API en el directorio Plone-->
64
                <!-- Plone no acepta directorios llamados 'search' -->
65
                <antcall target="renameFiles">
66
                        <param name="targetDir" value="${apiReferenceDir}" />
67
                        <param name="oldValue" value="/search"/>
68
                        <param name="newValue" value="/search_" />
69
                </antcall>
70
                <antcall target="replaceInLinks">
71
                        <param name="targetDir" value="${apiReferenceDir}" />
72
                        <param name="oldValue" value="/search"/>
73
                        <param name="newValue" value="/search_" />
74
                </antcall>
75
                <antcall target="renameFiles">
76
                        <param name="targetDir" value="${apiReferenceDir}" />
77
                        <param name="oldValue" value="/layout"/>
78
                        <param name="newValue" value="/layout_" />
79
                </antcall>
80
                <antcall target="replaceInLinks">
81
                        <param name="targetDir" value="${apiReferenceDir}" />
82
                        <param name="oldValue" value="/layout"/>
83
                        <param name="newValue" value="/layout_" />
84
                </antcall>
85
                <antcall target="renameFiles">
86
                        <param name="targetDir" value="${apiReferenceDir}" />
87
                        <param name="oldValue" value="/actions"/>
88
                        <param name="newValue" value="/actions_" />
89
                </antcall>
90
                <antcall target="replaceInLinks">
91
                        <param name="targetDir" value="${apiReferenceDir}" />
92
                        <param name="oldValue" value="/actions"/>
93
                        <param name="newValue" value="/actions_" />
94
                </antcall>
95
                <antcall target="renameFiles">
96
                        <param name="targetDir" value="${apiReferenceDir}" />
97
                        <param name="oldValue" value="/view"/>
98
                        <param name="newValue" value="/view_" />
99
                </antcall>
100
                <antcall target="replaceInLinks">
101
                        <param name="targetDir" value="${apiReferenceDir}" />
102
                        <param name="oldValue" value="/view"/>
103
                        <param name="newValue" value="/view_" />
104
                </antcall>
105
                <antcall target="renameFiles">
106
                        <param name="targetDir" value="${apiReferenceDir}" />
107
                        <param name="oldValue" value="/properties"/>
108
                        <param name="newValue" value="/properties_" />
109
                </antcall>
110
                <antcall target="replaceInLinks">
111
                        <param name="targetDir" value="${apiReferenceDir}" />
112
                        <param name="oldValue" value="/properties"/>
113
                        <param name="newValue" value="/properties_" />
114
                </antcall>
115
                 <antcall target="deleteRemoteFiles">
116
                        <param name="remoteDir" value="${remoteDir2}"/>
117
                        <param name="excludeFiles" value="${remoteDir2}/indice.html"/>
118
                </antcall>
119
                <antcall target="deleteRemoteDirs">
120
                        <param name="remoteDir" value="${remoteDir2}"/>
121
                        <param name="excludeDirs" value=""/>
122
                </antcall>
123
                <echo>apiReferenceDir ${apiReferenceDir}
124
                        remoteDir1: ${remoteDir1}"
125
                </echo>
126
                <antcall target="copyFilesToRemote">
127
                        <param name="sourceDir" value="${apiReferenceDir}"/>
128
                        <param name="remoteDir" value="${remoteDir2}"/>
129
                </antcall>
130
        </target>
131
132
        <target name="buildAPIReference"
133
                  description="Crea el documento Javadoc del componente">
134
                  <delete dir="${apiReferenceDir}" />
135
                  <mkdir dir="${apiReferenceDir}"/>
136
                <echo>Basedir: ${basedir}</echo>
137
                <echo>Output dir: ${apiReferenceDir}</echo>
138
                <!--
139
                        Copy the packaes from all the projects to a temporary directory.
140
                        We need only one directory to properly generate the Javadocs.
141
                -->
142
                <delete dir="${tmpSourceDir}" failonerror="false"/>
143
                <mkdir dir="${tmpSourceDir}"/>
144
                <copy todir="${tmpSourceDir}">
145
                    <fileset dir="${basedir}/_fwAndami/src">
146
                        <include name="**/*.java"/>
147
                    </fileset>
148
                        <fileset dir="${basedir}/appgvSIG/src">
149
                        <include name="**/*.java"/>
150
                    </fileset>
151
                        <fileset dir="${basedir}/extAddEventTheme/src">
152
                        <include name="**/*.java"/>
153
                    </fileset>
154
                        <fileset dir="${basedir}/extCAD/src">
155
                        <include name="**/*.java"/>
156
                    </fileset>
157
                        <fileset dir="${basedir}/extCatalogYNomenclator/src">
158
                        <include name="**/*.java"/>
159
                    </fileset>
160
                        <fileset dir="${basedir}/extDataLocator/src">
161
                        <include name="**/*.java"/>
162
                    </fileset>
163
                        <fileset dir="${basedir}/extDwg/src">
164
                        <include name="**/*.java"/>
165
                    </fileset>
166
                        <fileset dir="${basedir}/extGeoProcessing/src">
167
                        <include name="**/*.java"/>
168
                    </fileset>
169
                        <fileset dir="${basedir}/extJDBC/src">
170
                        <include name="**/*.java"/>
171
                    </fileset>
172
                        <fileset dir="${basedir}/extRasterTools/src">
173
                        <include name="**/*.java"/>
174
                    </fileset>
175
                        <fileset dir="${basedir}/extWCS/src">
176
                        <include name="**/*.java"/>
177
                    </fileset>
178
                        <fileset dir="${basedir}/extWFS2/src">
179
                        <include name="**/*.java"/>
180
                    </fileset>
181
                        <fileset dir="${basedir}/extWMS/src">
182
                        <include name="**/*.java"/>
183
                    </fileset>
184
                        <fileset dir="${basedir}/libCorePlugin/src">
185
                        <include name="**/*.java"/>
186
                    </fileset>
187
                <!--        <fileset dir="${basedir}/libCq CMS for java/src">
188
                        <include name="**/*.java"/>
189
                    </fileset>                         -->
190
                        <fileset dir="${basedir}/libDriverManager/src">
191
                        <include name="**/*.java"/>
192
                    </fileset>
193
                        <fileset dir="${basedir}/libDwg/src">
194
                        <include name="**/*.java"/>
195
                    </fileset>
196
                        <fileset dir="${basedir}/libFMap/src">
197
                        <include name="**/*.java"/>
198
                    </fileset>
199
                        <fileset dir="${basedir}/libInternationalization/src">
200
                        <include name="**/*.java"/>
201
                    </fileset>
202
                        <fileset dir="${basedir}/libIverUtiles/src">
203
                        <include name="**/*.java"/>
204
                    </fileset>
205
                        <fileset dir="${basedir}/libRemoteServices/src">
206
                        <include name="**/*.java"/>
207
                    </fileset>
208
                        <fileset dir="${basedir}/libGDBMS/src/main/java/">
209
                        <include name="**/*.java"/>
210
                    </fileset>
211
                </copy>
212
                  <javadoc
213
                        author="true"
214
                        version="true"
215
                        destdir="${apiReferenceDir}"
216
                          maxmemory="512m"
217
                          source="1.4"
218
                          doctitle="API DOCUMENTATION"
219
                        bottom="API Documentation"
220
                        windowtitle="API Documentation"
221
                          verbose="${verbose}"
222
                          encoding="${encoding}">
223
                          <sourcepath>
224
                                  <pathelement path="${tmpSourceDir}"/>
225
                          </sourcepath>
226
                          <packageset dir="/${tmpSourceDir}">
227
                                  <include name="**/**"/>
228
                          </packageset>
229
                  </javadoc>
230
          </target>
231
232
<!-- ============================= Scripts ================================= -->
233
        <target name="makeRemoteDirs"
234
                description="Crea un directorio por ftp">
235
                <ftp
236
                        action="mkdir"
237
                        server="${server}"
238
                        password="${passw}"
239
                        userid="${user}"
240
                        remotedir="${remoteDir}"
241
                        port="${port}"
242
                        passive="${ftp-passive}"
243
                />
244
        </target>
245
        <target name="deleteRemoteFiles"
246
                description="Borra los archivos de los directorios remotos">
247
                <ftp
248
                        action="del"
249
                        server="${server}"
250
                        password="${passw}"
251
                        userid="${user}"
252
                        remotedir="${remoteDir}"
253
                        port="${port}"
254
                        passive="${ftp-passive}"
255
                        verbose="${verbose}">
256
                        <fileset dir="${remoteDir}">
257
                                <include name="**"/>
258
                                <exclude name="${excludeFiles}"/>
259
                        </fileset>
260
                </ftp>
261
        </target>
262
        <target name="deleteRemoteDirs"
263
                description="Borra los directorios remotos">
264
                <ftp
265
                        action="rmdir"
266
                        server="${server}"
267
                        password="${passw}"
268
                        userid="${user}"
269
                        remotedir="${remoteDir}"
270
                        port="${port}"
271
                        passive="${ftp-passive}"
272
                        verbose="${verbose}">
273
                        <fileset>
274
                                <include name="**"/>
275
                                <exclude name="${excludeDirs}"/>
276
                        </fileset>
277
                </ftp>
278
        </target>
279
        <target name="copyFilesToRemote"
280
                description="Copia archivos por ftp">
281
                <echo>Copying files to ftp://${server}/${remoteDir}</echo>
282
                <ftp server="${server}"
283
                        password="${passw}"
284
                        userid="${user}"
285
                        remotedir="${remoteDir}"
286
                        port="${port}"
287
                        passive="${ftp-passive}"
288
                        verbose="${verbose}"
289
                        binary="true">
290
291
                        <fileset dir="${sourceDir}">
292
                            <include name="**/*"/>
293
                        </fileset>
294
                </ftp>
295
        </target>
296
        <target name="moveDir"
297
                description="Mueve un directorio a otro">
298
                <move todir="${dstDir}">
299
                        <fileset dir="${srcDir}"/>
300
                </move>
301
        </target>
302
        <target name="copyDir"
303
                description="Copia un árbol de directorios en otro directorio">
304
                <copy todir="${dstDir}">
305
                        <fileset dir="${srcDir}"/>
306
                </copy>
307
        </target>
308
        <target name="makeZipFile"
309
                description="Crea un archivo zip">
310
                <zip destfile="${dstDir}"
311
                        basedir="${srcDir}"
312
                        includes="**/*.html">
313
                </zip>
314
315
        </target>
316
317
        <target name="replaceInLinks"
318
                description="For each html file in ${targetDir}, replaces ${oldValue} by ${newValue} in each href link">
319
                <replaceregexp flags="g">
320
                        <regexp pattern='(A HREF="[^"]*)(${oldValue})([^"]*")'/>
321
                        <substitution expression='\1${newValue}\3'/>
322
                        <fileset dir="${apiReferenceDir}">
323
                                <include name="**/*.html"/>
324
                                <include name="**/*.HTML"/>
325
                                <include name="**/*.htm"/>
326
                                <include name="**/*.HTM"/>
327
                        </fileset>
328
                </replaceregexp>
329
        </target>
330
331
        <!-- this target does not work perfectly:
332
             - it will fail if two nested directories have to be replaced
333
             - it will fail to replaces directory in the root directory
334
             but anyway, we don't have these situations, so it will make the trick
335
        -->
336
        <target name="renameFiles"
337
                description="Rename directories from ${oldValue} to ${newValue} ">
338
                <move todir="${targetDir}" verbose="yes">
339
                        <fileset
340
                                dir="${targetDir}"
341
                                includes="**/*"/>
342
                        <regexpmapper from="(.*)(${oldValue})(.*)" to="\1${newValue}\3" handledirsep="true"/>
343
                </move>
344
        </target>
345
</project>