Commit 843c9960 authored by gmantele's avatar gmantele
Browse files

Merge branch 'master' into objectPosition

parent d648f48b
Loading
Loading
Loading
Loading
+9 −5
Original line number Diff line number Diff line
@@ -33,14 +33,18 @@ Each library has its own package (`adql` for ADQL, `uws` for UWS and `tap` for T

### Dependencies
Below are summed up the dependencies of each library:
* ADQL: `adql`, `cds.utils`
* UWS: `uws`, `org.json`
* TAP: `adql`, `uws`, `cds.*`, `org.json`
* ADQL: `adql`, `cds.utils`, `org.postgresql` *(for adql.translator.PgSphereTranslator only)*
* UWS: `uws`, `org.json`, HTTP Multipart lib. (`com.oreilly.servlet`)
* TAP: `adql`, `uws`, `cds.*`, `org.json`, `org.postgresql` *(for adql.translator.PgSphereTranslator only)*, HTTP Multipart lib. (`com.oreilly.servlet`), STIL (`nom.tap`, `org.apache.tools.bzip2`, `uk.ac.starlink`)

In the `lib` directory, you will find 2 JAR files:
* `cos-1.5beta.jar` to deal with HTTP multipart requests
* `stil3.0-5.jar` for [STIL](http://www.star.bris.ac.uk/~mbt/stil/) (VOTable and other formats support)

### ANT scripts
At the root of the repository, there are 3 ANT scripts. Each is dedicated to one library. They are able to generate JAR for sources, binaries and Javadoc.

3 properties must be set before using one of these scripts:
* `CATALINA`: a path toward a JAR or a binary directory containing org.apache.catalina.connector.ClientAbortException.class
* `POSTGRES`: a path toward a JAR or a binary directory containing all org.postgresql.* - [https://jdbc.postgresql.org/download.html](JDBC Postgres driver) - **(ONLY for ADQL and TAP if you want to keep adql.translator.PgSphereTranslator)**
* `SERVLET-API`: a path toward a JAR or a binary directory containing all javax.servlet.*
* (`JUNIT-API` *not required before the version 2.0 of the tap library*: a path toward one or several JARs or binary directories containing all classes to use JUnit.)
* (`JUNIT-API` *not required before the version 2.0 of the tap library OR if you are not interested by the `test` directory (JUnit tests)*: a path toward one or several JARs or binary directories containing all classes to use JUnit.)
+56 −8
Original line number Diff line number Diff line
@@ -2,7 +2,7 @@
<!DOCTYPE project>
<project name="adql" basedir="." default="buildLib">
	
	<property name="version" value="1.2" />
	<property name="version" value="1.3" />

	<property name="srcDir" value="src" />
	<property name="compileDir" value="antBuild" />
@@ -11,7 +11,7 @@
	
	<property name="adqlPath" value="adql/**" />
	<property name="utilsPath" value="cds/utils/**" />
	<property name="licensePath" value="COPYING.LESSER.txt" />
	<property name="licensePath" value="COPYING.LESSER" />
	<property name="includesList" value="${adqlPath},${utilsPath},${licensePath}" />

	<property name="jarDest" value="." />
@@ -22,6 +22,33 @@
	
	<property name="adqlParserLink" value="adqlParser.jar" />
	
	<property name="testsDir" value="test" />
	<property name="junitReportsDir" value="reports/adql" />
	
	<fail message="The property POSTGRES must be set! It provides the path toward a directory or a JAR which contains all classes inside org.postgresql.">
		<condition><not><isset property="POSTGRES"/></not></condition>
	</fail>
	
	<fail message="The property SERVLET-API must be set! It provides the path toward a directory or a JAR which contains all classes inside javax.servlet.">
		<condition><not><isset property="SERVLET-API"/></not></condition>
	</fail>
	
	<fail message="The property JUNIT-API must be set! It provides the path toward a directory or a JAR which contains all classes needed to use JUnit.">
		<condition><not><isset property="JUNIT-API"/></not></condition>
	</fail>
	
	<!-- CLASSPATHS -->
	<path id="adql.classpath">
		<pathelement location="${POSTGRES}" />
	</path>
	
	<path id="junit.class.path">
		<path refid="adql.classpath" />
		<pathelement path="${JUNIT-API}" />
		<pathelement location="bin" />
	</path>
	
	<!-- START -->
	<echo>ADQL LIBRARY VERSION = ${version}</echo>
	
	<!-- BUILD ALL TASK -->
@@ -30,7 +57,24 @@
		<antcall target="cleanJavadocBuild" />
	</target>
	
	<target name="cleanAll" depends="clean,cleanJavadoc" description="Delete all files generated by this ANT file for the set version." />
	<target name="cleanAll" depends="clean,cleanJUnitReports,cleanJavadoc" description="Delete all files generated by this ANT file for the set version." />
	
	<!-- JUNIT VALIDATION -->
	<target name="cleanJUnitReports" description="Clean the JUnit reports directory of the ADQL library ONLY.">
			<delete dir="${junitReportsDir}" failonerror="false" />
	</target>
	
	<target name="junitValidation" depends="cleanJUnitReports" description="Executes all JUnit tests before building the library and stop ANT at any error.">
		<mkdir dir="${junitReportsDir}"/>
		<junit errorproperty="adqlTestsFailure" failureproperty="adqlTestsFailure">
			<classpath refid="junit.class.path" />
			<formatter type="brief" usefile="yes" />
			<batchtest todir="${junitReportsDir}">
				<fileset dir="${testsDir}" includes="adql/**/Test*.java" />
			</batchtest>
		</junit>
		<fail if="${adqlTestsFailure}" message="Failed JUnit validation for ADQL Lib.!" />
	</target>
			
	<!-- 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.">
@@ -41,9 +85,11 @@
		<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.">
	<target name="compileLib" depends="clean,junitValidation" 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" />
		<javac destdir="${compileDir}" srcdir="${srcDir}" includes="${includesList}" includeantruntime="false" encoding="utf8" bootclasspath="${adql.bootclasspath}">
			<classpath refid="adql.classpath" />
		</javac>
	</target>
	
	<target name="buildLib" depends="compileLib" description="After 'clean', build the library JAR (only classes) and the runnable ADQL parser.">
@@ -63,7 +109,9 @@
	</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}" />
		<jar compress="false" destfile="${srcJarFile}">
			<zipfileset dir="${srcDir}" includes="${includesList},${licensePath}" prefix="${srcDir}" />
		</jar>
	</target>
	
	<!-- JAVADOC -->
@@ -76,7 +124,7 @@
	</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">
		<javadoc encoding="utf-8" charset="utf-8" docencoding="utf-8" 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>
+86 −18
Original line number Diff line number Diff line
@@ -2,39 +2,68 @@
<!DOCTYPE project>
<project name="tap" basedir="." default="buildLib">
	
	<property name="version" value="1.1b" />
	<property name="version" value="2.0beta" />

	<property name="srcDir" value="src" />
	<property name="libDir" value="lib" />
	<property name="compileDir" value="antBuild" />
	<property name="classesDir" value="${compileDir}"/>
	<property name="javadocDir" value="javadoc/tap" />

	<property name="uploadUtilsJar" value="lib/uploadUtils.jar" />
	<property name="cosJarName" value="cos-1.5beta.jar" />
	<property name="cosJar" value="${libDir}/${cosJarName}" />
	<property name="stilJarName" value="stil_3.0-11.jar" />
	<property name="stilJar" value="${libDir}/${stilJarName}" />
		
	<property name="tapPath" value="tap/**,adql/**,uws/**,cds/**" />
	<property name="jsonPath" value="org/json/**" />
	<property name="uploadUtilsPath" value="com/oreilly/servlet/**,org/kxml2/**,org/xmlpull/**" />
	<property name="licensePath" value="COPYING.LESSER.txt" />
	<property name="includesList" value="${tapPath},${jsonPath},${uploadUtilsPath},${licensePath}" />
	<property name="extLibsPath" value="com/oreilly/servlet/**,nom/tam/**,org/apache/tools/bzip2/**,uk/ac/starlink/**" />
	<property name="licensePath" value="COPYING.LESSER" />
	<property name="includesList" value="${tapPath},${jsonPath},${extLibsPath}" />

	<property name="jarDest" value="." />
	<property name="libJarFile" value="${jarDest}/tap_${version}.jar" />
	<property name="srcJarFile" value="${jarDest}/tap_src_${version}.jar" />
	<property name="javadocJarFile" value="${jarDest}/tap_javadoc_${version}.jar" />
	
	<fail message="Missing property: CATALINA ! It provides the path toward a directory or a JAR which contains the following class: org.apache.catalina.connector.ClientAbortException.">
		<condition><not><isset property="CATALINA"/></not></condition>
	<property name="testsDir" value="test" />
	<property name="adqlJunitReportsDir" value="reports/adql" />
	<property name="uwsJunitReportsDir" value="reports/uws" />
	<property name="tapJunitReportsDir" value="reports/tap" />
	
	<fail message="The property POSTGRES must be set! It provides the path toward a directory or a JAR which contains all classes inside org.postgresql.">
		<condition><not><isset property="POSTGRES"/></not></condition>
	</fail>
	
	<fail message="The property SERVLET-API must be set! It provides the path toward a directory or a JAR which contains all classes inside javax.servlet.">
		<condition><not><isset property="SERVLET-API"/></not></condition>
	</fail>
	
	<fail message="The property JUNIT-API must be set! It provides the path toward a directory or a JAR which contains all classes needed to use JUnit.">
		<condition><not><isset property="JUNIT-API"/></not></condition>
	</fail>

	<fail message="The property JNDI-API must be set! It provides the path toward a directory or a JAR which contains all classes needed to use Simple-JNDI.">
		<condition><not><isset property="JNDI-API"/></not></condition>
	</fail>
	

	<!-- CLASSPATHS -->
	<path id="tap.classpath">
		<pathelement location="${uploadUtilsJar}" />
		<pathelement location="${CATALINA}" />
		<pathelement location="${cosJar}" />
		<pathelement location="${jsonJar}" />
		<pathelement location="${stilJar}" />
		<pathelement location="${POSTGRES}" />
		<pathelement location="${SERVLET-API}" />
	</path>
	
	<path id="junit.class.path">
		<path refid="tap.classpath" />
		<pathelement path="${JNDI-API}" />
		<pathelement path="${JUNIT-API}" />
		<pathelement location="bin" />
	</path>
	
	<echo>TAP LIBRARY VERSION = ${version}</echo>
	
	<!-- BUILD ALL TASK -->
@@ -43,7 +72,34 @@
		<antcall target="cleanJavadocBuild" />
	</target>
	
	<target name="cleanAll" depends="clean,cleanJavadoc" description="Delete all files generated by this ANT file for the set version." />
	<target name="cleanAll" depends="clean,cleanJavadoc,cleanJUnitReports" description="Delete all files generated by this ANT file for the set version." />
	
	<!-- JUNIT VALIDATION -->
	<target name="cleanJUnitReports" description="Clean the JUnit reports directory of the ADQL, UWS and TAP library ONLY.">
		<delete dir="${adqlJunitReportsDir}" failonerror="false" />
		<delete dir="${uwsJunitReportsDir}" failonerror="false" />
		<delete dir="${tapJunitReportsDir}" failonerror="false" />
	</target>
	
	<target name="junitValidation" depends="cleanJUnitReports" description="Executes all JUnit tests before building the library and stop ANT at any error.">
		<mkdir dir="${adqlJunitReportsDir}"/>
		<mkdir dir="${uwsJunitReportsDir}"/>
		<mkdir dir="${tapJunitReportsDir}"/>
		<junit errorproperty="testsFailure" failureproperty="testsFailure">
			<classpath refid="junit.class.path" />
			<formatter type="brief" usefile="yes" />
			<batchtest todir="${adqlJunitReportsDir}">
				<fileset dir="${testsDir}" includes="adql/**/Test*.java" />
			</batchtest>
			<batchtest todir="${uwsJunitReportsDir}">
				<fileset dir="${testsDir}" includes="uws/**/Test*.java" />
			</batchtest>
			<batchtest todir="${tapJunitReportsDir}">
				<fileset dir="${testsDir}" includes="tap/**/Test*.java" />
			</batchtest>
		</junit>
		<fail if="${testsFailure}" message="Failed JUnit validation for ADQL, UWS or TAP Lib.!" />
	</target>
			
	<!-- LIB & SOURCES -->
	<target name="clean" description="Delete the JARs for the library (classes) and for its sources for the set version.">
@@ -52,9 +108,9 @@
		<delete dir="${compileDir}" failonerror="false" />
	</target>
	
	<target name="compileLib" depends="clean" description="Build all the classes of the TAP library. This target is particularly usefull because it lets highlighting missing dependencies.">
	<target name="compileLib" depends="clean,junitValidation" description="Build all the classes of the TAP library. This target is particularly usefull because it lets highlighting missing dependencies.">
		<mkdir dir="${compileDir}" />
		<javac destdir="${compileDir}" srcdir="${srcDir}" includes="${includesList}" includeantruntime="false">
		<javac destdir="${compileDir}" srcdir="${srcDir}" includes="${includesList}" includeantruntime="false" encoding="utf8">
			<classpath refid="tap.classpath" />
		</javac>
	</target>
@@ -62,14 +118,26 @@
	<target name="buildLib" depends="compileLib" description="After 'clean', build the library JAR (only classes).">
		<echo>Generate the library:</echo>
		<jar basedir="${classesDir}" destfile="${libJarFile}" includes="${includesList}">
			<zipfileset src="${uploadUtilsJar}" excludes="META-INF/*" />
			<zipfileset src="${cosJar}" excludes="META-INF/*" />
			<zipfileset src="${stilJar}" excludes="META-INF/*" />
			<zipfileset dir="src" includes="${licensePath}" />
		</jar>
		<jar basedir="${classesDir}" destfile="${libJarFile}2" includes="${includesList}">
			<zipfileset src="${cosJar}" excludes="META-INF/*" />
			<zipfileset dir="src" includes="${licensePath}" />
		</jar>
		<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}">
			<fileset file="${uploadUtilsJar}" />
		<jar compress="false" destfile="${srcJarFile}">
			<zipfileset dir="${srcDir}" includes="${includesList},${licensePath}" prefix="${srcDir}" />
			<zipfileset dir="${libDir}" includes="${cosJarName}" fullPath="${cosJar}" />
			<zipfileset dir="${libDir}" includes="${stilJarName}" fullPath="${stilJar}" />
		</jar>
		<jar compress="false" destfile="${srcJarFile}2">
			<zipfileset dir="${srcDir}" includes="${includesList},${licensePath}" prefix="${srcDir}" />
			<zipfileset dir="${libDir}" includes="${cosJarName}" fullPath="${cosJar}" />
		</jar>
	</target>
	
@@ -83,7 +151,7 @@
	</target>
	
	<target name="compileJavadoc" depends="cleanJavadoc" description="After 'cleanJavadoc', compile the whole Javadoc.">
		<javadoc access="protected" author="true" destdir="${javadocDir}" nodeprecated="false" nodeprecatedlist="false" noindex="false" nonavbar="false" notree="false" source="1.7" splitindex="true" use="true" version="true">
		<javadoc encoding="utf-8" charset="utf-8" docencoding="utf-8" access="protected" author="true" 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}" />
			<classpath refid="tap.classpath" />
		</javadoc>
