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