Statistics
| Revision:

svn-gvsig-desktop / tags / v1_2_Build_1202 / binaries / ant / utilities.xml @ 43228

History | View | Annotate | Download (7.46 KB)

1 13236 jmvivo
<project name="ant_libs">
2
        <dirname file="${ant.file.ant_libs}" property="ant.file.ant_libs.dir"/>
3 13296 jmvivo
4
        <!--
5
                ====================================
6
                Compilation base properties
7
                ====================================
8
        -->
9 13236 jmvivo
        <property name="JUNIT_HOME" location="${ant.file.ant_libs.dir}" />
10 13272 jmvivo
        <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"/>
14
        <property name="encoding" value="ISO_8859_1"/>
15 13236 jmvivo
16 13296 jmvivo
17
18
19
        <!--
20
                ====================================
21
                ant4eclipse library load
22
                ====================================
23
        -->
24 13236 jmvivo
        <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 13296 jmvivo
31
32
33
        <!--
34
                ====================================
35
                ant-contrib library load
36
                ====================================
37
        -->
38 13236 jmvivo
        <taskdef resource="net/sf/antcontrib/antlib.xml">
39
                        <classpath>
40
                                <pathelement location="${ant.file.ant_libs.dir}/ant-contrib-1.0b3.jar"/>
41 13296 jmvivo
                                <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 13236 jmvivo
                        </classpath>
46
        </taskdef>
47 13296 jmvivo
48
49
50 13804 jmvivo
        <!--
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 13296 jmvivo
61
62 13804 jmvivo
63 13236 jmvivo
        <!--
64 13296 jmvivo
                ====================================
65
                utilities tasks alias
66
                ====================================
67
        -->
68 13236 jmvivo
69 13296 jmvivo
        <!--
70
        ** loadEclipseClasspath Task  **
71

72 13236 jmvivo
        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 13296 jmvivo
        Example:
79 13236 jmvivo

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 13296 jmvivo
        ** gvSIG-javac Task **
104 13236 jmvivo

105 13296 jmvivo
        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 13236 jmvivo
        -->
121 13296 jmvivo
        <presetdef name="gvSIG-javac">
122 13804 jmvivo
                        <javacLikeEclipse
123
                                srcdir="${src}"
124 13236 jmvivo
                                destdir="${build}"
125
                                source="${JavaSourceVersion}"
126
                                target="${JavaTargetVersion}"
127
                                debug="${debug}"
128
                                debuglevel="${debuglevel}"
129
                                sourcepath="${eclipseClasspath}"
130
                                encoding="${encoding}">
131 13804 jmvivo
                        </javacLikeEclipse>
132 13236 jmvivo
        </presetdef>
133
134 13296 jmvivo
        <!--
135 13804 jmvivo
        ** gvSIG-import-build-number Target **
136 13236 jmvivo

137 13296 jmvivo
        Automate import of build.number gvSIG file
138 13236 jmvivo

139 13296 jmvivo
        Example (minimal syntax):
140

141
        <antcall target="gvSIG-import-build-number"/>
142

143
        -->
144
145
        <target name="gvSIG-import-build-number">
146
                <!-- check buildNumberFile property -->
147
                <if>
148
                        <not>
149
                                <and>
150
                                        <isset property="buildNumberFile"/>
151
                                        <available file="${buildNumberFile}" type="file"/>
152
                                </and>
153
                        </not>
154
                        <then>
155 13526 cesar
                                <fail message="Error: property buildNumberFile not set or file not available: ${buildNumberFile}"/>
156 13296 jmvivo
                        </then>
157
                </if>
158
                <property name="localBuildNumberFile" value="${basedir}/build.number"/>
159
                <!-- copy the file if is needed-->
160
                <if>
161
                        <not>
162
                        <and>
163
                                <available file="${localBuildNumberFile}" type="file"/>
164
                                <filesmatch file1="${buildNumberFile}" file2="${localBuildNumberFile}"/>
165
                        </and>
166
                        </not>
167
                        <then>
168
                                <copy file="${buildNumberFile}" tofile="${localBuildNumberFile}" overwrite="true"/>
169
                        </then>
170
                </if>
171
        </target>
172
173 13341 cesar
        <!-- Declare Junit task -->
174
        <taskdef name="gvSIG-junit" classname="org.apache.tools.ant.taskdefs.optional.junit2.JUnitTask" onerror="fail">
175
                <classpath>
176 13351 cesar
                        <pathelement location="${ant.file.ant_libs.dir}/junit.jar"/>
