[ https://issues.apache.org/jira/browse/DERBY-6945?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16429475#comment-16429475 ]
Rick Hillegas commented on DERBY-6945: -------------------------------------- Attaching derby-6945-26-aa-packagePrivateTests.diff. This patch moves the package-private tests into a separate branch of the source tree so that they will not be pulled into the compilation of the org.apache.derby.tests module. The package-private tests are not bundled inside derbyTesting.jar in older versions of Derby. That is because these tests live in packages which belong to other jar files, even though the corresponding source code lives under java/testing. The package-private tests cannot be run from derbyTesting.jar because that would break sealing directives on other jar files. Instead, the package-private tests are run directly from the classes directory via the following special ant target: {noformat} ant junit-pptesting {noformat} The current location of these tests raised many errors when I tried to add a module descriptor to derbyTesting.jar. This patch is a step forward toward eliminating those errors. This patch moves the package-private tests into their own branch of the source tree: java/pptesting. Tests passed cleanly for me with this patch. The package-private tests also run cleanly with this patch. Touches the following files: {noformat} --------------------------------- A java/pptesting A java/pptesting/org A java/pptesting/org/apache A java/pptesting/org/apache/derby A + java/pptesting/org/apache/derby/PackagePrivateTestSuite.java A java/pptesting/org/apache/derby/client A java/pptesting/org/apache/derby/client/am A + java/pptesting/org/apache/derby/client/am/LogicalStatementEntityTest.java A + java/pptesting/org/apache/derby/client/am/_Suite.java A java/pptesting/org/apache/derby/impl A java/pptesting/org/apache/derby/impl/jdbc A + java/pptesting/org/apache/derby/impl/jdbc/BiggerStoreStreamClobTest.java A + java/pptesting/org/apache/derby/impl/jdbc/BiggerTemporaryClobTest.java A + java/pptesting/org/apache/derby/impl/jdbc/InternalClobTest.java A + java/pptesting/org/apache/derby/impl/jdbc/SmallStoreStreamClobTest.java A + java/pptesting/org/apache/derby/impl/jdbc/SmallTemporaryClobTest.java A + java/pptesting/org/apache/derby/impl/jdbc/UTF8ReaderTest.java A + java/pptesting/org/apache/derby/impl/jdbc/_Suite.java D java/testing/org/apache/derby/PackagePrivateTestSuite.java D java/testing/org/apache/derby/client/am/LogicalStatementEntityTest.java D java/testing/org/apache/derby/client/am/_Suite.java D java/testing/org/apache/derby/impl/jdbc/BiggerStoreStreamClobTest.java D java/testing/org/apache/derby/impl/jdbc/BiggerTemporaryClobTest.java D java/testing/org/apache/derby/impl/jdbc/InternalClobTest.java D java/testing/org/apache/derby/impl/jdbc/SmallStoreStreamClobTest.java D java/testing/org/apache/derby/impl/jdbc/SmallTemporaryClobTest.java D java/testing/org/apache/derby/impl/jdbc/UTF8ReaderTest.java D java/testing/org/apache/derby/impl/jdbc/_Suite.java Move the package-private tests under java/pptesting. --------------------------------- M build.xml A java/pptesting/build.xml M tools/ant/properties/dirs.properties Adjust the build so that java/pptesting is built separately. --------------------------------- M java/testing/org/apache/derbyTesting/functionTests/tests/lang/VetJigsawTest.java This test was improved in order to fix another problem: When I added derbyTesting.jar to the list of jars examined by VetJigsawTest, the tests raised false errors because of the demo classes which live in the root of the package space. The test has been patched to handle directories (like the root directory) which are empty in most of the jar files. {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, > derby-6945-20-aa-removeClasslister.diff, > derby-6945-21-aa-simplifyBuildScripts.diff, > derby-6945-21-ab-simplifyBuildScripts.diff, > derby-6945-22-ad-isolateClassesByArtifact.diff, > derby-6945-22-ae-isolateClassesByArtifact.diff, > derby-6945-22-af-isolateClassesByArtifact.diff, > derby-6945-23-aa-upgradeToAnt_1.10.2.diff, > derby-6945-24-aa-fixNativeAuthenticationServiceTest.diff, > derby-6945-25-ab-moduleDescriptors.diff, > derby-6945-26-aa-packagePrivateTests.diff, > derby-6945-XX-moveDataSourceFactories, jdeps.out.tar, weirdAnt.out > > > 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)