A while back I inserted <injars> into my plugin.jelly file for the aspecj
plugin and its been going great.  It gives me the ability to weave an
aspect into a pre-compiled jar.  This feature is available when using iajc
so it is not something I made up.

Thing is, each time I upgrade or build from CVS I completely forget that
I had added it and my builds stop working.  Is there any way to get this
added to the maven-aspectj-plugin/plugin.jelly file permanently?  It would
be part of the weave-internal task.


<!-- Private goal used to that when the jar:jar postgoal is called we don't
have to call aspectj:init and jar:jar twice -->
<goal name="aspectj:weave-internal">


       <!-- fork to avoid BCEL library version conflict with maven -->
       <ant:iajc fork="true" debug="${maven.aspectj.debug}"
           outjar="${maven.aspectj.outjar}"
           injars="${maven.aspectj.injar.nonweaved}"
           sourceRootCopyFilter="${maven.aspectj.sourceRootCopyFilters}"
           emacssym="${maven.aspectj.emacssym}">

         <!-- Look for aspect libraries to weave into -->
         <ant:injars>
           <j:forEach var="artifact" items="${pom.artifacts}">
             <j:set var="dep" value="${artifact.dependency}"/>
             <j:if test="${dep.getProperty('aspect.injar')=='true'}">
               <ant:pathelement location="${artifact.path}"/>
             </j:if>
           </j:forEach>
         </ant:injars>

</ant:iajc>

</goal>


It would require jars that are being weaved into to have a <property> defined in the project.xml. I have called this property "aspect.injar". So:

       <dependency>
           <groupId>myjar</groupId>
           <type>jar</type>
           <artifactId>myjar</artifactId>
           <version>2.0</version>
           <properties>
               <aspect.injar>true</aspect.injar>
           </properties>
       </dependency>

How 'bout it?  Should I file this in JIRA?  Is the mailing list good enough?
Also, you can get rid of
      copyInjars="true"
from the <ant:iajc> task since it is no longer required by aspectj-1.1.1.

Let me know your thoughts, I would really like to see this get added.

Thanks a lot.


Charlie



Vincent Massol wrote:


Yes, that's required. I guess we should add a check in the plugin to
verify it's defined. Maybe you could file a JIRA issue on the aspectj
plugin for this.

Thanks
-Vincent



-----Original Message-----
From: Daniel Henrique Alves Lima [mailto:[EMAIL PROTECTED]
Sent: 22 April 2004 00:11
To: Maven Users List
Subject: Re: aspectj plugin & maven 1.0 rc2

I've added the following line in my project.xml and the error seems to
stop :

<aspectSourceDirectory>src/java</aspectSourceDirectory>


Daniel Henrique Alves Lima wrote:




Now i'm getting this "already defined" message for all my


classes...


  Can be a configuration problem ? I don't have any aspectj plugin
property defined in my project.properties and i'm trying to run
"maven aspectj:compile" or just "maven aspectj".

[iajc] couldn't find aspectjrt.jar on classpath, checked:
[iajc] /projects/new_project/database/RowIterator.jav
a:14 The type RowIterator is already defined
[iajc] public interface RowIterator extends Iterator {
[iajc]
Vincent Massol wrote:




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]





--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]






--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to