177 13341 cesar
                        <pathelement location="${ant.file.ant_libs.dir}/gvsig-ant-junit.jar"/>
178
                </classpath>
179
        </taskdef>
180 13804 jmvivo
181 13341 cesar
        <target name="generic-run-tests">
182
                <!--
183
                        === Input Parameters ===
184
                        JUnitSummaryFile: File to log the success of the project
185
                        JUnitProjectResults: File to log the details of the JUnit execution
186
                        TestSuite.Name: Name of the TestSuite class to run
187 13804 jmvivo

188 13341 cesar
                        === Throws ====
189
                        JUnitTestFailed: If any of the tests failed
190
                -->
191
                <!-- define these properties in case they are not already set -->
192
                <property name="JUnitProjectResults" value="JUnitProjectResults"/>
193
                <property name="JUnitProjectResultsFile" value="JUnitProjectResults.txt"/>
194
                <property name="JUnitGlobalResults" value="JUnitGlobalResults"/>
195
                <property name="JUnitGlobalResultsFile" value="JUnitGlobalResults.txt"/>
196
                <property name="JUnitSummaryFile" location="JUnitSummary.txt"/>
197
                <loadEclipseClasspath project="${basedir}"/>
198
                <property name="test-classpath" value="${build-test}:${build}:${eclipseClasspath}"/>
199
                <gvSIG-junit
200
                        fork="yes"
201
                        dir="${basedir}"
202
                        printsummary="on"
203
                        haltonfailure="off"
204
                        errorproperty="gvsig.tests.error"
205
                        failureproperty="gvsig.tests.failure">
206
                                <formatter type="brief" usefile="yes"/>
207
                                <classpath id="test-classpath"
208
                                        path="${build-test}:${build}:${eclipseClasspath}"/>
209
                                <test name="${TestSuite.Name}" outFile="${JUnitProjectResults}" />
210
                </gvSIG-junit>
211
                <!-- define these properties in case they are not already set -->
212
                <property name="gvsig.tests.error" value="false"/>
213
                <property name="gvsig.tests.failure" value="false"/>
214
                <if>
215
                        <and>
216
                                <equals arg1="${gvsig.tests.error}" arg2="false" />
217
                                <equals arg1="${gvsig.tests.failure}" arg2="false" />
218
                        </and>
219
                        <then>
220 13422 cesar
                                <echo file="${JUnitSummaryFile}" append="true">JUnitTests for ${target.project.name}: SUCCESS.${line.separator}</echo>
221 13341 cesar
                        </then>
222
                        <else>
223
                                <throw id="JUnitTestFailed" message="JUnitTestFailed"/>
224
                        </else>
225
                </if>
226
        </target>
227 13804 jmvivo
228 13341 cesar
        <target name="concat-test-output">
229
                <property name="target.project.dir" location="../${target.project.name}"/>
230 13526 cesar
                <if>
231
                        <available file="${target.project.dir}" type="dir"/>
232
                        <then>
233
                                <echo append="yes" file="${JUnitGlobalResultsFile}">${line.separator}${line.separator} ===== Details for ${target.project.name}: =====${line.separator}</echo>
234
                                <concat  destfile="${JUnitGlobalResultsFile}.tmp"
235
                                                binary="true">
236
                                        <fileset file="${JUnitGlobalResultsFile}"/>
237
                                        <fileset file="${target.project.dir}/${JUnitProjectResultsFile}"/>
238
                                </concat>
239
                                <move file="${JUnitGlobalResultsFile}.tmp" tofile="${JUnitGlobalResultsFile}"/>
240
                                <delete file="${target.project.dir}/${JUnitProjectResultsFile}"/>
241
                        </then>
242
                </if>
243 13341 cesar
        </target>
244 13804 jmvivo
245 13422 cesar
        <target name="compile-tests">
246
                <!-- Create the time stamp -->
247
                <tstamp/>
248
                <!-- Create the build directory structure used by compile -->
249
                <mkdir dir="${build-test}"/>
250
                <!-- Compile the Java code from ${src} to ${build} -->
251
                <loadEclipseClasspath project="${basedir}"/>
252
                <gvSIG-javac
253
                        srcdir="${src-test}"
254
                        destdir="${build-test}"
255
                        classpath="${eclipseClasspath}"/>
256
                <copy todir="${build-test}">
257 13526 cesar
                        <fileset dir="${src-test}"
258 13422 cesar
                                                excludes="**/*.java"/>
259
                </copy>
260
        </target>
261 13804 jmvivo
262 13236 jmvivo
</project>