[
https://issues.apache.org/jira/browse/DERBY-6945?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16302156#comment-16302156
]
Rick Hillegas commented on DERBY-6945:
--------------------------------------
Mostly it is localization resources which cause the test failure. Those are
easy to fix. There is also an easily fixed overlap between derbyrun.jar and
derbytools.jar:
{noformat}
org/apache/derby/iapi/tools straddles more than one jar file:
/Users/rhillegas/derby/mainline/trunk/jars/sane/derbyrun.jar
run.class
/Users/rhillegas/derby/mainline/trunk/jars/sane/derbytools.jar
ToolUtils.class
{noformat}
However, there is a serious overlap between derby.jar and derbyclient.jar. The
org.apache.derby.jdbc package contains client and engine classes which appear
in the public api, namely, the jdbc drivers and the DataSources. Here are
various ways to untangle this overlap:
1) Combine derby.jar and derbyclient.jar (and maybe derbyshared.jar) into a
single big jar file. This will preserve the public api but it will bloat up the
engine and client footprints.
2) Move org.apache.derby.jdbc out of both derby.jar and derbyclient.jar into
derbyshared.jar. Again, this will preserve the public api. But it will create
circular dependencies among these jar files.
3) Alter the public api by moving either the client org.apache.derby.jdbc or
the engine org.apache.derby.jdbc into a separate package. This will maintain
the current jar file boundaries. However, the imports of many applications will
need to be re-adjusted and the applications will no longer run on Derby 10.15
and earlier versions of Derby.
I would like to hear other people's opinions about how to untangle this mess.
Thanks.
> 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,
> 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)