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

Reply via email to