On Tuesday 22 March 2016 17:16:54 Carsten Ziegeler wrote:
> David Jencks wrote
> 
> > I’m not certain how the maven-bundle-plugin is set up, but with bnd by
> > itself the default is dsannotatios and metatypeannotations are *, so I’d
> > be surprised if you have to specify them in the instructions here.
> You're right, you don't have to. It seems at some 3.0.0-SNAPSHOT this
> was required and I still have them in my poms :)

You have to specify as Maven Bundle Plugin 3.0.1 uses an older version of bnd 
where those instructions are not the default.

Regards,
O.

> Carsten
> 
> > david jencks
> > 
> >> On Mar 22, 2016, at 12:18 AM, Jens Offenbach <[email protected]> wrote:
> >> 
> >> @Carsten
> >> This is working... Thank you very much for your help!
> >> 
> >> For all those who are on Eclipse PDE and require the OSGI-INF folder in
> >> the project root, use the maven-bundle-plugin with
> >> "<unpackBundle>true</unpackBundle>" and copy the folder to your project
> >> basedir like this: <plugin>
> >> 
> >>    <groupId>org.apache.maven.plugins</groupId>
> >>    <artifactId>maven-resources-plugin</artifactId>
> >>    <executions>
> >>    
> >>            <execution>
> >>            
> >>                    <id>copy-scr-descriptor</id>
> >>                    <phase>process-classes</phase>
> >>                    <goals>
> >>                    
> >>                            <goal>copy-resources</goal>
> >>                    
> >>                    </goals>
> >>                    <configuration>
> >>                    
> >>                            
> >> <outputDirectory>${basedir}/OSGI-INF</outputDirectory>
> >>                            <resources>
> >>                            
> >>                                    <resource>
> >>                                    
> >>                                            
> >> <directory>${project.build.outputDirectory}/OSGI-
INF</directory>
> >>                                            <filtering>false</filtering>
> >>                                    
> >>                                    </resource>
> >>                            
> >>                            </resources>
> >>                    
> >>                    </configuration>
> >>            
> >>            </execution>
> >>    
> >>    </executions>
> >> 
> >> </plugin>
> >> 
> >> Regards,
> >> Jens
> >> 
> >> 
> >> Gesendet: Dienstag, 22. März 2016 um 07:45 Uhr
> >> Von: "Carsten Ziegeler" <[email protected]>
> >> An: [email protected]
> >> Betreff: Re: maven-scr-plugin and DS 1.3 annotations not working
> >> The maven-scr-plugin does not support the DS 1.3 annotations.
> >> Using the maven-bundle-plugin 3.0.1 is all you need. I think you need to
> >> add this configuration to the bundle plugin:
> >> 
> >> <configuration>
> >> <instructions>
> >> <_dsannotations>*</_dsannotations>
> >> <_metatypeannotations>*</_metatypeannotations>
> >> </instructions>
> >> </configuration>
> >> 
> >> Carsten
> >> 
> >> 
> >> Jens Offenbach wrote
> >> 
> >>> Hi,
> >>> I am using maven-scr-plugin:1.21.0,
> >>> org.osgi.service.component.annotations:1.3.0,
> >>> org.apache.felix.scr.ds-annotations:1.2.8 and
> >>> org.apache.felix.scr.annotations:1.9.12 and maven-bundle-plugin:3.0.1.
> >>> 
> >>> This is my annotated class with makes use of the prototype scope:
> >>> 
> >>> @Component(immediate = true, configurationPolicy =
> >>> ConfigurationPolicy.REQUIRE) @Service(HttpContextMapping)
> >>> public class HttpContextMappingComponent implements HttpContextMapping {
> >>> 
> >>> @Reference(scope = ReferenceScope.PROTOTYPE_REQUIRED, cardinality =
> >>> ReferenceCardinality.MANDATORY, bind = "bind", unbind = "unbind")
> >>> private HttpEndpointManager endpointManager;
> >>> ...
> >>> 
> >>> }
> >>> 
> >>> This is the component definition file created by maven-scr-plugin:
> >>> 
> >>> <?xml version="1.0" encoding="UTF-8"?>
> >>> <scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0";
> >>> immediate="true"
> >>> name="test.osgi.service.http.paxweb.impl.component.HttpContextMappingCo
> >>> mponent" configuration-policy="require" activate="activate"
> >>> deactivate="dispose"> <implementation
> >>> class="test.osgi.service.http.paxweb.impl.component.HttpContextMappingC
> >>> omponent"/> <service servicefactory="false">
> >>> <provide
> >>> interface="org.ops4j.pax.web.extender.whiteboard.HttpContextMapping"/>
> >>> </service>
> >>> </scr:component>
> >>> 
> >>> The prototype scope definition is missing and the plugin has classified
> >>> the component as DS 1.1.0 compliant.
> >>> 
> >>> Furthermore the build failed with the following error message:
> >>> [INFO] --- maven-bundle-plugin:3.0.1:bundle (default-bundle) @
> >>> test.osgi.service.http.paxweb --- [ERROR] Bundle
> >>> test:test.osgi.service.http.paxweb:bundle:1.0.0-SNAPSHOT :
> >>> Service-Component entry can not be located in JAR:
> >>> OSGI-INF/test.osgi.service.http.paxweb.impl.component.HttpContextMappin
> >>> gComponent.xml~ [ERROR] Error(s) found in bundle configuration
> >>> 
> >>> With maven-bundle-plugin:2.3.7 the build is working and the component
> >>> definition files get added to the jar.
> >>> 
> >>> Has anybody an idea what's going on?
> >>> 
> >>> ---------------------------------------------------------------------
> >>> To unsubscribe, e-mail: [email protected]
> >>> For additional commands, e-mail: [email protected]
> >> 
> >> --
> >> Carsten Ziegeler
> >> Adobe Research Switzerland
> >> [email protected]
> >> 
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: [email protected]
> >> For additional commands, e-mail: [email protected]
> >> 
> >> 
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: [email protected]
> >> For additional commands, e-mail: [email protected]
> > 
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [email protected]
> > For additional commands, e-mail: [email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to