+50 −15
Original line number Diff line number Diff line
@@ -2,35 +2,47 @@
<!DOCTYPE project>
<project name="uws" basedir="." default="buildLib">
	
	<property name="version" value="4.1b" />
	<property name="version" value="4.1" />

	<property name="srcDir" value="src" />
	<property name="libDir" value="lib" />
	<property name="compileDir" value="antBuild" />
	<property name="classesDir" value="${compileDir}"/>
	<property name="javadocDir" value="javadoc/uws" />

	<property name="cosJarName" value="cos-1.5beta.jar" />
	<property name="cosJar" value="${libDir}/${cosJarName}" />
	
	<property name="uwsPath" value="uws/**" />
	<property name="jsonPath" value="org/json/**" />
	<property name="licensePath" value="COPYING.LESSER.txt" />
	<property name="includesList" value="${uwsPath},${jsonPath},${licensePath}" />
	<property name="licensePath" value="COPYING.LESSER" />
	<property name="extLibsPath" value="com/oreilly/servlet/**" />
	<property name="includesList" value="${uwsPath},${jsonPath},${extLibsPath}" />

	<property name="jarDest" value="." />
	<property name="libJarFile" value="${jarDest}/uws_${version}.jar" />
	<property name="srcJarFile" value="${jarDest}/uws_src_${version}.jar" />
	<property name="javadocJarFile" value="${jarDest}/uws_javadoc_${version}.jar" />
	
	<fail message="Missing property: CATALINA ! It provides the path toward a directory or a JAR which contains the following class: org.apache.catalina.connector.ClientAbortException.">
		<condition><not><isset property="CATALINA"/></not></condition>
	</fail>
	<property name="testsDir" value="test" />
	<property name="junitReportsDir" value="reports/uws" />
	
	<fail message="The property SERVLET-API must be set! It provides the path toward a directory or a JAR which contains all classes inside javax.servlet.">
		<condition><not><isset property="SERVLET-API"/></not></condition>
	</fail>

	<!-- CLASSPATHS -->
	<path id="uws.classpath">
		<pathelement location="${CATALINA}" />
		<pathelement location="${cosJar}" />
		<pathelement location="${SERVLET-API}" />
	</path>
	
	<path id="junit.class.path">
		<path refid="uws.classpath" />
		<pathelement path="${JUNIT-API}" />
		<pathelement location="bin" />
	</path>
	
	<echo>UWS LIBRARY VERSION = ${version}</echo>
	
	<!-- BUILD ALL TASK -->
