Changeset: 342fc48c95cd for monetdb-java
URL: https://dev.monetdb.org/hg/monetdb-java/rev/342fc48c95cd
Added Files:
build_jre17.xml
Modified Files:
Makefile
build.xml
Branch: default
Log Message:
Extend makefile with targets: jre17jars and testsjar
diffs (truncated from 442 to 300 lines):
diff --git a/Makefile b/Makefile
--- a/Makefile
+++ b/Makefile
@@ -2,9 +2,17 @@ all: src/main/java/org/monetdb/jdbc/Mone
ant -f build.xml distjdbc distmerocontrol
cd tests; ant -f build.xml jar_jdbctests
+jre17jars: src/main/java/org/monetdb/jdbc/MonetDriver.java
+ rm -rf build
+ ant -f build_jre17.xml distjdbc
+ rm -rf build
+
src/main/java/org/monetdb/jdbc/MonetDriver.java: build.properties
src/main/java/org/monetdb/jdbc/MonetDriver.java.in
. ./build.properties; sed -e
"s/@JDBC_MAJOR@/$$JDBC_MAJOR/g;s/@JDBC_MINOR@/$$JDBC_MINOR/g;s/@JDBC_VER_SUFFIX@/$$JDBC_VER_SUFFIX
$$buildno/g;s/@JDBC_DEF_PORT@/$$JDBC_DEF_PORT/g"
src/main/java/org/monetdb/jdbc/MonetDriver.java.in >
src/main/java/org/monetdb/jdbc/MonetDriver.java
+testsjar:
+ cd tests; ant -f build.xml jar_jdbctests
+
doc:
ant -f build.xml doc
diff --git a/build.xml b/build.xml
--- a/build.xml
+++ b/build.xml
@@ -36,21 +36,11 @@ Copyright 1997 - July 2008 CWI, August 2
<property file="build.local.properties" />
<property file="build.properties" />
- <!--
-
- Cross-compile for JVM 1.5 ("Java 5"). This allows the driver to work with
older java installations.
- see also https://blogs.oracle.com/darcy/entry/bootclasspath_older_source for
details on the error message w.r.t rt.jar
- to get around this issue, the -Xlint:-options compiler option has also been
addded.
- 2013-04-17, [email protected]
-
- Update: cross-compile for JVM 1.7 since 1.5 and 1.6 are both long
- since EOL.
- 2015-07-16, [email protected]
-
+ <!--
Update: cross-compile for JVM 8 (=1.8), profile compact2
2020-02-12, [email protected]
+ -->
- -->
<property name="jvm.version" value="8" />
<property name="jre.version" value="jre8" />
<property name="javac.flags" value="-source 8" />
diff --git a/build_jre17.xml b/build_jre17.xml
new file mode 100644
--- /dev/null
+++ b/build_jre17.xml
@@ -0,0 +1,389 @@
+<?xml version="1.0"?><!-- vim:set ts=2 sw=2 expandtab: -->
+
+<!--
+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 1997 - July 2008 CWI, August 2008 - 2023 MonetDB B.V.
+-->
+
+<!--
+ 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" />
+
+ <!-- old nl/cwi/monetdb packages for some deprecated classes as of nov2020
-->
+ <property name="nl-cwi-jdbc-package" value="nl/cwi/monetdb/jdbc" />
+ <property name="nl-cwi-mcl-package" value="nl/cwi/monetdb/mcl" />
+ <property name="nl-cwi-client-package" value="nl/cwi/monetdb/client" />
+
+ <property file="build.local.properties" />
+ <property file="build.properties" />
+
+ <!--
+ Update: cross-compile for JVM 8 (=1.8), profile compact2
+ 2020-02-12, [email protected]
+
+ Update: cross-compile for JVM 17, profile compact2
+ 2023-03-08, [email protected]
+ -->
+
+ <property name="jvm.version" value="17" />
+ <property name="jre.version" value="jre17" />
+ <property name="javac.flags" value="-source 17" />
+ <property name="javac.flags" value="-target 17" />
+ <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="mcl-jar"
+ value="${jardir}/monetdb-mcl-${MCL_MAJOR}.${MCL_MINOR}.${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="${nl-cwi-jdbc-package}/MonetDriver.class" />
+ <include name="${nl-cwi-jdbc-package}/types/*.class" />
+ <include name="${mcl-package}/**/*.class" />
+ <include name="${nl-cwi-mcl-package}/net/MapiSocket.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="${nl-cwi-client-package}/JdbcClient.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="${nl-cwi-client-package}/JdbcClient.class" />
+ <include name="${util-package}/**/*.class" />
+ <include name="META-INF/services/java.sql.Driver" />
+ <include name="${jdbc-package}/**/*.class" />
+ <include name="${nl-cwi-jdbc-package}/MonetDriver.class" />
+ <include name="${nl-cwi-jdbc-package}/types/*.class" />
+ <include name="${mcl-package}/**/*.class" />
+ <include name="${nl-cwi-mcl-package}/net/MapiSocket.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="${nl-cwi-jdbc-package}/MonetDriver.java" />
+ <include name="${nl-cwi-jdbc-package}/types/*.java" />
+ <include name="${nl-cwi-mcl-package}/net/MapiSocket.java" />
+ <include name="${util-package}/FileTransferHandler.java" />
+ <compilerarg line="${javac.flags}" />
+ </javac>
+ </target>
+
+ <target name="compile_mcl" depends="prepare">
+ <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" />
+ <include name="${nl-cwi-mcl-package}/net/MapiSocket.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" />
+ <include name="${nl-cwi-client-package}/JdbcClient.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>
+
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]