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

Guillaume Sauthier commented on FELIX-3827:
-------------------------------------------

Thinking aloud ...

We may implement 2 policies to manage that issue:
  1. Always ignore annotated classes from embed dependencies
  2. Use them whenever possible

#2 is a little bit more complex and broke down into 3 cases (AFAIU)
  a. dep is a simple jar file. that looks like an error case where an iPOJO 
components is packaged into a non-bundle archive
  b. dep is a regular bundle archive, but not manipulated by iPOJO (classes not 
modified, no IPOJO-Components header in the manifest). In that case, we can 
manipulate the classes and store the modified bytecode in the root archive 
(having '.' in the bundle-classpath will make sure that we'll load the modified 
classes). But we can choose also to ignore them :)
  c. dep is a regular AND manipulated bundle. We should ignore the annotated 
classes since they are already manipulated. But we should "merge" its computed 
IPOJO-Components within the current Manifest result of this Bnd execution
                
> Error in bbd-ipojo-plugin of manipulating jar with embedded dependencies with 
> maven bundle plugin + bnd-ipojo-plugin
> --------------------------------------------------------------------------------------------------------------------
>
>                 Key: FELIX-3827
>                 URL: https://issues.apache.org/jira/browse/FELIX-3827
>             Project: Felix
>          Issue Type: Bug
>          Components: iPOJO
>    Affects Versions: ipojo-manipulator-1.8.6
>         Environment: Missing component and version in the JIRA list ?
>            Reporter: Florent BENOIT
>            Assignee: Guillaume Sauthier
>         Attachments: ipojo.bug.tgz
>
>
> If a bundle using maven bundle plugin+ipojo plugin embed dependencies on 
> another bundle and that the embedded bundle contains ipojo annotations there 
> is a failure :
> [WARNING] Bundle org.ipojo.bug:component2:bundle:1.0-SNAPSHOT : Cannot read 
> content of org/ipojo/bug/component1/MyComponent1.class
> [ERROR] Bundle org.ipojo.bug:component2:bundle:1.0-SNAPSHOT : Cannot compute 
> annotations from org/ipojo/bug/component1/MyComponent1.class : Empty file
> In my case I don't care of annotations that are on the embedded jars.

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

Reply via email to