RE: [aspectwerkz-user] Speeding up roundtrip

Mattias Jiderhamn <[email protected]> Tue, 21 Jun 2005 16:11:52 +0200
Newsgroups gmane.comp.java.aspectwerkz.user
Message-ID <[email protected]>
Interresting. Is this something you would like to share?

Have you also made AspectWerkzC use a different 
output directory, or do you make a copy of all 
the (modified) class files first, so that you 
don't have to recompile all classes next time?

At 2005-06-21 15:13, you wrote:

>We had the same issue. Our codebase is really 
>big. So, what I did was to override the "javac" 
>ANT task to write the file list to a text file. 
>Since javac already checks for the timestamps, 
>it only compiles the modified classes. This way 
>I have a list of only modified classes. I then 
>extended the AspectwerkzCTask to read the files 
>from this text file and AOP compile them. This 
>way I don't have to weave the whole codebase evrytime.
>
>Regards
>Atif Khan
>
>-----Original Message-----
>From: Alexandre Vasseur 
>[<mailto:[email protected]>mailto:[email protected]]
>Sent: Tuesday, June 21, 2005 7:04 AM
>To: [email protected]
>Subject: Re: [aspectwerkz-user] Speeding up roundtrip
>
>Hi
>
>You perhaps need to see how the matching is done 
>using -Daspectwerkz.transform.details=true
>That may help to narrow call side (call/get/set) 
>pointcuts f.e. One such pointcut can indeed 
>sometime lead to parsing everry single bytecode instruction.
>
>Aside you may use include/exclude element in 
>your aop.xm if you know that some files will not be weaved at all.
>
>AspectWerkzC does not support writing to a different location.
>On the other hand you may be able to implement a 
>wrapper that checks for .class file timestamps 
>to compile only modified files (then keep track 
>of the lastRun timestamp in some per project file)
>
>Alex
>
>On 6/21/05, Mattias Jiderhamn <[email protected]> wrote:
> > Our application is big enough to require a few minutes of offline
> > weaving on my machine, so we use online weaving in development. On the
> > other hand, reloading the application in the web container using
> > online weaving isn't much better (say ½-1 minute). This makes
> > developing very slow, since the code-compile-test cycle has a lot of
> > weaving overhead.
> >
> > Is there any better way to do this? Can I have AspectWerkz weave only
> > modified classes offline?
> > If I weave the whole project and then try to compile in my IDE
> > (IntelliJ), I get compiler errors. Could I make AspectWerkzC output
> > the weaved files in a different directory, so that I can compile from
> > the IDE and then have AspectWerkz weave the modified classes only?
> >
> > Thanks in advance,
> >    Mattias Jiderhamn
> >
> >
>
>****************************************************************************
>This email and any attachments hereto contain 
>confidential and/or privileged information. This 
>information is intended solely for the 
>individual or entity named herein. If the reader 
>of this email is not the intended recipient, you 
>are hereby notified that any use, disclosure, 
>storage, dissemination, or duplication of this 
>communication is strictly prohibited.If you have 
>received this communication in error, please 
>notify the sender immediately by telephone - +65 
>63956166, or by return e-mail, and delete the 
>message from your computer. As the intended 
>recipient, you acknowledge that emails 
>transmitted over the World Wide Web may be 
>subject to hacking or unauthorised 
>interferences. If in doubt as to the form in 
>which this message was originally transmitted, 
>please verify directly with the writer.
>
>***************************************************************************