You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-dev@jackrabbit.apache.org by "Felix Meschberger (JIRA)" <ji...@apache.org> on 2012/04/23 10:43:40 UTC

[jira] [Created] (OAK-67) Initial OSGi Bundle Setup

Felix Meschberger created OAK-67:
------------------------------------

             Summary: Initial OSGi Bundle Setup
                 Key: OAK-67
                 URL: https://issues.apache.org/jira/browse/OAK-67
             Project: Jackrabbit Oak
          Issue Type: Improvement
          Components: core
    Affects Versions: 0.1
            Reporter: Felix Meschberger
             Fix For: 0.2


Since the plan for the 0.2 release intents to add initial OSGi budling functionality, we need to track this addition.

Will come up with a patch and change proposal for such bundling.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Resolved] (OAK-67) Initial OSGi Bundle Setup

Posted by "Jukka Zitting (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/OAK-67?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jukka Zitting resolved OAK-67.
------------------------------

    Resolution: Fixed
      Assignee: Jukka Zitting

I committed the patch and some followup changes, including an initial test case, OSGi services for key components, and a separate oak-sling bundle that implements (badly) the SlingRepository extension interface in addition to standard JCR Repository.

There's a lot of things to clean up, not least the various package export settings, but let's handle those as separate followup issues, as the basic setup is now already in place.
                
> Initial OSGi Bundle Setup
> -------------------------
>
>                 Key: OAK-67
>                 URL: https://issues.apache.org/jira/browse/OAK-67
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: core
>    Affects Versions: 0.1
>            Reporter: Felix Meschberger
>            Assignee: Jukka Zitting
>             Fix For: 0.2
>
>         Attachments: OAK-67.patch
>
>
> Since the plan for the 0.2 release intents to add initial OSGi budling functionality, we need to track this addition.
> Will come up with a patch and change proposal for such bundling.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (OAK-67) Initial OSGi Bundle Setup

Posted by "Felix Meschberger (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/OAK-67?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Felix Meschberger updated OAK-67:
---------------------------------

    Attachment: OAK-67.patch

Here is a first shot at a patch.

Assumptions (which may be slightly wrong):

 * mk exports .api, .json, and .util
 * core exports .api
 * jcr does not export anything

All packages are currently exported at version 0.1. These versions should evolve over time, yet I would assume that version 1.0 of the exports will only be used once we do the 1.0 release of Oak.

There are a number of problems with the current code structure:

* An explicit Export-Package statement is needed in each module because by default the bundle plugin exports anything not inside (below) an impl or internal package.

* Core still contains MK stuff referring to packages presumably private to the MK module (see also OAK-57)

* QueryEngine and ResultRow in core .api refer to CoreValue residing in a non-exported package. This should be fixed (move CoreValue or don't refer to CoreValue)

* To make it easier to decide between public (externally usable) and internal packages, I suggest to move internal packages below a common packages, e.g. o.a.j.mk.internal.* for the MK module. This assists users to identify presumably internal code and helps the bundle plugin in deciding what to export and what not.
                
> Initial OSGi Bundle Setup
> -------------------------
>
>                 Key: OAK-67
>                 URL: https://issues.apache.org/jira/browse/OAK-67
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: core
>    Affects Versions: 0.1
>            Reporter: Felix Meschberger
>             Fix For: 0.2
>
>         Attachments: OAK-67.patch
>
>
> Since the plan for the 0.2 release intents to add initial OSGi budling functionality, we need to track this addition.
> Will come up with a patch and change proposal for such bundling.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (OAK-67) Initial OSGi Bundle Setup

Posted by "Jukka Zitting (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/OAK-67?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13259547#comment-13259547 ] 

Jukka Zitting commented on OAK-67:
----------------------------------

+1 looks good

On the last point, instead of using .internal.* packages, I'd rather have everything private by default and only stuff in .api exported by default.
                
> Initial OSGi Bundle Setup
> -------------------------
>
>                 Key: OAK-67
>                 URL: https://issues.apache.org/jira/browse/OAK-67
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: core
>    Affects Versions: 0.1
>            Reporter: Felix Meschberger
>             Fix For: 0.2
>
>         Attachments: OAK-67.patch
>
>
> Since the plan for the 0.2 release intents to add initial OSGi budling functionality, we need to track this addition.
> Will come up with a patch and change proposal for such bundling.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (OAK-67) Initial OSGi Bundle Setup

Posted by "Felix Meschberger (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/OAK-67?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13260289#comment-13260289 ] 

Felix Meschberger commented on OAK-67:
--------------------------------------

I am ok with just exportin .api. But what about .util ?

I would really find it easily informative to have packages intended for internal use only clearly
marked with a kind-of-tag in the package.

For example o.a.j.mk.util may be seen as internal or external ... but o.a.j.mk.internal.util will
never be mistaken to be external.
                
> Initial OSGi Bundle Setup
> -------------------------
>
>                 Key: OAK-67
>                 URL: https://issues.apache.org/jira/browse/OAK-67
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: core
>    Affects Versions: 0.1
>            Reporter: Felix Meschberger
>             Fix For: 0.2
>
>         Attachments: OAK-67.patch
>
>
> Since the plan for the 0.2 release intents to add initial OSGi budling functionality, we need to track this addition.
> Will come up with a patch and change proposal for such bundling.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira