Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [aspectj-users] Faster incremental weaving

Hi Tahir,

I don't particularly like the incremental ajc task and, yes, it works
by behaving as a long running process.  The incremental state needs to
be held in memory between compiles.  This could be held on disk and
the task not require a long running process but I don't think we'll be
tackling that in the 1.6.X timeframe.

> Our current intended use of AspectJ is simple. Something along the line of
> advising methods marked with a custom annotation.
> I was wondering whether it makes sense to write a custom APT processor to
> weave only the classes that get recompiled by javac ant task?
> I understand that this setup will work correctly in very limited scenarios
> but still would like to explore this option.

I've not done that myself but it sounds like it would work.  If the
aspects change you'll of course need a bigger build, but if just a few
simple files change that are affected purely by advice, I don't see
why they cannot be woven 'standalone'.  The act of advising a type
should not cause its public interface to change (new/changed/removed
methods/fields) and so it shouldn't cause you to need to recompile
other types based on the weaving.

Andy

2009/6/15 Tahir Akhtar <tahir@xxxxxxxxxxxxxxxxxxx>:
> Hi,
> I am evaluating the use of AspectJ in project that contains more than 2500
> java source files.
> The project uses a complex ant build file that does a lot of different stuff
> (like creating and signing applet jars, pre-compiling jsps, jarjar some
> external libs etc).
> The same build process is used by around 20 developers, QA and release
> staff.  As a lot of people run the build process several times a day, any
> change in build process that introduces large delays will not be acceptable.
>
> I have tried iajc ant task with "incremental" option. But the interactive
> nature of this process doesn't appear to be what I need. For example, when
> QA person receives a couple of java source files and a jsp, s/he needs to
> run the complete build process so classes are compiled and jsp gets copied
> to correct location. So waiting with an interactive prompt for incremental
> compilation won't work unless we run build process from two console windows
> simultaneously.
>
> Our current intended use of AspectJ is simple. Something along the line of
> advising methods marked with a custom annotation.
> I was wondering whether it makes sense to write a custom APT processor to
> weave only the classes that get recompiled by javac ant task?
> I understand that this setup will work correctly in very limited scenarios
> but still would like to explore this option.
>
> Any suggestions?
>
> Regards
> Tahir Akhtar
>
>
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>


Back to the top