[
https://issues.apache.org/jira/browse/DERBY-6945?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16360163#comment-16360163
]
Rick Hillegas commented on DERBY-6945:
--------------------------------------
Attaching derby-6945-19-ad-movePublicAPIintoToolsJar.diff. This patch
consolidates the org.apache.derby.jdbc package in derbytools.jar. Tests passed
cleanly on this patch. As of this patch:
1) Class-bearing packages are partitioned across the jar files. No
class-bearing package straddles multiple jar files.
2) VetJigsawTest is enabled so that the regression tests now verify this clean
partitioning of packages.
3) Security policies are adjusted to grant the userderbyinternals privilege to
derbytools.jar, now that it contains the DataSources.
4) The classlister program is no longer used to calculate the contents of the
jar files. Instead, each jar file simply contains the classes corresponding to
the directory tree underneath its source root. Those package spaces are
declared in tidy "include" elements in the jar commands. The jars can now be
described as follows:
{noformat}
derbyrun.jar
org.apache.derby.run...
derbyshared.jar
org.apache.derby.shared...
derbyoptionaltools.jar
org.apache.derby.optional...
derbyclient.jar
org.apache.derby.client...
derbynet.jar
org.apache.derby.drda...
org.apache.derby.impl.drda...
derbytools.jar
org.apache.derby.iapi.tools...
org.apache.derby.impl.tools...
org.apache.derby.jdbc...
org.apache.derby.tools...
derby.jar (all other packages)
org.apache.derby.agg...
org.apache.derby.authentication...
org.apache.derby.catalog...
org.apache.derby.database...
org.apache.derby.diag...
org.apache.derby.iapi.db...
org.apache.derby.iapi.jdbc...
org.apache.derby.iapi.security...
org.apache.derby.iapi.services...
org.apache.derby.iapi.sql...
org.apache.derby.iapi.store...
org.apache.derby.iapi.transaction...
org.apache.derby.iapi.types...
org.apache.derby.iapi.util...
org.apache.derby.impl.db...
org.apache.derby.impl.io...
org.apache.derby.impl.jdbc...
org.apache.derby.impl.load...
org.apache.derby.impl.services...
org.apache.derby.impl.sql...
org.apache.derby.impl.store...
org.apache.derby.io...
org.apache.derby.mbeans...
org.apache.derby.osgi...
org.apache.derby.security...
org.apache.derby.vti...
{noformat}
A future patch will remove the classlister program and its source lists.
We may want to move non-class resources into separate directory spaces.
However, the current situation does not seem to break the sealing directives.
Maybe it will break resource resolution when we add module descriptors.
Touches the following files:
{noformat}
--------------------------------------------
M build.xml
M
java/build/org/apache/derbyBuild/lastgoodjarcontents/insane.derby.jar.lastcontents
M
java/build/org/apache/derbyBuild/lastgoodjarcontents/insane.derbyclient.jar.lastcontents
M
java/build/org/apache/derbyBuild/lastgoodjarcontents/insane.derbytools.jar.lastcontents
M
java/build/org/apache/derbyBuild/lastgoodjarcontents/sane.derby.jar.lastcontents
M
java/build/org/apache/derbyBuild/lastgoodjarcontents/sane.derbyclient.jar.lastcontents
M
java/build/org/apache/derbyBuild/lastgoodjarcontents/sane.derbytools.jar.lastcontents
Moves everything that's left in org.apache.derby.jdbc into derbytools.jar.
--------------------------------------------
M java/client/org/apache/derby/client/BasicClientDataSource.java
Corrects the hardwired name of this class. This was overlooked by a previous
checkin which moved this class out of the public api.
--------------------------------------------
M java/drda/org/apache/derby/drda/server.policy
M java/drda/org/apache/derby/drda/template.policy
M
java/testing/org/apache/derbyTesting/functionTests/tests/derbynet/GetCurrentPropertiesTest.policy
M
java/testing/org/apache/derbyTesting/functionTests/tests/derbynet/NetworkServerControlApiTest.policy
M
java/testing/org/apache/derbyTesting/functionTests/tests/derbynet/RuntimeInfoTest.policy
M
java/testing/org/apache/derbyTesting/functionTests/tests/derbynet/SecureServerTest.policy
M
java/testing/org/apache/derbyTesting/functionTests/tests/derbynet/ServerPropertiesTest.policy
M
java/testing/org/apache/derbyTesting/functionTests/tests/derbynet/SysinfoTest.policy
M
java/testing/org/apache/derbyTesting/functionTests/tests/engine/noDeregisterPermission.policy
M
java/testing/org/apache/derbyTesting/functionTests/tests/jdbc4/noAbortPermission.policy
M
java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/LDAPTests.policy
M
java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/XATest.policy
M
java/testing/org/apache/derbyTesting/functionTests/tests/lang/SecurityPolicyReloadingTest.initial.policy
M
java/testing/org/apache/derbyTesting/functionTests/tests/lang/SecurityPolicyReloadingTest.modified.policy
M
java/testing/org/apache/derbyTesting/functionTests/tests/lang/SecurityPolicyReloadingTest.unreloadable.policy
M
java/testing/org/apache/derbyTesting/functionTests/tests/lang/luceneSupport.policy
M
java/testing/org/apache/derbyTesting/functionTests/tests/lang/no_derby_internals.policy
M
java/testing/org/apache/derbyTesting/functionTests/tests/lang/resultSetReader.policy
M
java/testing/org/apache/derbyTesting/functionTests/tests/management/CacheManagerMBeanTest.withPerm.policy
M
java/testing/org/apache/derbyTesting/functionTests/tests/management/CacheManagerMBeanTest.withoutPerm.policy
M
java/testing/org/apache/derbyTesting/functionTests/tests/store/Derby3980DeadlockTest.policy
M
java/testing/org/apache/derbyTesting/functionTests/util/derby_tests.policy
M
java/testing/org/apache/derbyTesting/unitTests/junit/MissingPermissionsTest.policy
M
java/testing/org/apache/derbyTesting/unitTests/junit/MissingPermissionsTest1.policy
M
java/testing/org/apache/derbyTesting/unitTests/junit/MissingPermissionsTest2.policy
M
java/testing/org/apache/derbyTesting/unitTests/junit/SystemPrivilegesPermissionTest.policy
M
java/testing/org/apache/derbyTesting/unitTests/junit/SystemPrivilegesPermissionTest1.policy
Adjusts security policies to grant usederbyinternals to derbytools.jar.
--------------------------------------------
M
java/testing/org/apache/derbyTesting/functionTests/tests/store/ClassLoaderBootTest.java
Adjusts the classpath constructed by this test so that it includes both the
engine and the tools jar, now that the tools jar contains the DataSources.
--------------------------------------------
M java/testing/org/apache/derbyTesting/junit/Derby.java
M java/testing/org/apache/derbyTesting/junit/DerbyDistribution.java
M java/testing/org/apache/derbyTesting/junit/DerbyVersion.java
Adjusts the 10.15 classpaths used by the compatibility tests. The 10.15 engine
classpath now includes the tools jar since that's where its DataSources live.
Similarly, the 10.15 client classpath now includes the tools jar in order to
access the client DataSources.
--------------------------------------------
M
java/testing/org/apache/derbyTesting/functionTests/tests/lang/VetJigsawTest.java
M
java/testing/org/apache/derbyTesting/functionTests/tests/lang/_Suite.java
Enables the test which verifies the clean partitioning of package spaces across
our release artifacts. Improves that test so that it is only sensitive to the
location of classes and ignores the location of resources.
{noformat}
> 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
> Priority: Major
> 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,
> derby-6945-04-aa-moveRunClass.diff,
> derby-6945-05-aa-removeRedundant_Attribute_SQLState.diff,
> derby-6945-06-aa-removeOtherSharedDuplicates.diff,
> derby-6945-07-aa-net_client_overlap.diff,
> derby-6945-08-aa-move_shared_iapi_under_shared.diff,
> derby-6945-08-ab-move_shared_iapi_under_shared.diff,
> derby-6945-08-ad-move_shared_iapi_under_shared.diff,
> derby-6945-09-ab-moveInternalDriver.diff, derby-6945-10-aa-moveDriver42.diff,
> derby-6945-11-ab-moveAutoloadedDriver.diff,
> derby-6945-12-ab-moveClientDataSourceInterface.diff,
> derby-6945-13-aa-create-ClientAutoloadedDriver.diff,
> derby-6945-14-aa-moveMoreEmbeddedClassesOutOfPublicAPI.diff,
> derby-6945-15-aa-moveMoreClientClassesOutOfPublicAPI.diff,
> derby-6945-16-aa-consolidatePublicAPI.diff,
> derby-6945-17-aa-resealPackagesIn-derbyshared.diff,
> derby-6945-18-aa-resealLocalizationPackage.diff,
> derby-6945-19-ad-movePublicAPIintoToolsJar.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
(v7.6.3#76005)