@@ -39,7 +51,24 @@
		<antcall target="cleanJavadocBuild" />
	</target>
	
	<target name="cleanAll" depends="clean,cleanJavadoc" description="Delete all files generated by this ANT file for the set version." />
	<target name="cleanAll" depends="clean,cleanJavadoc,cleanJUnitReports" description="Delete all files generated by this ANT file for the set version." />
	
	<!-- JUNIT VALIDATION -->
	<target name="cleanJUnitReports" description="Clean the JUnit reports directory of the UWS library ONLY.">
			<delete dir="${junitReportsDir}" failonerror="false" />
	</target>
	
	<target name="junitValidation" depends="cleanJUnitReports" description="Executes all JUnit tests before building the library and stop ANT at any error.">
		<mkdir dir="${junitReportsDir}"/>
		<junit errorproperty="uwsTestsFailure" failureproperty="uwsTestsFailure">
			<classpath refid="junit.class.path" />
			<formatter type="brief" usefile="yes" />
			<batchtest todir="${junitReportsDir}">
				<fileset dir="${testsDir}" includes="uws/**/Test*.java" />
			</batchtest>
		</junit>
		<fail if="${uwsTestsFailure}" message="Failed JUnit validation for UWS Lib.!" />
	</target>
			
	<!-- LIB & SOURCES -->
	<target name="clean" description="Delete the JARs for the library (classes) and for its sources for the set version.">
