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

Reply via email to