[ 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)