@@ -48,21 +77,27 @@
		<delete dir="${compileDir}" failonerror="false" />
	</target>
	
	<target name="compileLib" depends="clean" description="Build all the classes of the UWS library. This target is particularly usefull because it lets highlighting missing dependencies.">
	<target name="compileLib" depends="clean,junitValidation" description="Build all the classes of the UWS library. This target is particularly usefull because it lets highlighting missing dependencies.">
		<mkdir dir="${compileDir}" />
		<javac destdir="${compileDir}" srcdir="${srcDir}" includes="${includesList}" includeantruntime="false">
		<javac destdir="${compileDir}" srcdir="${srcDir}" includes="${includesList}" includeantruntime="false" encoding="utf8">
			<classpath refid="uws.classpath" />
		</javac>
	</target>
	
	<target name="buildLib" depends="compileLib" description="After 'clean', build the library JAR (only classes).">
		<echo>Generate the library:</echo>
		<jar basedir="${classesDir}" destfile="${libJarFile}" includes="${includesList}" />
		<jar basedir="${classesDir}" destfile="${libJarFile}" includes="${includesList}">
			<zipfileset src="${cosJar}" excludes="META-INF/*" />
			<zipfileset dir="src" includes="${licensePath}" />
		</jar>
		<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}" />
		<jar compress="false" destfile="${srcJarFile}">
			<zipfileset dir="${srcDir}" includes="${includesList},${licensePath}" prefix="${srcDir}" />
			<zipfileset dir="${libDir}" includes="${cosJarName}" fullPath="${cosJar}" />
		</jar>
	</target>
	
	<!-- JAVADOC -->
@@ -75,7 +110,7 @@
	</target>
	
	<target name="compileJavadoc" depends="cleanJavadoc" description="After 'cleanJavadoc', compile the whole Javadoc.">
		<javadoc access="protected" author="true" destdir="${javadocDir}" nodeprecated="false" nodeprecatedlist="false" noindex="false" nonavbar="false" notree="false" source="1.7" splitindex="true" use="true" version="true">
		<javadoc encoding="utf-8" charset="utf-8" docencoding="utf-8" access="protected" author="true" 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}" />
			<classpath refid="uws.classpath" />
		</javadoc>

lib/cos-1.5beta.jar

0 → 100644
+59.9 KiB

File added.

No diff preview for this file type.

Loading