You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "angela (JIRA)" <ji...@apache.org> on 2017/07/18 09:51:00 UTC

[jira] [Commented] (OAK-6407) Refactor oak.spi.query into a separate module/bundle

    [ https://issues.apache.org/jira/browse/OAK-6407?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16091355#comment-16091355 ] 

angela commented on OAK-6407:
-----------------------------

[~tmueller], regarding your questions:

> Which ones?

see the various issues I fixed recently within the query code base to fix the cyclic package dependencies.

> Which ones?

same here.

> What does it solve / prevent exactly, and how?

if the query implementation resides in oak-core and the query-spi gets refactored out, it will no longer be possible to introduce cyclic package dependencies from exported and non-exported classes as we used to have it in oak-core. while this caused a WARNING in the build these WARNINGs where just ignored... so i'd rather have it prevented upon build altogether.
moving it out would also allow other modules (e.g. oak-lucene, oak-solr and oak-auth-external) to no longer depend on oak-core.

> Why does org.apache.jackrabbit.oak.spi.query need to be moved to a new project, but not for example org.apache.jackrabbit.oak.spi.security?

I want to move out _org.apache.jackrabbit.oak.spi.security_ (OAK-6318) but that's blocked by OAK-6319 and consequently by this issue :-)... in fact refactoring spi.security out of oak-core is the main reason for looking into the query code base.

> If we move those classes, why does oak-lucene still depends on oak-core? It would be nice if oak-lucene just depends on this (and possibly other) spi projects.

yes sure... that's the ultimate goal (see above). i don't recall the very details but it might require some additional work in the wast plugins-query package space, which i didn't touch so far as i wanted to get the untangle the ties between the query implementation and query.spi in a first step and not reshuffle everything.

>  Refactor oak.spi.query into a separate module/bundle 
> ------------------------------------------------------
>
>                 Key: OAK-6407
>                 URL: https://issues.apache.org/jira/browse/OAK-6407
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: core, indexing, query
>            Reporter: angela
>            Assignee: angela
>              Labels: modularization
>             Fix For: 1.8
>
>         Attachments: OAK-6407.patch
>
>
> now that OAK-6304 and OAK-6355 have been resolved, i would like to suggest that we move the _o.a.j.oak.spi.query_ code base into a separate module/bundle in order to prevent the introduction of bogus cycles and odd package exports in the future.
> [~tmueller], patch will follow asap.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)