changeset 354:b1f8750e6cde

Switch to Java 8 compilation and distribution as Java 7 is no longer supported.
author Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
date Wed, 12 Feb 2020 18:23:58 +0100 (2020-02-12)
parents 017e8a35eb99
children 69803e5a5a49
files ChangeLog build.xml pom.xml release.txt src/main/java/nl/cwi/monetdb/client/JdbcClient.java tests/build.xml
diffstat 6 files changed, 31 insertions(+), 22 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,10 @@
 # ChangeLog file for monetdb-java
 # This file is updated with Maddlog
 
+* Wed Feb 12 2020 Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
+- As Java 7 is no longer supported we now compile for Java 8 as the
+  minimum required JVM version (profile compact2).
+
 * Thu Sep 26 2019 Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
 - Compiled and released new jar files: monetdb-jdbc-2.29.jre7.jar,
   monetdb-mcl-1.18.jre7.jar and jdbcclient.jre7.jar
--- a/build.xml
+++ b/build.xml
@@ -44,10 +44,14 @@ Copyright 1997 - July 2008 CWI, August 2
   since EOL.
   2015-07-16, sjoerd@acm.org
 
+  Update: cross-compile for JVM 8 (=1.8), profile compact2
+  2020-02-12, martin.van.dinther@monetdbsolutions.com
+
   -->
-  <property name="jvm.version"  value="1.7" />
-  <property name="jre.version"  value="jre7" />
-  <property name="javac.flags"  value="-Xlint:-options" />
+  <property name="jvm.version" value="8" />
+  <property name="jre.version" value="jre8" />
+  <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" />
--- a/pom.xml
+++ b/pom.xml
@@ -61,8 +61,8 @@
 	    <include>${jdbc.sources}</include>
 	    <include>${mcl.sources}</include>
 	  </includes>
-	  <source>1.7</source>
-	  <target>1.7</target>
+	  <source>8</source>
+	  <target>8</target>
 	</configuration>
       </plugin>
       <plugin>
--- a/release.txt
+++ b/release.txt
@@ -1,6 +1,6 @@
 RELEASE NOTES
 MonetDB JDBC driver version 2.29 (Liberica/MCL-1.18)
-Release date: 2019-09-26
+Release date: 2020-02-12
 
 This JDBC driver is designed for use with MonetDB, an Open-Source column-store RDBMS.
 For more information see https://www.monetdb.org/
@@ -209,7 +209,7 @@ Warning:
  You will need to serialize the processing of the threads in your Java program.
  Alternatively you could use a separate JDBC Connection for each thread.
 
-Note: as of Jul2015 release (monetdb-jdbc-2.17.jar) we compile all
- the java sources to target: Java 1.7 so you need a JRE/JDK JVM
- of version 1.7 or higher to use it.
+Note: as of Feb2020 release (monetdb-jdbc-2.29.jre8.jar) we compile all
+ the java sources to target: Java SE 8 (profile compact2), so
+ you need a JRE/JDK JVM of version 8 or higher to use it.
 
--- a/src/main/java/nl/cwi/monetdb/client/JdbcClient.java
+++ b/src/main/java/nl/cwi/monetdb/client/JdbcClient.java
@@ -41,7 +41,7 @@ import java.util.List;
  * of JDBC only.
  *
  * @author Fabian Groffen, Martin van Dinther
- * @version 1.3
+ * @version 1.4
  */
 
 public final class JdbcClient {
@@ -56,13 +56,13 @@ public final class JdbcClient {
 	/**
 	 * JdbcClient is a command line query tool for MonetDB, similar to mclient.
 	 * It uses the JDBC API and the MonetDB JDBC driver to communicate with a
-	 * MonetDB server. The MonetDB JDBC driver is included in the jdbcclient.jre7.jar
+	 * MonetDB server. The MonetDB JDBC driver is included in the jdbcclient.jre8.jar
 	 * for ease of use, so only 1 jar file is needed to use it.
 	 *
-	 * <pre>Usage java -jar jdbcclient.jre7.jar
+	 * <pre>Usage java -jar jdbcclient.jre8.jar
 	 *		[-h host[:port]] [-p port] [-f file] [-u user]
-	 *		[-l language] [-d database] [-e] [-D [table]]
-	 *		[-X&lt;opt&gt;]
+	 *		[-l language] [-d database] [-e] [-D [table]] [-X&lt;opt&gt;]
+	 *		| [--help] | [--version]
 	 * or using long option equivalents --host --port --file --user --language
 	 * --dump --echo --database.
 	 * Arguments may be written directly after the option like -p50000.
@@ -214,10 +214,10 @@ public final class JdbcClient {
 
 		if (copts.getOption("help").isPresent()) {
 			System.out.print(
-				"Usage java -jar jdbcclient.jre7.jar\n" +
+				"Usage java -jar jdbcclient.jre8.jar\n" +
 				"\t\t[-h host[:port]] [-p port] [-f file] [-u user]\n" +
-				"\t\t[-l language] [-d database] [-e] [-D [table]]\n" +
-				"\t\t[-X<opt>]\n" +
+				"\t\t[-l language] [-d database] [-e] [-D [table]] [-X<opt>]\n" +
+				"\t\t| [--help] | [--version]\n" +
 				"or using long option equivalents --host --port --file --user --language\n" +
 				"--dump --echo --database.\n" +
 				"Arguments may be written directly after the option like -p50000.\n" +
@@ -679,7 +679,7 @@ public final class JdbcClient {
 						out.println("Available commands:");
 						out.println("\\q       quits this program (you can also use: quit or exit)");
 						if (dbmd != null) {
-							out.println("\\d       list available tables and views in current schema");
+							out.println("\\d       list available user tables and views in current schema");
 							out.println("\\dS      list available system tables and views in sys schema");
 							out.println("\\d <obj> describes the given table or view");
 						}
@@ -936,7 +936,7 @@ public final class JdbcClient {
 		warn = con.getWarnings();
 		while (warn != null) {
 			// suppress warning when issueing a "set schema xyz;" command
-			if ( !(warn.getMessage()).equals("Server enabled auto commit mode while local state already was auto commit.") )
+//			if ( !(warn.getMessage()).equals("Server enabled auto commit mode while local state already was auto commit.") )
 				System.err.println("Connection warning: " + warn.getMessage());
 			warn = warn.getNextWarning();
 		}
--- a/tests/build.xml
+++ b/tests/build.xml
@@ -26,9 +26,10 @@ Copyright 1997 - July 2008 CWI, August 2
   <property name="builddir"  value="build" />
   <property name="jardir"    value="../jars" />
 
-  <property name="jvm.version" value="1.7" />
-  <property name="jre.version" value="jre7" />
-  <property name="javac.flags" value="-Xlint:-options" />
+  <property name="jvm.version" value="8" />
+  <property name="jre.version" value="jre8" />
+  <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" />