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