[ 
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-02-ab-newDerbySharedJar.diff

Attaching derby-6945-02-ab-newDerbySharedJar.diff. This patch isolates the 
shared code in a new derbyshared.jar release artifact. Tests ran cleanly for me 
on this patch.

This patch makes the following changes:

1) Creates a new jar file (derbyshared.jar) and wires it into the MANIFESTS of 
the other jar files which depend on it.

2) Partitions the derby classes among the jar files. Now each class lives in 
exactly one jar file. Note that this patch does NOT partition packages among 
the jar files. There are still several packages which straddle multiple jar 
files. A follow-on patch will partition the packages.

3) Moves sysinfo into derbytools.jar. Now derbytools is a dependency of 
derbynet.jar. A systematic cleanup of dependencies will happen in a follow-on 
patch.

4) Adds new permission blocks to policy files so that the moved code will enjoy 
its old privileges.

5) Fixes sysinfo so that it can locate the testing jar and the locale jars. 
sysinfo lost this ability after the upgrade to Java 9. Our tests did not catch 
the problem. The bug in sysinfo was an instance of the resource location change 
described here: 
https://issues.apache.org/jira/browse/DERBY-6856?focusedCommentId=15827204&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-15827204
 

Touches the following files:

-------------------------

M       
java/engine/org/apache/derby/iapi/services/info/ProductVersionHolder.java
M       java/engine/org/apache/derby/iapi/services/info/ProductGenusNames.java
M       java/build/org/apache/derbyBuild/eclipse/DerbyEclipsePlugin.java
M       java/client/org/apache/derby/client/am/Configuration.java
M       java/drda/org/apache/derby/impl/drda/NetworkServerControlImpl.java
M       java/tools/org/apache/derby/tools/sysinfo.java
M       java/engine/org/apache/derby/impl/services/monitor/FileMonitor.java
M       java/tools/org/apache/derby/impl/tools/ij/utilMain.java

Add a constant to describe the new jar file and move the version descriptors 
into their own unique packages. Remove some dead code.

-------------------------

M       java/tools/org/apache/derby/impl/tools/sysinfo/Main.java

Fix sysinfo so that it can find the testing jar and the locale jars.

-------------------------

M       build.xml
M       java/build/org/apache/derbyBuild/classlister.java
M       tools/jar/tools.properties
M       tools/jar/dnc.properties
M       tools/jar/extraDBMSclasses.properties

Move sysinfo into the tools jar and create derbyshared.jar.

-------------------------

M       java/drda/org/apache/derby/drda/server.policy
M       java/drda/org/apache/derby/drda/template.policy
M       
java/testing/org/apache/derbyTesting/unitTests/junit/AssertFailureTest.policy
M       
java/testing/org/apache/derbyTesting/functionTests/util/derby_tests.policy

Adjust policy files, granting derbyshared.jar the permissions it needs.

-------------------------

M       java/shared/org/apache/derby/shared/common/i18n/MessageUtil.java

Cleanup: correct the package identification in the class header comment.

-------------------------

M       
java/testing/org/apache/derbyTesting/functionTests/harness/FileCompare.java
M       
java/testing/org/apache/derbyTesting/functionTests/tests/tools/SysinfoLocaleTest.java
M       java/testing/org/apache/derbyTesting/junit/SecurityManagerSetup.java
M       java/testing/org/apache/derbyTesting/junit/TestConfiguration.java

Adjust tests to account for changes made to the product.


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

Reply via email to