[ https://issues.apache.org/jira/browse/DERBY-6945?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16294347#comment-16294347 ]
Rick Hillegas edited comment on DERBY-6945 at 12/17/17 9:33 PM: ---------------------------------------------------------------- Thanks, Stephen. I'm afraid I don't know how to apply that advice to the Derby codebase as it is currently structured. Some re-structuring may be necessary as part of modularization. It is possible that we will end up with something which can be better fitted to your scheme. Your advice will help inform that re-structuring, if it turns out to be necessary. Here is the situation for the derbyclient.jar. There is a top-level directory in the source tree, which falls outside the package namespace. It is called trunk/java. Here are its code-bearing subdirectories: client drda engine optional shared tools The subtree underneath client (which holds all of the derbyclient.jar code) looks like this: {noformat} org/ apache/ derby/ client jdbc {noformat} As you can see, there is no single super package for all of derbyclient underneath the org.apache.derby prefix. There are two parallel highest packages, client and jdbc. We could, of course, insert another level inbetween the org.apache.derby prefix and the client and jdbc sisters. But this would result in changes to Derby's public api, which I am reluctant to make due to Derby's strong backward compatibility promises. was (Author: rhillegas): Thanks, Stephen. I'm afraid I don't know how to apply that advice to the Derby codebase as it is currently structured. Some re-structuring may be necessary as part of modularization. It is possible that we will end up with something which can be better fitted to your scheme. Your advice will help inform that re-structuring, if it turns out to be necessary. Here is the situation for the derbyclient.jar. There is a top-level directory in the source tree, which falls outside the package namespace. It is called trunk/java. Here are its code-bearing subdirectories: client drda engine optional shared tools The subtree underneath client (which holds all of the derbyclient.jar code) looks like this: {noformat} org/ apache/ derby/ client jdbc {noformat> As you can see, there is no single super package for all of derbyclient underneath the org.apache.derby prefix. There are two parallel highest packages, client and jdbc. We could, of course, insert another level inbetween the org.apache.derby prefix and the client and jdbc sisters. But this would result in changes to Derby's public api, which I am reluctant to make due to Derby's strong backward compatibility promises. > 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, 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)