[ https://issues.apache.org/jira/browse/DERBY-6945?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16602116#comment-16602116 ]
Rick Hillegas commented on DERBY-6945: -------------------------------------- Attaching derby-6945-50-aa-runOldTestHarnessWithModulePath.diff. With this patch, the old-style derbyall suite runs cleanly with a module path as follows: {noformat} java -p $MODULEPATH \ --add-modules org.apache.derby.tests,junit \ -m org.apache.derby.tests/org.apache.derbyTesting.functionTests.harness.RunSuite \ derbyall {noformat} This patch makes the following changes: 1) The engine module exports more internal api packages for use by query plans which are code-generated into the unnamed module. These packages popped up as I ran more tests with the module path. 2) The tools module opens org.apache.derby.info.tools to reflective access so that its info.properties can be read by the shared module. 3) Adds a utility method so that Derby resource resolution can be done across all of the Derby modules. In a module-aware world, the default behavior is to let a module lookup only its own resources. 4) The RunSuite class now uses the module path to create sub-processes when it itself is booted with a module path. 5) Nit: removes an unnecessary import from NetworkServerTestSetup. Tests (using the classpath) passed cleanly for me with this patch. Touches the following files: {noformat} -------------------------------- M java/org.apache.derby.engine/module-info.java (1) -------------------------------- M java/org.apache.derby.tools/module-info.java (2) -------------------------------- M java/org.apache.derby.commons/org/apache/derby/shared/common/reference/ModuleUtil.java M java/org.apache.derby.tools/org/apache/derby/impl/tools/ij/util.java (3) -------------------------------- M java/org.apache.derby.tests/org/apache/derbyTesting/functionTests/harness/RunList.java M java/org.apache.derby.tests/org/apache/derbyTesting/functionTests/harness/RunSuite.java M java/org.apache.derby.tests/org/apache/derbyTesting/functionTests/harness/SysInfoLog.java M java/org.apache.derby.tests/org/apache/derbyTesting/functionTests/harness/jdk100.java M java/org.apache.derby.tests/org/apache/derbyTesting/functionTests/harness/jdk13.java (4) -------------------------------- M java/org.apache.derby.tests/org/apache/derbyTesting/junit/NetworkServerTestSetup.java (5) {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-27-aa-adjustModulesForTests.diff, > derby-6945-28-aa-testingModuleDescriptor.diff, > derby-6945-29-aa-disable-SimpleApp-test.diff, > derby-6945-30-ab-move-clientmessages-toolsmessages.diff, > derby-6945-31-aa-clientmessages-ResourceBundleProvider.diff, > derby-6945-32-aa-messageLookupCleanup.diff, > derby-6945-33-ab-moveLocalizations.diff, > derby-6945-34-aa-licenseHeaders.diff, > derby-6945-35-aa-removeSpuriousCharacter.diff, > derby-6945-36-aa-moduleDescriptorsForLocaleJars.diff, > derby-6945-38-aa-javadocCleanup.diff, derby-6945-39-aa-javadocCleanup.diff, > derby-6945-40-aa-generatedSource-dirNames.diff, > derby-6945-41-ac-cleanupProductJavadoc.diff, > derby-6945-42-aa-cleanupTestJavadoc.diff, > derby-6945-43-aa-cleanupPublicAPIforJavadoc.diff, > derby-6945-44-aa-moduleAwareJavadoc.diff, derby-6945-45-aa-fixWarnings.diff, > derby-6945-46-aa-jacocoSourceRoots.diff, > derby-6945-47-aa-runModulesWithLocalizations.diff, > derby-6945-48-ac-serverWithSecurityPolicy.diff, > derby-6945-49-aa-runSomeTestsWithModulePath.diff, > derby-6945-50-aa-runOldTestHarnessWithModulePath.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)