forked from gmantele/vollt
-
Notifications
You must be signed in to change notification settings - Fork 0
/
buildADQL.xml
88 lines (71 loc) · 4.42 KB
/
buildADQL.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE project>
<project name="adql" basedir="." default="buildLib">
<property name="version" value="1.3" />
<property name="srcDir" value="src" />
<property name="compileDir" value="antBuild" />
<property name="classesDir" value="${compileDir}"/>
<property name="javadocDir" value="javadoc/adql" />
<property name="adqlPath" value="adql/**" />
<property name="utilsPath" value="cds/utils/**" />
<property name="licensePath" value="COPYING.LESSER.txt" />
<property name="includesList" value="${adqlPath},${utilsPath},${licensePath}" />
<property name="jarDest" value="dist" />
<property name="libJarFile" value="${jarDest}/adql_${version}.jar" />
<property name="adqlParserJarFile" value="${jarDest}/adqlParser_${version}.jar" />
<property name="srcJarFile" value="${jarDest}/adql_src_${version}.jar" />
<property name="javadocJarFile" value="${jarDest}/adql_javadoc_${version}.jar" />
<property name="adqlParserLink" value="adqlParser.jar" />
<echo>ADQL LIBRARY VERSION = ${version}</echo>
<!-- BUILD ALL TASK -->
<target name="buildAll" depends="buildLibAndSrc,buildJavadoc"
description="Build four JARs: the library (classes), the runnable ADQL parser, its sources and its Javadoc. Then, except the JAR, all the compiled javadoc files are deleted." >
<antcall target="cleanJavadocBuild" />
</target>
<target name="cleanAll" depends="clean,cleanJavadoc" description="Delete all files generated by this ANT file for the set version." />
<!-- LIB & SOURCES -->
<target name="clean" description="Delete the JARs for the library (classes), the runnable ADQL parser and for its sources for the set version.">
<delete file="${libJarFile}" failonerror="false" />
<delete file="${srcJarFile}" failonerror="false" />
<delete file="${adqlParserJarFile}" failonerror="false" />
<symlink action="delete" link="${adqlParserLink}" failonerror="false" />
<delete dir="${compileDir}" failonerror="false" />
</target>
<target name="compileLib" depends="clean" description="Build all the classes of the ADQL library. This target is particularly usefull because it lets highlighting missing dependencies.">
<mkdir dir="${compileDir}" />
<javac destdir="${compileDir}" srcdir="${srcDir}" includes="${includesList}" includeantruntime="false" />
</target>
<target name="buildLib" depends="compileLib" description="After 'clean', build the library JAR (only classes) and the runnable ADQL parser.">
<echo>Generate the library:</echo>
<jar basedir="${classesDir}" destfile="${libJarFile}" includes="${includesList}" />
<echo>Generate the ADQL parser:</echo>
<jar basedir="${classesDir}" destfile="${adqlParserJarFile}" filesetmanifest="mergewithoutmain" includes="${includesList}">
<manifest>
<attribute name="Main-Class" value="adql.parser.ADQLParser"/>
<attribute name="Class-Path" value="."/>
</manifest>
</jar>
<echo>And its symbolic link:</echo>
<symlink action="single" link="${adqlParserLink}" resource="${adqlParserJarFile}" failonerror="false" />
<echo>Delete compiled classes:</echo>
<delete dir="${compileDir}" failonerror="true" />
</target>
<target name="buildLibAndSrc" depends="buildLib" description="After 'clean' and 'buildLib', build the sources JAR (only .java).">
<jar compress="false" baseDir="${srcDir}" destfile="${srcJarFile}" includes="${includesList}" />
</target>
<!-- JAVADOC -->
<target name="cleanJavadocBuild" description="Delete the whole generated/compiled Javadoc directory.">
<delete dir="${javadocDir}" failonerror="false" />
</target>
<target name="cleanJavadoc" depends="cleanJavadocBuild" description="Delete the Javadoc JAR AND the whole generated/compiled Javadoc directory.">
<delete file="${jarDest}/${javadocJarFile}" failonerror="false" />
</target>
<target name="compileJavadoc" depends="cleanJavadoc" description="After 'cleanJavadoc', compile the whole Javadoc.">
<javadoc access="protected" author="true" classpath="." destdir="${javadocDir}" nodeprecated="false" nodeprecatedlist="false" noindex="false" nonavbar="false" notree="false" source="1.7" splitindex="true" use="true" version="true">
<packageset dir="${srcDir}" includes="${includesList}" />
</javadoc>
</target>
<target name="buildJavadoc" depends="compileJavadoc" description="After 'compileJavadoc', build the Javadoc JAR.">
<jar destfile="${javadocJarFile}" basedir="${javadocDir}" />
</target>
</project>