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
