There is a class in bnd that can do this: aQute.lib.osgi.Clazz, it does not
need access to the actual annotation classes.
bnd uses CLASS annotations for its DS support because it is a lot easier to
parse byte codes than source code.
Kind regards,
Peter Kriens
On 18 nov 2010, at 20:47, Felix Meschberger wrote:
> Hi,
>
> Am Donnerstag, den 18.11.2010, 11:50 -0500 schrieb Justin Edelson:
>> On Thu, Nov 18, 2010 at 3:35 AM, Felix Meschberger <[email protected]>
>> wrote:
>>> Hi,
>>>
>>> Am Sonntag, den 01.08.2010, 14:07 +0200 schrieb Reto Bachmann-Gmuer:
>>>> Hi Atle
>>>>
>>>> In the clerezza projects we're using more and more scala, the biggest
>>>> disandvantage for me is that the maven-scr-plugin doesn't work for scala so
>>>> I've to write the ds component descriptor by hand. We generallay don't use
>>>> objects but classes, having ds caring about creating and activating the
>>>> instances.
>>>
>>> I am by no means a Scala expert (whatever you will say now, but I am
>>> just scared by the syntax ;-) )
>>>
>>> So, coming back to the scr-plugin problem: The plugin (currently) reads
>>> the source files with the help of the QDox library. So I would assume
>>> that the inability of the plugin to process Scala is related to this
>>> situation.
>>>
>>> If you would know of a tool to read Scala source files for consumption
>>> by the plugin, you are welcome to guide us there (or even better provide
>>> a patch to use it ;-) ).
>>>
>>> I think a similar problem exists for Groovy (and yes, it would be nice
>>> to have something there, too ;-) ).
>>
>> In theory, you might be able to use annotations (i.e. "real"
>> annotations, not JavaDoc/QDox annotations). I've been planning on
>> trying this technique with Groovy and maven-scr-plugin, but I haven't
>> had the time to try it out. Beyond the fact that I personally prefer
>> to use @Component instead of @scr.component, it just like parsing
>> Scala (or Groovy) sources is far more complex than using the
>> reflection API. To be clear, this is still going to require surgery to
>> the scrplugin code, I just have a feeling that the surgery is going to
>> more like foot surgery than brain surgery (if this metaphor makes
>> sense).
>
> The point about having QDox also parse for the Annotations is, that the
> Annotations are defined to not be added to the class files to not create
> run-time dependencies and to not create class-file incompatibilities.
>
> Now, you may say we were over-cautious in this respect and another
> retention policy would be viable (in terms of not creating runtime
> dependencies), e.g. CLASS or even RUNTIME.
>
> If we can go with that, it should -- theoretically -- be possible to
> actually read the annotations from the classes instead of using the QDox
> parser.
>
> Regards
> Felix
>
>>
>> Justin
>>
>>>
>>> Regards
>>> Felix
>>>
>>>>
>>>>
>>>> Cheers,
>>>> reto
>>>>
>>>> On Sun, Aug 1, 2010 at 8:37 AM, Atle Prange <[email protected]> wrote:
>>>>
>>>>> Thank you for the replies, my journey can continue, although with a sligth
>>>>> blow to my self esteem, i thought i was an experienced programmer, i guess
>>>>> i
>>>>> have to read more books....
>>>>>
>>>>>
>>>>> -atle
>>>>>
>>>>> On Sat, Jul 31, 2010 at 11:02 PM, Christopher Brind <[email protected]
>>>>>> wrote:
>>>>>
>>>>>> Have never used Scala myself, but Peter Kriens discussed this in his blog
>>>>>> recently:
>>>>>> http://www.osgi.org/blog/2010/07/scala-components-vs-osgi.html
>>>>>>
>>>>>> Hope it helps in some way.
>>>>>>
>>>>>> Cheers,
>>>>>> Chris
>>>>>>
>>>>>>
>>>>>> On 31 July 2010 21:58, Atle Prange <[email protected]> wrote:
>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> i am about to embark on a journey involving scala and osgi. But it
>>>>>> appears
>>>>>>> to me (ref. my last question on this list regarding static references)
>>>>>> that
>>>>>>> it might not be a good idea, since the otion of scala objects actually
>>>>>> are
>>>>>>> implemented as singletons, and therefor never will be cleaned up after
>>>>> a
>>>>>>> bundle is unloaded. Does anybody here have experience with scala on
>>>>> osgi,
>>>>>>> and could give me a hint on this matter?
>>>>>>>
>>>>>>> -atle
>>>>>>>
>>>>>>
>>>>>
>>>
>>>
>>>
>>> ---------------------------------------------------------------------
>>> 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]