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] [Updated] (DERBY-6945) Re-package Derby as a collection of jigsaw modules
Date Sat, 13 Jan 2018 16:36:03 GMT

     [ https://issues.apache.org/jira/browse/DERBY-6945?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Rick Hillegas updated DERBY-6945:
---------------------------------
    Attachment: derby-6945-11-ab-moveAutoloadedDriver.diff

Attaching derby-6945-11-ab-moveAutoloadedDriver.diff. This patch moves AutoloadedDriver out
of org.apache.derby.jdbc and into org.apache.derby.iapi.jdbc.

The tricky bit which broke my first attempt to move AutoloadedDriver was this: There is some
special logic in JarLoader to prevent user code from directly calling entry points in the
Derby package space. That code carves out exceptions for code in the public api packages.
The solution was to add AutoloadedDriver to the list of exceptions so that DriverManager.getConnection()
can fault in the AutoloadedDriver for nested connections.

I will run tests.

Touches the following files:

{noformat}
---------------------------------------

M       build.xml
M       java/build/org/apache/derbyBuild/lastgoodjarcontents/insane.derby.jar.lastcontents
M       java/build/org/apache/derbyBuild/lastgoodjarcontents/sane.derby.jar.lastcontents
A  +    java/engine/org/apache/derby/iapi/jdbc/AutoloadedDriver.java
D       java/engine/org/apache/derby/jdbc/AutoloadedDriver.java

Move AutoloadedDriver out of the public api package into the engine-internal api package.

---------------------------------------

M       java/engine/org/apache/derby/impl/services/reflect/JarLoader.java

Let database classpaths include AutoloadedDriver as an exception to the general rule that
user code should not directly call entry points in Derby's package space.

---------------------------------------

M       java/engine/org/apache/derby/iapi/jdbc/InternalDriver.java
M       java/engine/org/apache/derby/jdbc/BasicEmbeddedDataSource40.java
M       java/engine/org/apache/derby/jdbc/EmbeddedDriver.java
M       java/testing/org/apache/derbyTesting/functionTests/tests/engine/ShutdownWithoutDeregisterPermissionTest.java
M       java/testing/org/apache/derbyTesting/functionTests/tests/jdbc4/Wrapper41Driver.java
M       java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/AutoloadTest.java

Adjust imports to account for the relocation of AutoloadedDriver.
{noformat}


> Re-package Derby as a collection of jigsaw modules
> --------------------------------------------------
>
>                 Key: DERBY-6945
>                 URL: https://issues.apache.org/jira/browse/DERBY-6945
>             Project: Derby
>          Issue Type: Improvement
>    Affects Versions: 10.13.1.2
>            Reporter: Rick Hillegas
>         Attachments: derby-6945-01-aa-remove_derbyPreBuild_dep.diff, derby-6945-02-ab-newDerbySharedJar.diff,
derby-6945-02-ac-newDerbySharedJar.diff, derby-6945-03-aa-partitionTest.diff, derby-6945-04-aa-moveRunClass.diff,
derby-6945-05-aa-removeRedundant_Attribute_SQLState.diff, derby-6945-06-aa-removeOtherSharedDuplicates.diff,
derby-6945-07-aa-net_client_overlap.diff, derby-6945-08-aa-move_shared_iapi_under_shared.diff,
derby-6945-08-ab-move_shared_iapi_under_shared.diff, derby-6945-08-ad-move_shared_iapi_under_shared.diff,
derby-6945-09-ab-moveInternalDriver.diff, derby-6945-10-aa-moveDriver42.diff, derby-6945-11-ab-moveAutoloadedDriver.diff,
jdeps.out.tar
>
>
> Once we commit to building with Java 9 (see DERBY-6856), we should consider re-packaging
Derby as a set of jigsaw modules. This would result in a different set of release artifacts.
This might be a good opportunity to address the Tomcat artifactory issues raised by issue
DERBY-6944.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Mime
View raw message