Statistics
| Revision:

root / trunk / binaries / ant / utilities.xml @ 19921

History | View | Annotate | Download (7.81 KB)

1
<project name="ant_libs">
2
        <dirname file="${ant.file.ant_libs}" property="ant.file.ant_libs.dir"/>
3

    
4
        <!--
5
                ====================================
6
                Compilation base properties
7
                ====================================
8
        -->
9
        <property name="JUNIT_HOME" location="${ant.file.ant_libs.dir}" />
10
        <property name="JavaSourceVersion" value="1.5"/>
11
        <property name="JavaTargetVersion" value="1.5"/>
12
        <property name="debug" value="on"/>
13
        <property name="debuglevel" value="lines, vars, source"/>
14
        <property name="encoding" value="ISO_8859_1"/>
15

    
16

    
17

    
18

    
19
        <!--
20
                ====================================
21
                ant4eclipse library load
22
                ====================================
23
        -->
24
        <taskdef resource="net/sf/ant4eclipse/antlib.xml" >
25
                        <classpath>
26
                                <pathelement location="${ant.file.ant_libs.dir}/ant4eclipse-0.5.0.rc1.jar"/>
27
                        </classpath>
28
        </taskdef>
29

    
30

    
31

    
32

    
33
        <!--
34
                ====================================
35
                ant-contrib library load
36
                ====================================
37
        -->
38
        <taskdef resource="net/sf/antcontrib/antlib.xml">
39
                        <classpath>
40
                                <pathelement location="${ant.file.ant_libs.dir}/ant-contrib-1.0b3.jar"/>
41
                                <pathelement location="${ant.file.ant_libs.dir}/bcel-5.1.jar"/>
42
                                <pathelement location="${ant.file.ant_libs.dir}/commons-httpclient-3.0.1.jar"/>
43
                                <pathelement location="${ant.file.ant_libs.dir}/commons-logging-1.0.4.jar"/>
44
                                <pathelement location="${ant.file.ant_libs.dir}/ivy-1.3.1.jar"/>
45
                        </classpath>
46
        </taskdef>
47

    
48

    
49

    
50
        <!--
51
                ====================================
52
                gvSIG ant utilities library load
53
                ====================================
54
        -->
55
        <taskdef name="javacLikeEclipse" classname="org.gvsig.utilities.ant.taskdefs.JavacLikeEclipse">
56
                <classpath>
57
                        <pathelement location="${ant.file.ant_libs.dir}/org.gvsig.utilities.ant.jar"/>
58
                </classpath>
59
        </taskdef>
60

    
61

    
62

    
63
        <!--
64
                ====================================
65
                utilities tasks alias
66
                ====================================
67
        -->
68

    
69
        <!--
70
        ** loadEclipseClasspath Task  **
71

72
        Load the classpath from eclipse into the property 'eclipseClasspath'
73
        of the project recived in 'project' attribute. 'project' must
74
        be a directory of the workspace.
75

76
        - Use 'property="otherProperty"' : for change the return property
77

78
        Example:
79

80

81
        <target name="compile" description="compile the source" >
82
                <loadEclipseClasspath project="${basedir}>
83
                <mkdir dir="${build}" />
84
                <javac  srcdir="${src}"
85
                        destdir="${build}"
86
                        source="${JavaSourceVersion}"
87
                        target="${JavaTargetVersion}"
88
                        debug="${debug}"
89
                        debuglevel="${debuglevel}"
90
                        classpath="${eclipseClasspath}"
91
                        encoding="${encoding}"/>
92
        </target>
93

94
        -->
95
        <presetdef name="loadEclipseClasspath">
96
                <getEclipseClasspath
97
                        property="eclipseClasspath"
98
                        runtime="true"/>
99

    
100
        </presetdef>
101

    
102
        <!--
103
        ** gvSIG-javac Task **
104

105
        Javac whit default values to compile gvSIG proyects
106

107
        Example (minimal syntax):
108

109
        <gvSIG-javac
110
                classpath="${eclipseClasspath}"
111
                />
112

113
        Example with exclude:
114

115
        <gvSIG-javac
116
                classpath="${eclipseClasspath}"
117
                exclude="org/gvsig/test/**"
118
                />
119

120
        -->
121
        <presetdef name="gvSIG-javac">
122
                        <javacLikeEclipse
123
                                srcdir="${src}"
124
                                destdir="${build}"
125
                                source="${JavaSourceVersion}"
126
                                target="${JavaTargetVersion}"
127
                                sourcepath="${eclipseClasspath}"
128
                                debug="${debug}"
129
                                debuglevel="${debuglevel}"
130
                                encoding="${encoding}">
131
                        </javacLikeEclipse>
132
        </presetdef>
133

    
134
        <!-- generamos siempre el debug
135
        <presetdef name="gvSIG-javac">
136
                        <javacLikeEclipse
137
                                srcdir="${src}"
138
                                destdir="${build}"
139
                                source="${JavaSourceVersion}"
140
                                target="${JavaTargetVersion}"
141
                                debug="${debug}"
142
                                debuglevel="${debuglevel}"
143
                                sourcepath="${eclipseClasspath}"
144
                                encoding="${encoding}">
145
                        </javacLikeEclipse>
146
        </presetdef>
147
        -->
148

    
149
        <!--
150
        ** gvSIG-import-build-number Target **
151

152
        Automate import of build.number gvSIG file
153

154
        Example (minimal syntax):
155

156
        <antcall target="gvSIG-import-build-number"/>
157

158
        -->
159

    
160
        <target name="gvSIG-import-build-number">
