Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [aspectj-users] AspectJ PDE export problems

On Fri, Mar 18, 2011 at 11:38 AM, Davidosky <davide.aresta84@xxxxxxxxx> wrote:
> Then the situation seems to be difficult... the project i'm talking about is
> this : http://code.google.com/p/econference4/

Yes. This is significantly more complicated than just using vanilla
compile time weaving inside a single bundle.

One thing you can consider is to put all of your aspects into a single
jar and include this jar in all of your bundles that require weaving.
The weaving can then happen at compile time.

As described here:
http://contraptionsforprogramming.blogspot.com/2010/03/ajdt-pde-builds-redux.html

You can set aspect path and in path using the -compilerArgs option.

Of course, there are downsides to this, but at least you don't need to
twiddle with load time weaving.  This isn't particularly difficult,
but it can be a bit daunting the first time you try it.

> How can I use Load time weaving in this project? I have to create a run
> configuration for the product or something else?

No.  You need to use Equinox Aspects (aka Equinox Weaving) as I
mentioned before.  This will automatically handle the LTW for you, but
you need to configure it properly.  Three things you need to do (all
explained on here:
http://www.eclipse.org/equinox/incubator/aspects/

1. ensure that the Equinox weaving bundles are included with your RCP
app.  This includes: org.eclipse.equinox.weaving.  aspectj, hook,
caching

2. To your RCP app's config.ini, ensure that this line exists:
osgi.framework.extensions=org.eclipse.equinox.weaving.hook

3. Ensure that the o.e.e.w.aspectj bundle is set to be auto-started

4. Finally, augment your MANIFEST.MF files as described here:
http://www.eclipse.org/equinox/incubator/aspects/equinox-aspects-quick-start.php

5. Create an aop.xml file for all of your aspect bundles and put them
in your META-INF directory.

> The thing I don't understand is why from eclipse runs fine, but exported
> not...

The reason why things run fine in eclipse is because (presumably), you
have the correct Aspect/In path configured for your bundles and so the
compilation inside Eclipse is working fine.  However, the PDE builder
does not use the same settings as the JDT builder (that's why you need
to duplicate information in both your .classpath and your
build.properties files).


Back to the top