aries-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "David Bosschaert (JIRA)" <>
Subject [jira] Commented: (ARIES-373) Sample implementention of AspectJ-based SPI mechanisms for SPI-Fly
Date Wed, 08 Sep 2010 12:42:36 GMT


David Bosschaert commented on ARIES-373:

Hi Bartek,

Just looking at your patch again. I guess the intention is that those 4 bundles you've attached
be checked into the weaverBundles directory in SVN, right?

Are these bundles not available somewhere via maven? If not, I'm sure there they are available
somewhere via a plain http get. Rather than checking megabytes of non-apached licensed binary
code, we could also use an embedded ant task that gets downloads them into the weaverBundles
directory if they aren't there yet...

Hope this makes sense...


> Sample implementention of AspectJ-based SPI mechanisms for SPI-Fly
> ------------------------------------------------------------------
>                 Key: ARIES-373
>                 URL:
>             Project: Aries
>          Issue Type: Improvement
>         Environment: SPI-Fly
>            Reporter: Bartosz Kowalewski
>         Attachments: aries-373-updated.patch, ARIES-373.patch, org.aspectj.runtime-,
org.aspectj.weaver-, org.eclipse.equinox.weaving.aspectj-,
> David Bosschaert some time ago contributed a set of Equinox Aspects-based examples showing
how to use aspects to make SPI work inside an OSGi container. I promised to contribute an
enhanced version of these mechanisms and integrate these into SPI-Fly /Maven projects, Pax
Exam, etc./. I'll attach a patch with those changes in a moment. 
> Few important notes:
> 1. This is not intended to be committed directly to Aries SVN. The only purpose of this
patch is to provide initial impl that could be used when doing additional experiments and
evaluation. The patch is dirty, I was in hurry when doing it and there are lots of ugly pieces
of code inside :). If we decide to go with this approach, I'll prepare a clean patch once
I'm back from vacation - in two weeks' time.
> 2. The problems that were identified in the discussion about using AspectJ in SPI-Fly
haven't been resolved yet. This includes (but is not limited to): 
> - being tightly coupled to Equinox; this piece of code is based on Equinox Aspects/Weaving;
this will not work wit any other container
> - inability to tell AspectJ to run an aspect on behalf of other bundle; each bundle that
wants to use these new features, needs to contain an aspect and other settings like a Require-Bundle
> 3. This patch introduces a SPI-Consumer header and enhances the SPI-Provider header.
A Pax Exam test show how to use this new functionality once you copy the aspect to your bundle
and configure Require-Bundle header.
> 4. I haven't found the latest version of Equinox Weaving in any of publicly available
Maven repos. That is why, these libraries will need to be copied manually to the itests project
(to the weaverBundles subdirectory). I'll attach these bundles to this JIRA.
> This patch is huge, so I guess there might some issues with applying it. If you have
problems with that, let me know and I'll try to generate it again.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message