Mercurial > hg > monetdb-java
view build.xml @ 925:4dfdb62e3e9d
Extend JDBC_API_Tester program with optional second startup argument '-skipMALoutput'.
This allows the JDBC_API_Tester program to be called to skip the comparing the MAL output of tests which return MAL output such as PLAN, EXPLAIN and TRACE statements.
It is intended for internal development use only.
author | Martin van Dinther <martin.van.dinther@monetdbsolutions.com> |
---|---|
date | Thu, 08 Aug 2024 15:26:28 +0200 (8 months ago) |
parents | e74154a1d4b2 |
children | d416e9b6b3d0 |
line wrap: on
line source
<?xml version="1.0"?><!-- vim:set ts=2 sw=2 expandtab: --> <!-- SPDX-License-Identifier: MPL-2.0 This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/. Copyright 2024 MonetDB Foundation; Copyright August 2008 - 2023 MonetDB B.V.; Copyright 1997 - July 2008 CWI. --> <!-- Build file to allow ant (http://ant.apache.org/) to be used to build the MonetDB Java packages, such as the JDBC driver. --> <project name="MonetDB_Java_Drivers" default="default" basedir="."> <!-- set global properties for this build --> <property name="srcdir" value="src/main/java" /> <property name="libdir" value="lib" /> <property name="jardir" value="jars" /> <property name="builddir" value="build" /> <property name="docdir" value="doc" /> <property name="jdbc-package" value="org/monetdb/jdbc" /> <property name="mcl-package" value="org/monetdb/mcl" /> <property name="client-package" value="org/monetdb/client" /> <property name="util-package" value="org/monetdb/util" /> <property name="mero-control-package" value="org/monetdb/merovingian" /> <property file="build.local.properties" /> <property file="build.properties" /> <!-- Update: cross-compile for JVM 8 (=1.8), profile compact2 2020-02-12, martin.van.dinther@monetdbsolutions.com --> <property name="jvm.version" value="8" /> <property name="jre.version" value="jre8" /> <property name="javac.flags" value="-source 8" /> <property name="javac.flags" value="-target 8" /> <property name="javac.flags" value="-profile compact2" /> <property name="javac.flags" value="-Xlint" /> <property name="jdbc-jar" value="${jardir}/monetdb-jdbc-${JDBC_MAJOR}.${JDBC_MINOR}.${jre.version}.jar" /> <property name="jdbcclient-jar" value="${jardir}/jdbcclient.${jre.version}.jar" /> <property name="jmonetdb-jar" value="${jardir}/jmonetdb.${jre.version}.jar" /> <property name="mero-control-jar" value="${jardir}/merocontrol.${jre.version}.jar" /> <!-- full target --> <target name="all"> <antcall target="distjdbc" /> <antcall target="distmerocontrol" /> <antcall target="doc" /> </target> <target name="distall"> <antcall target="distjdbc" /> <antcall target="distmerocontrol" /> </target> <target name="default"> <antcall target="jar_jdbcclient" /> <antcall target="jar_jmonetdb" /> </target> <target name="distjdbc"> <antcall target="jar_jdbc" /> <antcall target="jar_jdbcclient" /> </target> <target name="distmerocontrol"> <antcall target="jar_mero_control" /> </target> <!-- jar targets --> <target name="jar_jdbc" depends="compile_mcl,compile_jdbc" unless="uptodate.jdbc-jar"> <echo file="${builddir}/META-INF/services/java.sql.Driver" append="false">org.monetdb.jdbc.MonetDriver</echo> <jar jarfile="${jdbc-jar}"> <fileset dir="${builddir}"> <include name="META-INF/services/java.sql.Driver" /> <include name="${jdbc-package}/**/*.class" /> <include name="${mcl-package}/**/*.class" /> <include name="${util-package}/FileTransferHandler.class" /> </fileset> </jar> </target> <target name="jar_client" depends="compile_util,compile_client"> <jar jarfile="${jardir}/monetdb-clients.jar"> <fileset dir="${builddir}"> <include name="${client-package}/**/*.class" /> <include name="${util-package}/**/*.class" /> </fileset> </jar> </target> <!-- a convenience jar of jdbcclient command line program plus JDBC driver --> <target name="jar_jdbcclient" depends="compile_mcl,compile_jdbc,compile_util,compile_client" unless="uptodate.jdbcclient-jar"> <echo message="Building jdbcclient + JDBC driver convenience jar" /> <jar jarfile="${jdbcclient-jar}"> <fileset dir="${builddir}"> <include name="${client-package}/**/*.class" /> <include name="${util-package}/**/*.class" /> <include name="META-INF/services/java.sql.Driver" /> <include name="${jdbc-package}/**/*.class" /> <include name="${mcl-package}/**/*.class" /> </fileset> <manifest> <attribute name="Built-By" value="${user.name}" /> <attribute name="Main-Class" value="org.monetdb.client.JdbcClient" /> </manifest> </jar> </target> <!-- a convenience jar of MeroControl plus the JMonetDB utility --> <target name="jar_jmonetdb" depends="compile_mcl,compile_util,compile_mero_control,compile_client" unless="uptodate.jmonetdb-jar"> <echo message="Building MeroControl + JmonetDB convenience jar" /> <jar jarfile="${jmonetdb-jar}"> <fileset dir="${builddir}"> <include name="${mero-control-package}/**/*.class" /> <include name="${mcl-package}/**/*.class" /> <include name="${client-package}/JMonetDB.class" /> <include name="${util-package}/**/*.class" /> </fileset> <manifest> <attribute name="Built-By" value="${user.name}" /> <attribute name="Main-Class" value="org.monetdb.client.JMonetDB" /> </manifest> </jar> </target> <target name="jar_mero_control" depends="compile_mcl,compile_mero_control"> <jar jarfile="${mero-control-jar}"> <fileset dir="${builddir}"> <include name="${mero-control-package}/**/*.class" /> </fileset> <manifest> <attribute name="Built-By" value="${user.name}" /> </manifest> </jar> </target> <!-- compile targets --> <target name="compile_jdbc" depends="prepare,driver"> <echo message="Compiling JDBC driver" /> <javac classpath="${srcdir}" destdir="${builddir}" debug="${debug}" optimize="${optimize}" includeantruntime="false" source="${jvm.version}" target="${jvm.version}" > <src path="${srcdir}" /> <include name="${jdbc-package}/**/*.java" /> <include name="${util-package}/FileTransferHandler.java" /> <compilerarg line="${javac.flags}" /> </javac> </target> <target name="compile_mcl" depends="prepare,driver"> <echo message="Compiling MCL" /> <javac classpath="${srcdir}" srcdir="${srcdir}" destdir="${builddir}" debug="${debug}" optimize="${optimize}" includeantruntime="false" source="${jvm.version}" target="${jvm.version}" > <include name="${mcl-package}/**/*.java" /> <compilerarg line="${javac.flags}" /> </javac> </target> <target name="compile_client" depends="prepare"> <echo message="Compiling Clients" /> <javac classpath="${srcdir}" srcdir="${srcdir}" destdir="${builddir}" debug="${debug}" optimize="${optimize}" includeantruntime="false" source="${jvm.version}" target="${jvm.version}" > <include name="${client-package}/**/*.java" /> <compilerarg line="${javac.flags}" /> </javac> </target> <target name="compile_util" depends="prepare"> <echo message="Compiling Utilities" /> <javac classpath="${srcdir}" srcdir="${srcdir}" destdir="${builddir}" debug="${debug}" optimize="${optimize}" includeantruntime="false" source="${jvm.version}" target="${jvm.version}" > <include name="${util-package}/**/*.java" /> <compilerarg line="${javac.flags}" /> </javac> </target> <target name="compile_mero_control" depends="prepare"> <echo message="Compiling Merovingian Control library" /> <javac classpath="${srcdir}" srcdir="${srcdir}" destdir="${builddir}" debug="${debug}" optimize="${optimize}" includeantruntime="false" source="${jvm.version}" target="${jvm.version}" > <include name="${mero-control-package}/**/*.java" /> <compilerarg line="${javac.flags}" /> </javac> </target> <!-- This generates MonetVersion.java from its ".java.in" equivalent. It's required for importing the driver version properties. --> <target name="driver" depends="prepare" unless="uptodate.drivers"> <tstamp> <format property="TODAY" pattern="yyyyMMdd" /> </tstamp> <!-- Some defaults --> <filter token="JDBC_MAJOR" value="${JDBC_MAJOR}" /> <filter token="JDBC_MINOR" value="${JDBC_MINOR}" /> <filter token="JDBC_VER_SUFFIX" value="${JDBC_VER_SUFFIX} ${TODAY}" /> <fail unless="JDBC_MAJOR" message="'JDBC_MAJOR' undefined. Please follow the directions in build.properties."/> <fail unless="JDBC_MINOR" message="'JDBC_MINOR' undefined. Please follow the directions in build.properties."/> <fail unless="JDBC_VER_SUFFIX" message="'JDBC_VER_SUFFIX' undefined. Please follow the directions in build.properties."/> <!-- now copy and filter the file --> <copy file="${srcdir}/${jdbc-package}/MonetVersion.java.in" overwrite="true" tofile="${srcdir}/${jdbc-package}/MonetVersion.java" filtering="yes" /> <echo message="Configured build for the ${JDBC_MAJOR}.${JDBC_MINOR} (${JDBC_VER_SUFFIX}) edition driver" /> </target> <!-- Prepares the build directory and sets some variables --> <!-- checks whether regeneration of files is necessary --> <target name="prepare"> <condition property="debug" value="true"> <equals arg1="${enable_debug}" arg2="true" casesensitive="false" trim="true" /> </condition> <condition property="debug" value="false"> <not> <equals arg1="${enable_debug}" arg2="true" casesensitive="false" trim="true" /> </not> </condition> <condition property="optimize" value="true"> <equals arg1="${enable_optimize}" arg2="true" casesensitive="false" trim="true" /> </condition> <condition property="optimize" value="false"> <not> <equals arg1="${enable_optimize}" arg2="true" casesensitive="false" trim="true" /> </not> </condition> <uptodate targetfile="${jdbc-jar}" property="uptodate.jdbc-jar"> <srcfiles dir="${srcdir}"> <include name="${jdbc-package}/**/*.java" /> <include name="${mcl-package}/**/*.java" /> </srcfiles> </uptodate> <uptodate targetfile="${jdbcclient-jar}" property="uptodate.jdbcclient-jar"> <srcfiles dir="${srcdir}"> <include name="${client-package}/**/*.java" /> <include name="${jdbc-package}/**/*.java" /> <include name="${mcl-package}/**/*.java" /> </srcfiles> </uptodate> <uptodate targetfile="${jmonetdb-jar}" property="uptodate.jmonetdb-jar"> <srcfiles dir="${srcdir}"> <include name="${client-package}/**/*.java" /> <include name="${mero-control-package}/**/*.java" /> <include name="${mcl-package}/**/*.java" /> </srcfiles> </uptodate> <condition property="uptodate.drivers"> <and> <uptodate targetfile="${builddir}/src/${jdbc-package}/MonetVersion.java"> <srcfiles dir="${srcdir}"> <include name="build.properties" /> <include name="build.local.properties" /> <include name="${jdbc-package}/MonetVersion.java.in" /> <include name="${jdbc-package}/**/*.java" /> </srcfiles> </uptodate> </and> </condition> <mkdir dir="${builddir}" /> <mkdir dir="${jardir}" /> <echo message="Debug is ${debug}, optimise is ${optimize}" /> </target> <!-- This target removes the build, jar and doc directories --> <target name="clean"> <delete quiet="true" dir="${builddir}" /> <delete quiet="true" dir="${jardir}" /> <delete quiet="true" dir="${docdir}" /> </target> <!-- documentation target --> <target name="doc" depends="driver"> <javadoc destdir="${docdir}" author="false" version="false" use="true" windowtitle="MonetDB Java APIs"> <fileset dir="${srcdir}" defaultexcludes="yes"> <include name="${jdbc-package}/**/*.java" /> <include name="${mcl-package}/**/*.java" /> <include name="${client-package}/**/*.java" /> <include name="${util-package}/**/*.java" /> <include name="${mero-control-package}/**/*.java" /> </fileset> </javadoc> </target> </project>