161
                <!-- check buildNumberFile property -->
162
                <if>
163
                        <not>
164
                                <and>
165
                                        <isset property="buildNumberFile"/>
166
                                        <available file="${buildNumberFile}" type="file"/>
167
                                </and>
168
                        </not>
169
                        <then>
170
                                <fail message="Error: property buildNumberFile not set or file not available: ${buildNumberFile}"/>
171
                        </then>
172
                </if>
173
                <property name="localBuildNumberFile" value="${basedir}/build.number"/>
174
                <!-- copy the file if is needed-->
175
                <if>
176
                        <not>
177
                        <and>
178
                                <available file="${localBuildNumberFile}" type="file"/>
179
                                <filesmatch file1="${buildNumberFile}" file2="${localBuildNumberFile}"/>
180
                        </and>
181
                        </not>
182
                        <then>
183
                                <copy file="${buildNumberFile}" tofile="${localBuildNumberFile}" overwrite="true"/>
184
                        </then>
185
                </if>
186
        </target>
187

    
188
        <!-- Declare Junit task -->
189
        <taskdef name="gvSIG-junit" classname="org.apache.tools.ant.taskdefs.optional.junit2.JUnitTask" onerror="fail">
190
                <classpath>
191
                        <pathelement location="${ant.file.ant_libs.dir}/junit.jar"/>
192
                        <pathelement location="${ant.file.ant_libs.dir}/gvsig-ant-junit.jar"/>
193
                </classpath>
194
        </taskdef>
195

    
196
        <target name="generic-run-tests">
197
                <!--
198
                        === Input Parameters ===
199
                        JUnitSummaryFile: File to log the success of the project
200
                        JUnitProjectResults: File to log the details of the JUnit execution
201
                        TestSuite.Name: Name of the TestSuite class to run
202

203
                        === Throws ====
204
                        JUnitTestFailed: If any of the tests failed
205
                -->
206
                <!-- define these properties in case they are not already set -->
207
                <property name="JUnitProjectResults" value="JUnitProjectResults"/>
208
                <property name="JUnitProjectResultsFile" value="JUnitProjectResults.txt"/>
209
                <property name="JUnitGlobalResults" value="JUnitGlobalResults"/>
210
                <property name="JUnitGlobalResultsFile" value="JUnitGlobalResults.txt"/>
211
                <property name="JUnitSummaryFile" location="JUnitSummary.txt"/>
212
                <loadEclipseClasspath project="${basedir}"/>
213
                <property name="test-classpath" value="${build-test}:${build}:${eclipseClasspath}"/>
214
                <gvSIG-junit
215
                        fork="yes"
216
                        dir="${basedir}"
217
                        printsummary="on"
218
                        haltonfailure="off"
219
                        errorproperty="gvsig.tests.error"
220
                        failureproperty="gvsig.tests.failure">
221
                                <formatter type="brief" usefile="yes"/>
222
                                <classpath id="test-classpath"
223
                                        path="${build-test}:${build}:${eclipseClasspath}"/>
224
                                <test name="${TestSuite.Name}" outFile="${JUnitProjectResults}" />
225
                </gvSIG-junit>
226
                <!-- define these properties in case they are not already set -->
227
                <property name="gvsig.tests.error" value="false"/>
228
                <property name="gvsig.tests.failure" value="false"/>
229
                <if>
230
                        <and>
231
                                <equals arg1="${gvsig.tests.error}" arg2="false" />
232
                                <equals arg1="${gvsig.tests.failure}" arg2="false" />
233
                        </and>
234
                        <then>
235
                                <echo file="${JUnitSummaryFile}" append="true">JUnitTests for ${target.project.name}: SUCCESS.${line.separator}</echo>
236
                        </then>
237
                        <else>
238
                                <throw id="JUnitTestFailed" message="JUnitTestFailed"/>
239
                        </else>
240
                </if>
241
        </target>
242

    
243
        <target name="concat-test-output">
244
                <property name="target.project.dir" location="../${target.project.name}"/>
245
                <if>
246
                        <available file="${target.project.dir}" type="dir"/>
247
                        <then>
248
                                <echo append="yes" file="${JUnitGlobalResultsFile}">${line.separator}${line.separator} ===== Details for ${target.project.name}: =====${line.separator}</echo>
249
                                <concat  destfile="${JUnitGlobalResultsFile}.tmp"
250
                                                binary="true">
251
                                        <fileset file="${JUnitGlobalResultsFile}"/>
252
                                        <fileset file="${target.project.dir}/${JUnitProjectResultsFile}"/>
253
                                </concat>
254
                                <move file="${JUnitGlobalResultsFile}.tmp" tofile="${JUnitGlobalResultsFile}"/>
255
                                <delete file="${target.project.dir}/${JUnitProjectResultsFile}"/>
256
                        </then>
257
                </if>
258
        </target>
259

    
260
        <target name="compile-tests">
261
                <!-- Create the time stamp -->
262
                <tstamp/>
263
                <!-- Create the build directory structure used by compile -->
264
                <mkdir dir="${build-test}"/>
265
                <!-- Compile the Java code from ${src} to ${build} -->
266
                <loadEclipseClasspath project="${basedir}"/>
267
                <gvSIG-javac
268
                        srcdir="${src-test}"
269
                        destdir="${build-test}"
270
                        classpath="${eclipseClasspath}"/>
271
                <copy todir="${build-test}">
272
                        <fileset dir="${src-test}"
273
                                                excludes="**/*.java"/>
274
                </copy>
275
        </target>
276

    
277
</project>