RE: [aspectwerkz-user] Speeding up roundtrip

"Khan, Atif (Matrix)" <[email protected]> Wed, 22 Jun 2005 10:24:42 -0400
Newsgroups gmane.comp.java.aspectwerkz.user
Message-ID <[email protected]>
Let me clarify my environment a little.
 
My Eclipse IDE doesn't weave the classes using AspectWerkz. It uses a
separate directory for classes. We use ANT scripts to do out builds for
different environments and that's where we use Aspectwerkz and compile time
weaving.
 
Regards
Atif Khan

  _____  

From: Mattias Jiderhamn [mailto:[email protected]] 
Sent: Wednesday, June 22, 2005 4:05 AM
To: [email protected]
Subject: RE: [aspectwerkz-user] Speeding up roundtrip


So your project still compiles against the weaved classes?
My experience is that I have to recompile all classes, or I will get
compilation errors.
But honestly, when I try to recreate this to post the error it works just
fine. I will get back to you if the problem reappears.

At 2005-06-21 16:56, you wrote:


I can definitely share this. I am just not sure how do I do that. Is this
something that I can contribute to the base of AspectWerkz?
 
I do not use a different output directory. So, I don't have to copy any
classes. Only the classes written to the text file by JAVAC task are weaved
by the AspectWerkzCTask.
 
Regards
Atif Khan


  _____  

From: Mattias Jiderhamn [  <mailto:[email protected]>
mailto:[email protected]] 
Sent: Tuesday, June 21, 2005 10:12 AM
To: [email protected]
Subject: RE: [aspectwerkz-user] Speeding up roundtrip

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.

***************************************************************************