db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rick Hillegas (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (DERBY-6998) Make it possible to build Derby cleanly using JDK 10
Date Sat, 01 Dec 2018 20:16:00 GMT

    [ https://issues.apache.org/jira/browse/DERBY-6998?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16705983#comment-16705983

Rick Hillegas commented on DERBY-6998:

Attaching derby-6998-05-aa-use-java.specification.version.diff. This patch updates the test
machinery so that the old harness tests run on Java 10.

When trying to run the modulepath tests on Linux on Java 10, I discovered that the old harness
tests no longer run on Java 10. The machinery for picking a JVM wrapper class is very brittle.
It works for Java 9 and 11 but not for Java 10. The machinery tries to figure out the major/minor
levels of the JVM in two separate places in two different ways. In one place the machinery
parses these levels correctly by getting them from the system property java.specification.version.
In the other place it gets the wrong answer for Java 10 when parsing the major/minor levels
from the value of the system property java.version.

I made both places use java.specification.version.

If this brittle logic continues to plague us in the future, then I recommend that we rewrite
it to be much simpler. This logic evolved over time to handle a lot of JVMs which we no longer
support. That complexity is no longer needed.

I will build and run tests on Java 9, 10, and 11 before checking in this fix.

Touches the following file:

M       java/org.apache.derby.tests/org/apache/derbyTesting/functionTests/harness/RunTest.java

> Make it possible to build Derby cleanly using JDK 10
> ----------------------------------------------------
>                 Key: DERBY-6998
>                 URL: https://issues.apache.org/jira/browse/DERBY-6998
>             Project: Derby
>          Issue Type: Bug
>          Components: Build tools
>    Affects Versions:
>            Reporter: Rick Hillegas
>            Priority: Major
>         Attachments: derby-6998-01-ab-tightenReturnType.diff, derby-6998-02-aa-supportForJDK11.diff,
derby-6998-03-aa-reenableEncryptionTestsOnJDK11.diff, derby-6998-04-aa-increaseCertificateLifetime.diff,
derby-6998-05-aa-use-java.specification.version.diff, sslHandshake.tar
> When I build Derby using JDK 10, I get the following warning:
> {noformat}
>     [javac] /Users/rhillegas/derby/mainline/trunk/java/engine/org/apache/derby/iapi/types/SqlXmlUtil.java:728:
warning: [unchecked] getPrefixes(String) in NullNamespaceContext implements getPrefixes(String)
in NamespaceContext
>     [javac]         public Iterator getPrefixes(String namespaceURI) {
>     [javac]                         ^
>     [javac]   return type requires unchecked conversion from Iterator to Iterator<String>
>     [javac] 1 warning
> {noformat}
> I will clean this up.

This message was sent by Atlassian JIRA

View raw message