[ https://issues.apache.org/jira/browse/OAK-3862?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15093567#comment-15093567 ]
Francesco Mari commented on OAK-3862: ------------------------------------- bq. Instead of moving all other users of NodeStoreFixture to separate module may be we should compose NodeStoreFixture using ServiceLoader. I already thought about this possibility. In this case, let's assume that {{SegmentFixture}} lives in a {{oak-segment}} module, and that is loaded using the {{ServiceLoader}} when the tests in {{oak-core}} are executed. Please note that {{oak-segment}} has a dependency on {{oak-core}}, because the former uses library code and APIs contained in the latter. [~chetanm], when using the {{ServiceLoader}}, isn't it necessary to put {{oak-segment}} in the classpath of {{oak-core}} while running integration tests? Doesn't this create a circular dependency between {{oak-core}} and {{oak-segment}}? > Move integration tests in a different Maven module > -------------------------------------------------- > > Key: OAK-3862 > URL: https://issues.apache.org/jira/browse/OAK-3862 > Project: Jackrabbit Oak > Issue Type: Improvement > Reporter: Francesco Mari > Assignee: Francesco Mari > Fix For: 1.4 > > > While moving the Segment Store and related packages into its own bundle, I > figured out that integration tests contained in {{oak-core}} contribute to a > cyclic dependency between the (new) {{oak-segment}} bundle and {{oak-core}}. > The dependency is due to the usage of {{NodeStoreFixture}} to instantiate > different implementations of {{NodeStore}} in a semi-transparent way. > Tests depending on {{NodeStoreFixture}} are most likely integration tests. A > clean solution to this problem would be to move those integration tests into > a new Maven module, referencing the API and implementation modules as needed. -- This message was sent by Atlassian JIRA (v6.3.4#6332)