Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[jakartaee-tck-dev] Refactoring the Platform TCK and Cyclic dependencies

For any cyclic dependencies that we need to eliminate between two maven artifacts, one fix should be to introduce a third maven artifact that separates the common classes.

One approach to doing that for the com.sun.ts.lib.deliverable package of classes is to keep any generic interface/classes in com.sun.ts.lib.deliverable but move any specification specific classes into the (new) third maven artifact + java package.

More details:

We likely will need to deal with eliminating cycles between different TCK classes as part of our refactoring.  I made a mistake in combining all of the classes under https://github.com/eclipse-ee4j/jakartaee-tck/tree/master/src/com/sun/ts/lib into a single https://github.com/scottmarlow/jakartaee-tck/blob/tckrefactor_marlow/runtime folder.  The initial thinking was that would help resolve interdependencies between different com.sun.ts.lib classes but that might not of been the best step forward as I am now seeing that the Persistence tests folder depends on the new common https://github.com/scottmarlow/jakartaee-tck/blob/tckrefactor_marlow/runtime folder and https://github.com/scottmarlow/jakartaee-tck/blob/tckrefactor_marlow/runtime also depends on the Persistence tests folder, which means Maven cannot build the project.

We can probably go back to separating the different sub-classes under com.sun.ts.lib into separate maven artifacts and address the cyclic dependencies between those sub-classes a different way (separating spi versus impl or something like that).

Scott



Back to the top