[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [aspectj-users] Re: ITD content assist in separate project

I just wrote about this problem recently:

http://contraptionsforprogramming.blogspot.com/2010/03/intertype-declaration-support-in-java.html

You do not need to use class folder dependencies and you do not need
to make your project an AJ project (well, not really).  You need to
add the AJ nature (so Eclipse treats your project like an AJ project),
but continue to use the Java Builder (the post above describes how).
There should be a way of specifying that a project should get an AJ
nature from within your pom.xml (I can look it up for you if you
want).

> I have tried adding the AspectJ nature to the consuming project, although this seems counter-intuitive to me.  It did make some errors go away on the editor.
> But surely this shouldn't be necessary, since there are no aspects or ITDs in this consuming project.

This is exactly necessary.  It should have worked to remove all of
your errors.  I am surprised that it did not.  The reason why it is
necessary is that ITD awareness (ie- content assist, navigation, etc)
takes extra processing time that we do not want to spend on pure Java
projects since most of them will not be consuming any AspectJ
projects.

On Tue, Mar 9, 2010 at 3:48 PM, Sharon Gorman
<sharongormanwork@xxxxxxxxx> wrote:
> Hi Andy,
> Have taken a look at that bug, and just a bit more to clarify.
> 1) I do not really have an issue with making it and AspectJ project.   In my
> opinion this is fine as a work around.  My issue was that even when I did
> this, the code assist did not work correctly.
> 2) Once I removed and re-added my project dependency via eclipse, rather
> than relying on m2eclipse, the code assist started working.  I note that the
> m2Eclipse adds the dependency under "Maven Dependencies" on the Package
> explorer whereas once I re-added it it appears under the "Web App
> Libraries".
>
> Does that make sense?

If you are saying in #2, that you are adding a binary dependency
between the two projects?  If so, then this makes sense.  If not, then
there is no reason why you should have ITD awareness in a purely Java
project.

I am considering adding a new command that just adds the AJ nature,
but does not change the compiler.  I'm beginning to think this will be
something that is useful.