In the event it helps, Spring Security has a few examples of using gradle to setup aspectj projects within Eclipse. You can find the custom aspectj plugin in Spring's gitorious [1].
[1] http://git.springsource.org/spring-security/spring-security/blobs/master/buildSrc/src/main/groovy/aspectj/AspectJPlugin.groovy HTH, Rob Winch On Mon, Apr 25, 2011 at 3:37 AM, Rene Groeschke <[email protected]> wrote: > Hi Matt, > the eclipse support of the aspectj "plugin" is a bit outdated, since it was > orginally done for eclipse 3.5 with gradle 0.8 I think. I'll have a look on > that within the next days. > > regards, > René > > Am 22.04.11 22:18, schrieb Matt Stine: > > OK, sometimes I should just wait until sending the email. ;-) >> >> Adding this to dependencies {} makes it work w/ "gradle build": >> >> aspects 'org.springframework.data:spring-data-neo4j:1.0.0.RELEASE' >> >> However, the generated project files for Eclipse and IDEA still don't >> seem to be happy. >> >> -Matt >> >> On Fri, Apr 22, 2011 at 2:53 PM, Matt Stine<[email protected]> wrote: >> >>> Hi all- >>> >>> I am trying to get a spike going w/ Spring Data Graph and Neo4J. SDG >>> uses AspectJ under the covers to enhance your persistent POJO's. >>> Pretty much all of the existing samples for SDG are Maven-centric, and >>> being the maverick that I am I am trying to use the Gradle AspectJ >>> plugin. >>> >>> Here's the build.gradle: >>> ================= >>> >>> apply plugin: 'java' >>> apply plugin: 'idea' >>> apply from: ' >>> https://github.com/breskeby/gradleplugins/raw/0.9-upgrade/aspectjPlugin/aspectJ.gradle >>> ' >>> >>> repositories { >>> mavenCentral() >>> mavenRepo urls: 'http://maven.springframework.org/milestone' >>> mavenRepo urls: 'http://maven.springframework.org/release' >>> mavenRepo urls: 'http://maven.springframework.org/snapshot' >>> mavenRepo urls: 'http://m2.neo4j.org' >>> mavenRepo urls: 'http://repository.jboss.com/maven2/' >>> } >>> >>> dependencies { >>> ajc 'org.aspectj:aspectjtools:1.6.11.RELEASE' >>> compile 'org.springframework.data:spring-data-neo4j:1.0.0.RELEASE', >>> 'org.aspectj:aspectjrt:1.6.11.RELEASE' >>> } >>> >>> ideaProject { >>> javaVersion = '1.6' >>> } >>> >>> Here are the classes I'm trying to compile: >>> =============================== >>> >>> package org.stjude.sprdatagraphspike; >>> >>> import org.springframework.data.graph.annotation.NodeEntity; >>> import org.springframework.data.graph.annotation.RelatedTo; >>> import org.springframework.data.graph.core.Direction; >>> import org.springframework.data.graph.neo4j.annotation.Indexed; >>> >>> import java.util.Set; >>> >>> @NodeEntity >>> public class Person { >>> >>> @Indexed >>> private String name; >>> >>> @RelatedTo(direction = Direction.BOTH, elementClass = Person.class) >>> private Set<Person> friends; >>> >>> public Person() {} >>> public Person(String name) { >>> this.name = name; >>> } >>> >>> private void knows(Person friend) { friends.add(friend); } >>> } >>> >>> package org.stjude.sprdatagraphspike; >>> >>> import org.springframework.context.ApplicationContext; >>> import >>> org.springframework.context.support.ClassPathXmlApplicationContext; >>> >>> public class SpikeApp { >>> >>> public static void main(String[] args) { >>> ApplicationContext context = new >>> ClassPathXmlApplicationContext("application-context.xml"); >>> >>> Person jon = new Person("Jon").persist(); >>> } >>> } >>> >>> **** Note that the elementClass property of @RelatedTo will only >>> accept the type Class<? extends NodeBacked>. The application of >>> @NodeEntity to this class is supposed to add the NodeBacked interface >>> via AspectJ. It also adds the missing "persist" method that I'm >>> referencing in SpikeApp.main. >>> >>> Here's the output from gradle build: >>> ========================= >>> >>> [~/Projects/spr-data-graph-spike] ➔ gradle build >>> :processResources >>> :compileJava >>> [ant:iajc] >>> /Users/mstine/Projects/spr-data-graph-spike/src/main/java/org/stjude/sprdatagraphspike/Person.java:16 >>> [error] Type mismatch: cannot convert from Class<Person> to Class<? >>> extends NodeBacked> >>> [ant:iajc] @RelatedTo(direction = Direction.BOTH, elementClass = >>> Person.class) >>> [ant:iajc] ^^^^^^^ >>> [ant:iajc] >>> /Users/mstine/Projects/spr-data-graph-spike/src/main/java/org/stjude/sprdatagraphspike/SpikeApp.java:18 >>> [error] The method persist() is undefined for the type Person >>> [ant:iajc] Person jon = new Person("Jon").persist(); >>> [ant:iajc] >>> [ant:iajc] >>> [ant:iajc] 2 errors >>> >>> FAILURE: Build failed with an exception. >>> >>> **** As you can see, all of the things that I said are "supposed to >>> happen" aren't. Now I am able to get this to compile by using the >>> AspectJ compiler directly inside of IntelliJ. Interestingly enough, >>> when I generate Eclipse project files and pull this into SpringSource >>> Tool Suite, it doesn't seem to get the AspectJ stuff right and balks >>> at the same things the ajc compiler is balking at in Gradle. >>> >>> At any rate, has anyone had success with this or something similar? >>> I've done very little w/ AspectJ directly, so I'm not sure where to >>> go. >>> >>> Thanks! >>> >>> -- >>> Matt Stine >>> Deep South Software: Training, Consulting, Coaching >>> http://www.deepsouthsoftware.com >>> [email protected] >>> >>> >> >> > > -- > ----------------------- > regards René > > rene groeschke > http://www.breskeby.com > @breskeby > > > > --------------------------------------------------------------------- > To unsubscribe from this list, please visit: > > http://xircles.codehaus.org/manage_email > > >
