You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Ricardo Torres (JIRA)" <ji...@apache.org> on 2012/10/31 21:21:12 UTC

[jira] [Created] (FELIX-3741) maven-bundle-plugin does not add super-interfaces' packages to the manifest's "Import-Package" list.

Ricardo Torres created FELIX-3741:
-------------------------------------

             Summary: maven-bundle-plugin does not add super-interfaces' packages to the manifest's "Import-Package" list.
                 Key: FELIX-3741
                 URL: https://issues.apache.org/jira/browse/FELIX-3741
             Project: Felix
          Issue Type: Bug
          Components: Maven Bundle Plugin
    Affects Versions: maven-bundle-plugin-2.3.7
         Environment: IPOJO
            Reporter: Ricardo Torres


If your bundle contains a concrete implementation class using the IPOJO @Provides annotation and it implements an interface, that interface's package will be included in the manifest's "Import-Package" list as you would expect. But if that interface in turn extends a second interface, that second interface's package will not be added to the "Import-Package" list.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (FELIX-3741) maven-bundle-plugin does not add super-interfaces' packages to the manifest's "Import-Package" list.

Posted by "Ricardo Torres (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/FELIX-3741?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13488255#comment-13488255 ] 

Ricardo Torres commented on FELIX-3741:
---------------------------------------

Yes, this is me going back and doing some housekeeping on an issue I resolved by manually adding the package (Q in your example) to my imports. I do have some notes on the issue.

Specifically, at run-time the service was not being instantiated, and I was receiving the following error:

[Thread-1] ERROR com.sample.bundle - [ERROR] com.sample.SampleServiceImpl : Service Providing: The service specification com.sample.ICoreService cannot be load

To use the same terminology you used, SampleServiceImpl was the concrete implementation class in the com.sample.bundle. It did import Package P, and that was good to go, but ICoreService was interface B in package Q. Package Q was not imported. The above error was generated. And the SampleServiceImpl was not instantiated.

Thanks.
                
> maven-bundle-plugin does not add super-interfaces' packages to the manifest's "Import-Package" list.
> ----------------------------------------------------------------------------------------------------
>
>                 Key: FELIX-3741
>                 URL: https://issues.apache.org/jira/browse/FELIX-3741
>             Project: Felix
>          Issue Type: Bug
>          Components: Maven Bundle Plugin
>    Affects Versions: maven-bundle-plugin-2.3.7
>         Environment: IPOJO
>            Reporter: Ricardo Torres
>
> If your bundle contains a concrete implementation class using the IPOJO @Provides annotation and it implements an interface, that interface's package will be included in the manifest's "Import-Package" list as you would expect. But if that interface in turn extends a second interface, that second interface's package will not be added to the "Import-Package" list.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (FELIX-3741) maven-bundle-plugin does not add super-interfaces' packages to the manifest's "Import-Package" list.

Posted by "Stuart McCulloch (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/FELIX-3741?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13488258#comment-13488258 ] 

Stuart McCulloch commented on FELIX-3741:
-----------------------------------------

It sounds like something else is involved (a proxy generator perhaps?) which is not respecting/handling the OSGi class loaders, since you should not need to import package Q at runtime. I'd suggest raising this with whatever project is producing the "Service Providing..." message.
                
> maven-bundle-plugin does not add super-interfaces' packages to the manifest's "Import-Package" list.
> ----------------------------------------------------------------------------------------------------
>
>                 Key: FELIX-3741
>                 URL: https://issues.apache.org/jira/browse/FELIX-3741
>             Project: Felix
>          Issue Type: Bug
>          Components: Maven Bundle Plugin
>    Affects Versions: maven-bundle-plugin-2.3.7
>         Environment: IPOJO
>            Reporter: Ricardo Torres
>
> If your bundle contains a concrete implementation class using the IPOJO @Provides annotation and it implements an interface, that interface's package will be included in the manifest's "Import-Package" list as you would expect. But if that interface in turn extends a second interface, that second interface's package will not be added to the "Import-Package" list.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (FELIX-3741) maven-bundle-plugin does not add super-interfaces' packages to the manifest's "Import-Package" list.

Posted by "Ricardo Torres (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/FELIX-3741?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13488292#comment-13488292 ] 

Ricardo Torres commented on FELIX-3741:
---------------------------------------

Thanks.
                
> maven-bundle-plugin does not add super-interfaces' packages to the manifest's "Import-Package" list.
> ----------------------------------------------------------------------------------------------------
>
>                 Key: FELIX-3741
>                 URL: https://issues.apache.org/jira/browse/FELIX-3741
>             Project: Felix
>          Issue Type: Bug
>          Components: Maven Bundle Plugin
>    Affects Versions: maven-bundle-plugin-2.3.7
>         Environment: IPOJO
>            Reporter: Ricardo Torres
>
> If your bundle contains a concrete implementation class using the IPOJO @Provides annotation and it implements an interface, that interface's package will be included in the manifest's "Import-Package" list as you would expect. But if that interface in turn extends a second interface, that second interface's package will not be added to the "Import-Package" list.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Resolved] (FELIX-3741) maven-bundle-plugin does not add super-interfaces' packages to the manifest's "Import-Package" list.

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

Stuart McCulloch resolved FELIX-3741.
-------------------------------------

    Resolution: Not A Problem

This is working as designed - if your code uses an external interface A from package P, that extends interface B from package Q, then you only need to import package P. There is no need to import package Q in order to use interface A, because at the time of import A will have already been fully resolved by the JVM.

Are you seeing a specific problem at deploy time that suggests you need to also import package Q?
                
> maven-bundle-plugin does not add super-interfaces' packages to the manifest's "Import-Package" list.
> ----------------------------------------------------------------------------------------------------
>
>                 Key: FELIX-3741
>                 URL: https://issues.apache.org/jira/browse/FELIX-3741
>             Project: Felix
>          Issue Type: Bug
>          Components: Maven Bundle Plugin
>    Affects Versions: maven-bundle-plugin-2.3.7
>         Environment: IPOJO
>            Reporter: Ricardo Torres
>
> If your bundle contains a concrete implementation class using the IPOJO @Provides annotation and it implements an interface, that interface's package will be included in the manifest's "Import-Package" list as you would expect. But if that interface in turn extends a second interface, that second interface's package will not be added to the "Import-Package" list.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (FELIX-3741) maven-bundle-plugin does not add super-interfaces' packages to the manifest's "Import-Package" list.

Posted by "Ricardo Torres (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/FELIX-3741?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13488257#comment-13488257 ] 

Ricardo Torres commented on FELIX-3741:
---------------------------------------

Here's the thread where I hashed this out on the mailing list: https://mail-archives.apache.org/mod_mbox/felix-users/201210.mbox/%3CCAAkggDoMXvJ995o3=4_gnLWAq9gmYJmJYZGTDJhAtEG7pXeWFQ@mail.gmail.com%3E
                
> maven-bundle-plugin does not add super-interfaces' packages to the manifest's "Import-Package" list.
> ----------------------------------------------------------------------------------------------------
>
>                 Key: FELIX-3741
>                 URL: https://issues.apache.org/jira/browse/FELIX-3741
>             Project: Felix
>          Issue Type: Bug
>          Components: Maven Bundle Plugin
>    Affects Versions: maven-bundle-plugin-2.3.7
>         Environment: IPOJO
>            Reporter: Ricardo Torres
>
> If your bundle contains a concrete implementation class using the IPOJO @Provides annotation and it implements an interface, that interface's package will be included in the manifest's "Import-Package" list as you would expect. But if that interface in turn extends a second interface, that second interface's package will not be added to the "Import-Package" list.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira