Hi

How complex would it be to create a bndtools plugin for our annotations ?

Regards
Felix

-------- Original Message --------
Subject: Re: BndTools and DS 1.2 Annotations
From: Neil Bartlett <njbartl...@gmail.com>
To: bndtools-us...@googlegroups.com
CC:




Bndtools doesn't support the Felix SCR annotations, and I have no plans to 
support them. Frankly I'd like to see at least one of these sets of annotations 
die out, as it's confusing having three.

To build with the Felix annotations you can use the maven-scr-plugin, or the 
ANT task here: http://felix.apache.org/downloads.cgi#ant. Neither are 
integrated with the Bndtools incremental builder, so you would need to run a 
full build in order to get your XML generated.

Regards,
Neil

On Sat, Mar 16, 2013 at 7:53 AM, Hsufeng Ko 
<hsuf...@gmail.com<mailto:hsuf...@gmail.com>> wrote:
Oh, so there are Bnd annotation, standard annotation, felix annotations, and 
they are all different. Thanks for pointing that out to me, Neil.

However, I really like to be able to use/apply Felix scr annotations. Is there 
a way that I can generate XML Descriptor using Bndtools within Eclipse? If not, 
how do people usually go about generating XML Descriptor from Felix annotations?

On Friday, March 15, 2013 9:34:01 PM UTC-7, Neil Bartlett wrote:
You have not use the standard annotations! The clue is in the package name: 
"org.apache.felix.scr.annotations" ;-)

The *standard* annotations use the package name 
"org.osgi.service.component.annotations".

Regards,
Neil

On Sat, Mar 16, 2013 at 2:28 AM, Hsufeng Ko <hsu...@gmail.com> wrote:
How do I switch to use DS 1.2 Annotations for my Eclipse project using Bndtools 
plugin?

Using Bndtools in Eclipse, I went to my project's bnd.bnd file and toggle 
between 'Bnd Annotations' and 'DS 1.2 Annotations'

When I choose to use 'Bnd Annotations', I had my java code annotated as below,

import aQute.bnd.annotation.component.*;
import org.example.api.*;

 @Component
 public class ExampleComponent implements Greeting {
 public String sayHello(String name) {
 return "Hello " + name;
 }
}

As a result of the build, the generated bundle jar was built successfully with 
OSGI-INF/org.example.ExampleComponent.XML generated and included.

However, when I chose to use 'DS 1.2 Annotations' toward my java code annotated 
as below (with label=..., description=...),


package org.example;

import org.apache.felix.scr.annotations.Component;
import org.apache.felix.scr.annotations.Properties;
import org.apache.felix.scr.annotations.Property;
import org.apache.felix.scr.annotations.PropertyUnbounded;
import org.apache.felix.scr.annotations.Reference;
import org.apache.felix.scr.annotations.Service;
import org.example.api.*;

@Component(label = "label", description="description", metatype=true, 
immediate=true)

public class ExampleComponent implements Greeting {
public String sayHello(String name) {
return "Hello " + name;
}
}


I could compile and build but it did not generate 
OSGI-INF/org.example.ExampleComponent.XML at all as if the annotation didn't 
exist. :(


I'm new to this and trying to use Bndtools for OSGi development but I couldn't 
get the above simple standard DS annotation to work. What step did I miss? Or 
Bndtools simply is not for standard DS so it failed silently?

On Wednesday, January 23, 2013 12:07:04 AM UTC-8, Neil Bartlett wrote:
I disagree with BJ. The standard DS annotations are more limited than the bnd 
ones, for example they have no support for metatype XML generation. For this 
reason, Peter and I (and several others) are continuing to use the bnd 
annotations, and we do intend to keep them up to date with future changes in 
the DS specification.

Some people dislike using the bnd annotations for aesthetic reasons, because 
they are in the "biz.aQute" namespace, so the "org.osgi" namespace of the 
standard annotations is seen as preferable. Personally I don't find this 
particularly important, especially as both sets of annotations are build-time 
only and do not create runtime dependencies.

Neil




On Wed, Jan 23, 2013 at 4:43 AM, BJ Hargrave <b...@bjhargrave.com> wrote:


On Jan 22, 2013, at 22:24 , St Clair Clarke <st.clai...@gmail.com> wrote:

>
> Considering that there should be minimal evolution in bnd annotation, would 
> you suggest/recommend it to be the more stable form of the two to use?

The DS annotations are the best choice as OSGi will update them when the DS 
spec is updated. This will of course need a corresponding update in bnd which 
processes the annotations.

--

BJ





--
You received this message because you are subscribed to the Google Groups 
"bndtools-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to bndtools-user...@googlegroups.com.

For more options, visit https://groups.google.com/groups/opt_out.




--
You received this message because you are subscribed to the Google Groups 
"bndtools-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to 
bndtools-users+unsubscr...@googlegroups.com<mailto:bndtools-users%2bunsubscr...@googlegroups.com>.
For more options, visit https://groups.google.com/groups/opt_out.




--
You received this message because you are subscribed to the Google Groups 
"bndtools-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to bndtools-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to