[
https://issues.apache.org/jira/browse/ARIES-373?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Bartosz Kowalewski updated ARIES-373:
-------------------------------------
Attachment: org.eclipse.equinox.weaving.aspectj-1.0.0.200906171200.jar
org.eclipse.equinox.weaving.hook-1.0.0.200905261348.jar
> Sample implementention of AspectJ-based SPI mechanisms for SPI-Fly
> ------------------------------------------------------------------
>
> Key: ARIES-373
> URL: https://issues.apache.org/jira/browse/ARIES-373
> Project: Aries
> Issue Type: Improvement
> Environment: SPI-Fly
> Reporter: Bartosz Kowalewski
> Attachments: ARIES-373.patch,
> org.aspectj.runtime-1.6.7.20100105084524.jar,
> org.aspectj.weaver-1.6.7.20100105084524.jar,
> org.eclipse.equinox.weaving.aspectj-1.0.0.200906171200.jar,
> org.eclipse.equinox.weaving.hook-1.0.0.200905261348.jar
>
>
> 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 contributed an enhanced verion 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 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 header
> 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.