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

Reply via email to