Great! On Fri, May 21, 2010 at 9:19 AM, Andy Clement <[email protected]>wrote:
> I have already fixed the need to set -xmlConfigured this morning - > under bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=313936 - it > will now be set automatically for you. > > The full build problem on aop.xml editing still needs an AJDT issue > raising though. > > cheers > Andy > > On 21 May 2010 09:09, Benyi Wang <[email protected]> wrote: > > Hi Andy, > > The project is just for testing how to use aop.xml to avoid weaving JUnit > > test code. Sorry for packing all files in a hurry without finding the > error > > in aop.xml. > > I use beforeAddNewData() advice to test the difference "call" and > > "execution". I'm still a newbie in AspectJ. Because I only call it in > test > > code, the pointcut is "call", and aop.xml excludes the test code, not > > matching is exactly what I expected. > > Ok. I will do a full build in the future. > > I do need to set -xmlConfigured in my eclipse. How can I help to figure > out > > where is wrong? > > Here is my AJDT version: > > AJDT Plugin Development Tools 2.0.2.e35x-20100105-0900 > > org.eclipse.ajdt.pde.build.feature.group > > Thanks. > > Ben > > > > On Fri, May 21, 2010 at 8:45 AM, Andy Clement <[email protected]> > > wrote: > >> > >> I'm afraid I have no idea what your project is supposed to do - you > >> didn't say. It builds for me and the tests all run. (there was an > >> syntax error in the aop.xml file I had to fix - it wasn't valid xml). > >> > >> Should some piece of advice not be matching somewhere? > >> > >> I found the beforeAddNewData() advice in the MyAspect was not matching > >> anything, when I remove the scope setting in aop.xml then it starts > >> matching the testcode, when I add the scope setting back into the > >> aop.xml then it stops matching the testcode - that seems the right > >> behaviour?? What do you see differently to that? > >> > >> You will need to do full builds between edits on the aop.xml file, we > >> don't support incremental compilation with aop.xml editing. So I see > >> a few issues that you should raise as bugs: > >> > >> -xmlConfigured should be turned on automatically. That code is > >> already in AspectJ, if it isn't working, that is a bug. You don't > >> need to set it in the IDE. > >> > >> a full build should be kicked off for any edit/save of an aop.xml file > >> actively in use on the aop.xml management page. This is an AJDT > >> issue. > >> > >> > >> Andy > >> > >> On 20 May 2010 12:14, Benyi Wang <[email protected]> wrote: > >> > I found what was wrong when I switched to aop.xml management: I didn't > >> > add > >> > -xmlConfigured into "Project properties->AspectJ > >> > Compiler->Other->Non-standard compiler options". After adding it, the > >> > project is compiled correctly. > >> > Then both of changes exclude my Junit test classes from weaving: > >> > <aspect name="MyAspect" scope="!com.foo.bar.Test.*Test"/> > >> > and > >> > <weaver> > >> > <exclude within="com.foo.bar.Test.*Test"/> > >> > </weaver> > >> > I also did a test. If I remove -xmlConfigured, the project cannot be > >> > compiled correctly. > src/test/java/com/foo/bar/Test/AjdtWeavingTest.java > >> > is > >> > not compiled. The files under src/main/java are compiled, but not be > >> > weaved. > >> > I attached my project here. Not sure if this is a bug. > >> > Thanks a lot. > >> > On Thu, May 20, 2010 at 11:45 AM, Andy Clement > >> > <[email protected]> > >> > wrote: > >> >> > >> >> > It seems that AJDT tries to weave all classes in a project by > >> >> > default. > >> >> > I attached files in a test project. > >> >> > >> >> yes > >> >> > >> >> > When I use "call" for pointcuts of interface Addable in MyAspect, > >> >> > AJDT > >> >> > tries > >> >> > to weave the interface calls of the mock object. Sometimes I don't > >> >> > want > >> >> > the > >> >> > advices in my unit test code, for example, advices from the log > >> >> > aspect. > >> >> > How can I prevent AJDT from weaving junit test case classes? > >> >> > >> >> You can set the within clauses for your aspect to exclude the > >> >> testcode. Or you can try out aop.xml management: > >> >> > >> >> > If I add aop.xml into project properties->AspectJ Builder->aop.xml > >> >> > Management, some wired things happens: > >> >> > > >> >> > all aspectj advice markers are gone. You need to clean the project > >> >> > first, > >> >> > otherwise you may see the markers are still there. > >> >> > >> >> When you switch to using aop.xml files to control the builder you are > >> >> switching from the default mode of 'all aspects included' to an > opt-in > >> >> model where only those specified in your aop.xml file are included. > >> >> It is a bug that there wasn't a clean when you made the switch (want > >> >> to raise it?) > >> >> > >> >> This feature is intended to help users developing aop.xml files that > >> >> they will later use for load-time weaving, hence the switch to > opt-in. > >> >> > >> >> > if you clean the project "Project->clean...", only the files under > >> >> > src/main/java are compiled, src/test/java are not compiled. > >> >> > >> >> Don't really understand that - the choice of aop.xml shouldn't affect > >> >> what gets compiled... is there an entry in the error log saying why > >> >> compilation failed? > >> >> > >> >> > remove aop.xml from aop.xml management, everything comes back. > >> >> > >> >> When you had switched to aop.xml management and defined an aop.xml > >> >> file that mentioned the aspects you wanted woven, did it weave > >> >> anything? > >> >> > >> >> aop.xml management is the feature you want, it allows you to set a > >> >> scope for an aspect so that you could avoid weaving your tests with > >> >> your aspects. > >> >> > >> >> <aspect name="MyAspect" scope="!com.foo.tests..*"/> > >> >> > >> >> aop.xml management is still under development right now. > >> >> > >> >> Andy > >> >> _______________________________________________ > >> >> aspectj-users mailing list > >> >> [email protected] > >> >> https://dev.eclipse.org/mailman/listinfo/aspectj-users > >> > > >> > > >> > _______________________________________________ > >> > aspectj-users mailing list > >> > [email protected] > >> > https://dev.eclipse.org/mailman/listinfo/aspectj-users > >> > > >> > > >> _______________________________________________ > >> aspectj-users mailing list > >> [email protected] > >> https://dev.eclipse.org/mailman/listinfo/aspectj-users > > > > > > _______________________________________________ > > aspectj-users mailing list > > [email protected] > > https://dev.eclipse.org/mailman/listinfo/aspectj-users > > > > > _______________________________________________ > aspectj-users mailing list > [email protected] > https://dev.eclipse.org/mailman/listinfo/aspectj-users >
_______________________________________________ aspectj-users mailing list [email protected] https://dev.eclipse.org/mailman/listinfo/aspectj-users
