Glad you got it working. > BTW is this the right forum for Eclipse related Aspectj issues?
There is an AJDT mailing list too (and newsgroup), but we don't have a problem with you putting eclipse related issues on this one. cheers, Andy On 17 November 2011 14:48, Abhijit Inamdar <[email protected]> wrote: > Thanks for your response Andy. I think I got the problem fixed. it is not > actually a bug. > As I suspected ajc wasn't getting involved at the right time. > To fix it I needed to add a line to my maven pom.xml for the target > project(i.e. the project that is using the mixin library) > > For future reference ... > > <plugin> > <groupId>org.codehaus.mojo</groupId> > <artifactId>aspectj-maven-plugin</artifactId> > <version>1.4</version> > <stuff snipped> > <executions> > <execution> > <phase>process-sources</phase> > <<<-------------------------- THIS LINE > <goals> > <goal>compile</goal> > </goals> > </execution> > </executions> > </plugin> > > BTW is this the right forum for Eclipse related Aspectj issues? > > ________________________________________________________________________________ > From: [email protected] [[email protected]] > on behalf of Andy Clement [[email protected]] > Sent: Wednesday, November 16, 2011 8:24 AM > To: [email protected] > Subject: Re: [aspectj-users] Can't compile basic mixin example > > looks like a possible bug, have you tried avoiding the maven stuff and > just using ajc on the command line to see if the compiler behaves? > That will tell us if it is maven configuration that is at fault or > AspectJ. > > Andy > > On 14 November 2011 20:36, Abhijit Inamdar <[email protected]> wrote: >> I am probably doing something really dumb here, but I can't seem to compile >> a basic mixin example under maven. I am using the example code from AspectJ >> in Action by Ramnivas Laddad Chapter 5(Like Listing 5.15 in section 5.1.5). >> I am packaging a basic Nameable mixin into a jar and that seems to work ok >> in that even though the files have the .java extension, the class files seem >> to build the aspect stuff correctly including the NameableMixin$Impl. >> >> I have ... >> >> 1. src/main/java/ajia/mixin/Entity.java >> >> package ajia.mixin; >> >> public class Entity implements Nameable { >> } >> >> 2. src/main/java/ajia/mixin/Nameable.java >> >> >> package ajia.mixin; >> >> public interface Nameable { >> public void setName(String name); >> public String getName(); >> >> static aspect Impl { >> private String Nameable.name; >> public void Nameable.setName(String name) { >> this.name = name; >> } >> public String Nameable.getName() { >> return this.name; >> } >> } >> } >> >> >> which yields (as expected) ... >> >> $ unzip -l target/myaspect-1.0-SNAPSHOT.jar >> Archive: target/myaspect-1.0-SNAPSHOT.jar >> Length Date Time Name >> --------- ---------- ----- ---- >> 0 2011-11-14 17:17 META-INF/ >> 127 2011-11-14 17:17 META-INF/MANIFEST.MF >> 0 2011-11-14 17:17 ajia/ >> 0 2011-11-14 17:17 ajia/mixin/ >> 1767 2011-11-14 17:17 ajia/mixin/Nameable.class >> 4613 2011-11-14 17:17 ajia/mixin/Nameable$Impl.class >> 1681 2011-11-14 17:17 ajia/Nameable.class >> 4511 2011-11-14 17:17 ajia/Nameable$Impl.class >> 525 2011-11-14 17:17 builddef.lst >> 0 2011-11-14 17:17 META-INF/maven/ >> 0 2011-11-14 17:17 META-INF/maven/ajia.mixin/ >> 0 2011-11-14 17:17 META-INF/maven/ajia.mixin/myaspect/ >> 1318 2011-11-14 16:47 META-INF/maven/ajia.mixin/myaspect/pom.xml >> 110 2011-11-14 17:17 >> META-INF/maven/ajia.mixin/myaspect/pom.properties >> --------- ------- >> 17296 15 files >> >> >> >> Please let me know if any files in this jar are of interest. >> Then I try to use this in another project but the build breaks with >> >> [INFO] ------------------------------------------------------------- >> [ERROR] COMPILATION ERROR : >> [INFO] ------------------------------------------------------------- >> [ERROR] <snipped>src/main/java/<blah blah>/MyMixinTarget.java:[14,7] >> MyMixinTarget is not abstract and does not override abstract method >> setName(java.lang.String) in ajia/mixin/NameableMixin >> [INFO] 1 error >> [INFO] ------------------------------------------------------------- >> >> Not sure why this is happening. Clearly the ajc is not getting involved >> where it should, and javac isn't looking for the aspect. Must all mixin >> targets be under src/main/aspect? >> >> The pom.xml for the target project contains(among many other things) : >> >> <dependency> >> <groupId> ajia.mixin</groupId> >> <artifactId>myaspect</artifactId> >> <version>2.0.7-SNAPSHOT</version> >> <scope>compile</scope> >> </dependency> >> <dependency> >> <groupId>org.aspectj</groupId> >> <artifactId>aspectjweaver</artifactId> >> <version>1.6.11</version> >> <scope>compile</scope> >> </dependency> >> <dependency> >> <groupId>org.aspectj</groupId> >> <artifactId>aspectjrt</artifactId> >> <version>1.6.11</version> >> </dependency> >> >> AND >> >> <plugin> >> <groupId>org.codehaus.mojo</groupId> >> <artifactId>aspectj-maven-plugin</artifactId> >> <version>1.4</version> >> <configuration> >> <source>1.6</source> >> <target>1.6</target> >> <verbose>true</verbose> >> <outxml>false</outxml> >> <showWeaveInfo>true</showWeaveInfo> >> >> <weaveDependencies> >> <weaveDependency> >> >> <groupId>ajia.mixin</groupId> >> >> <artifactId>myaspects</artifactId> >> </weaveDependency> >> </weaveDependencies> >> </configuration> >> <executions> >> <execution> >> <goals> >> <goal>compile</goal> >> </goals> >> </execution> >> </executions> >> </plugin> >> >> >> >> >> ******************************************************************************** >> Other info: >> >> >> >> $ ajc -version >> AspectJ Compiler 1.6.6 (1.6.5 - Built: Wednesday Nov 4, 2009 at 04:40:09 >> GMT) - Eclipse Compiler 0.785_R33x, 3.3 >> >> $ java -version >> java version "1.6.0_26" >> Java(TM) SE Runtime Environment (build 1.6.0_26-b03) >> Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02, mixed mode) >> >> $ mvn -version >> Apache Maven 2.2.1 (r801777; 2009-08-06 12:16:01-0700) >> >> _______________________________________________ >> 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
