Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [aspectj-users] Aspectj only works on annotations when they are in the same project? (using OSGI)

I hope I can explain everything correctly.

I have my aspect in bundle A. My join points are in bundle B. My annotation is in bundle A, but I am not even sure if this matters at all. My ant compilation for bundle B has an aspect path dependency I believe, I use this iajc tag:

<iajc inpath="${bin.dir}" destdir="${bin.dir}" aspectPath="${blueprint.home}/plugins/undo_1.0.0.jar" debug="true">
        <classpath refid="classpath" />
</iajc>

I have another aspectj function in my .aj file in bundle A. This one works, which is why I think the usage of annotations is somehow causing the problem.

	void around() : call(void java.io.PrintStream.println(String))
	&& !within(HelloAspect){
		System.out.println("Hi from HelloAspect ;-)");
	}

________________________________________
From: aspectj-users-bounces@xxxxxxxxxxx [aspectj-users-bounces@xxxxxxxxxxx] On Behalf Of Andy Clement [andrew.clement@xxxxxxxxx]
Sent: Friday, July 09, 2010 11:55 AM
To: aspectj-users@xxxxxxxxxxx
Subject: Re: [aspectj-users] Aspectj only works on annotations when they are    in the same project? (using OSGI)

Hi,

How does your code containing the join points compile if you don't
have the annotation in the same project that is using it?  Do you have
a classpath dependency (maybe an aspectpath dependency) from the join
point containing project to the aspectj project?  I would need to know
how the annotation is being used in the code-to-be-woven and what
relationships you have between the projects.

Andy

On 9 July 2010 07:19, Kashtan, Daniel <Daniel.Kashtan@xxxxxxx> wrote:
> Hey all,
>
> I am using compile-time-weaving and OSGI. I cannot figure out why, but my aspects don't work unless my annotation file is in the same project where my join points are. Basically, I have gotten the aspect below to work if my aspect is in one project, and my annotation and java code with join points are in another. I'd like to move my annotation file into the same project as the one with the aspect, but my aspects will stop working then :(
>
> I am using aspect code like this:
>
>        after() : call(@CommitingFunction * *(..))
>        {
>                System.out.println("Commit clicked");
>        }
>
> My annotation is simply just this:
>
> @Retention(RetentionPolicy.RUNTIME)
> public @interface CommitingFunction
> {
>
> }
>
> This e-mail and any files transmitted with it may be proprietary and are intended solely for the use of the individual or entity to whom they are addressed. If you have received this e-mail in error please notify the sender.
> Please note that any views or opinions presented in this e-mail are solely those of the author and do not necessarily represent those of ITT Corporation. The recipient should check this e-mail and any attachments for the presence of viruses. ITT accepts no liability for any damage caused by any virus transmitted by this e-mail.
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>
_______________________________________________
aspectj-users mailing list
aspectj-users@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/aspectj-users


Back to the top