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