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

Pierre De Rop commented on FELIX-4135:
--------------------------------------

finally, I think I found why the scr annotations were not parsed by the scr bnd 
plugin: the problem comes from the 
META-INF/services/org.apache.felix.scrplugin.annotations.AnnotationProcessor in 
the org.apache.felix.scr.bnd-1.0.0-SNAPSHOT.jar file, which contains this:

 org.apache.felix.scrplugin.ds.DSAnnotationProcessor

So the other processors are missing (scr and sling processors), and if I 
manually add the other processors in the 
META-INF/services/org.apache.felix.scrplugin.annotations.AnnotationProcessor 
resource file, then all is working fine (scr annotations + DS annotations are 
properly handled in bndtools):

 org.apache.felix.scrplugin.ds.DSAnnotationProcessor
 org.apache.felix.scrplugin.processing.SCRAnnotationProcessor
 org.apache.felix.scrplugin.processing.SlingAnnotationProcessor

The problem actually comes from the pom.xml of the attached scr bnd project, 
which is including the org.apache.felix.scr.annotations and the 
org.apache.felix.scr.ds-annotations artifacts in the target bndtools jar like 
this:

  <includeArtifactIds>
        ...,org.apache.felix.scr.annotations,org.apache.felix.scr.ds-annotations
  </includeArtifactIds>

So, the 
META-INF/services/org.apache.felix.scrplugin.annotations.AnnotationProcessor 
included from org.apache.felix.scr.ds-annotations artifact just overrides the 
one from org.apache.felix.scr.annotations. That's why the sling and scr 
processors are missing.

I have to find a way to merge the 
META-INF/services/org.apache.felix.scrplugin.annotations.AnnotationProcessor 
resource file from org.apache.felix.scr.ds-annotations and 
org.apache.felix.scr.annotations artifacts into the the target bndtools jar 
(org.apache.felix.scr.bnd) 

...





                
> Bnd scrplugin contrib
> ---------------------
>
>                 Key: FELIX-4135
>                 URL: https://issues.apache.org/jira/browse/FELIX-4135
>             Project: Felix
>          Issue Type: Improvement
>          Components: Maven SCR Plugin
>            Reporter: Pierre De Rop
>            Priority: Minor
>         Attachments: bnd-scr-plugin.2.tgz, bnd-scr-plugin.tgz, 
> test.bndtools.scrplugin.tgz
>
>
> This issue is related to the following post, which is about writing a 
> bndtools plugin for the Apache Felix Scrplugin annotations:
>  http://www.mail-archive.com/[email protected]/msg29200.html
> If this may help, I have attached to this issue a simple BND plugin, which 
> internally invokes the SCRDescriptorGenerator in order to generate the 
> descriptors for Apache Felix Scr annotations, as well as DS 1.2 annotations 
> (using the scrplugin generator).
> Basically, just adding the following parameter in a directives.bnd file 
> allows to invoke the plugin:
>     -plugin 
> org.apache.felix.scrplugin.bnd.SCRDescriptorBndPlugin;destdir=target/classes
> I did some tests using a BND Ant task, and it seems to work, and will try to 
> do a test with bndtools this week (for now I don't know how to add a plugin 
> in bndtools, but I guess it's easy).

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