[
http://jira.codehaus.org/browse/MASPECTJ-74?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
David J. M. Karlsen updated MASPECTJ-74:
----------------------------------------
Fix Version/s: 1.3
Fixed in rev 10410.
> Critical failures reported by ajc (e.g. reweaving already weaved code) are
> not handled by the plugin
> ----------------------------------------------------------------------------------------------------
>
> Key: MASPECTJ-74
> URL: http://jira.codehaus.org/browse/MASPECTJ-74
> Project: Mojo AspectJ Plugin
> Issue Type: Bug
> Affects Versions: 1.2
> Reporter: Torsten Juergeleit
> Assignee: David J. M. Karlsen
> Priority: Blocker
> Fix For: 1.3
>
> Original Estimate: 0 minutes
> Remaining Estimate: 0 minutes
>
> The ApsectJ plugin currently only handles errors with the severity level
> {{IMessage.ERROR}}. This leads to successful builds despite of an ajc bailed
> out badly (severity level greater than {{IMessage.ERROR}}), e.g. if already
> woven code should be rewoven. This stated of reweaving already woven code can
> easily be reproduced by changing the AspectJ plugins setting in the POM. This
> leads to an modified ajc argument file and and {{isBuildNeeded()}} return
> {{true}}.
> {code}
> D:\vk\trunk-9.2\backend\flow>mvn process-classes
> [INFO] Scanning for projects...
> [INFO]
> ------------------------------------------------------------------------
> [INFO] Building VK Backend: Flow Engine
> [INFO] task-segment: [process-classes]
> [INFO]
> ------------------------------------------------------------------------
> [INFO] [enforcer:enforce {execution: Enforcing build rules}]
> [INFO] [resources:resources {execution: default-resources}]
> [INFO] Using 'ISO-8859-1' encoding to copy filtered resources.
> [INFO] Copying 6 resources
> [INFO] [compiler:compile {execution: default-compile}]
> [INFO] Nothing to compile - all classes are up to date
> [INFO] [aspectj:compile {execution: Weaving .class files}]
> [INFO] Compiling and weaving 4 aspects to
> D:\vk\trunk-9.2\backend\flow\target\classes
> [ERROR] ABORT
> 20.08.2009 19:01:41 org.aspectj.weaver.tools.Jdk14Trace info
> INFO: Dumping to D:\vk\trunk-9.2\backend\flow\.\ajcore.20090820.190141.346.txt
> [INFO]
> ------------------------------------------------------------------------
> [INFO] BUILD SUCCESSFUL
> [INFO]
> ------------------------------------------------------------------------
> [INFO] Total time: 3 seconds
> [INFO] Finished at: Thu Aug 20 19:01:41 CEST 2009
> [INFO] Final Memory: 16M/29M
> [INFO]
> ------------------------------------------------------------------------
> {code}
> This can be fixed easily within in a single line of
> {{AbstractAjcCompiler.execute()}}:
> {code}
> Index: src/main/java/org/codehaus/mojo/aspectj/AbstractAjcCompiler.java
> ===================================================================
> --- src/main/java/org/codehaus/mojo/aspectj/AbstractAjcCompiler.java
> (revision 10299)
> +++ src/main/java/org/codehaus/mojo/aspectj/AbstractAjcCompiler.java
> (working copy)
> @@ -358,7 +358,7 @@
> main.setHolder( mavenMessageHandler );
>
> main.runMain( (String[]) ajcOptions.toArray( new String[0] ), false
> );
> - IMessage[] errors = mavenMessageHandler.getErrors();
> + IMessage[] errors = mavenMessageHandler.getMessages(IMessage.ERROR,
> true);
> if ( errors.length > 0 )
> {
> throw new CompilationFailedException( errors );
> {code}
> After applying this patch the aforementioned "successful" build is now
> aborting correctly:
> {code}
> D:\vk\trunk-9.2\backend\flow>mvn process-classes
> [INFO] Scanning for projects...
> [INFO]
> ------------------------------------------------------------------------
> [INFO] Building VK Backend: Flow Engine
> [INFO] task-segment: [process-classes]
> [INFO]
> ------------------------------------------------------------------------
> [INFO] [enforcer:enforce {execution: Enforcing build rules}]
> [INFO] [resources:resources {execution: default-resources}]
> [INFO] Using 'ISO-8859-1' encoding to copy filtered resources.
> [INFO] Copying 6 resources
> [INFO] [compiler:compile {execution: default-compile}]
> [INFO] Nothing to compile - all classes are up to date
> [INFO] [aspectj:compile {execution: Weaving .class files}]
> [INFO] Compiling and weaving 4 aspects to
> D:\vk\trunk-9.2\backend\flow\target\classes
> [INFO] directory classpath entry does not exist:
> D:\develop\jdk1.6.0_16\jre\lib\sunrsasign.jar
> [INFO] zipfile classpath entry does not exist:
> D:\develop\jdk1.6.0_16\jre\classes
> [ERROR] ABORT
> 20.08.2009 19:33:29 org.aspectj.weaver.tools.Jdk14Trace info
> INFO: Dumping to D:\vk\trunk-9.2\backend\flow\.\ajcore.20090820.193329.464.txt
> [INFO] Compiler took 265ms
> [INFO]
> ------------------------------------------------------------------------
> [ERROR] BUILD ERROR
> [INFO]
> ------------------------------------------------------------------------
> [INFO] Compiler errors :
> abort ABORT -- (RuntimeException) bad WeaverState.Kind: -115. File was
> :<Unknown>::0
> bad WeaverState.Kind: -115. File was :<Unknown>::0
> java.lang.RuntimeException: bad WeaverState.Kind: -115. File was
> :<Unknown>::0
> at org.aspectj.weaver.WeaverStateInfo.read(WeaverStateInfo.java:133)
> at org.aspectj.weaver.AjAttribute.read(AjAttribute.java:100)
> at org.aspectj.weaver.bcel.Utility.readAjAttributes(Utility.java:98)
> at
> org.aspectj.weaver.bcel.BcelObjectType.ensureAspectJAttributesUnpacked(BcelObjectType.java:355)
> at
> org.aspectj.weaver.bcel.BcelObjectType.<init>(BcelObjectType.java:146)
> at
> org.aspectj.weaver.bcel.BcelWorld.buildBcelDelegate(BcelWorld.java:371)
> at
> org.aspectj.weaver.bcel.BcelWorld.addSourceObjectType(BcelWorld.java:434)
> at
> org.aspectj.weaver.bcel.BcelWeaver.addClassFile(BcelWeaver.java:450)
> at
> org.aspectj.weaver.bcel.BcelWeaver.addClassFile(BcelWeaver.java:474)
> at
> org.aspectj.ajdt.internal.core.builder.AjBuildManager.initBcelWorld(AjBuildManager.java:879)
> at
> org.aspectj.ajdt.internal.core.builder.AjBuildManager.performBuild(AjBuildManager.java:244)
> at
> org.aspectj.ajdt.internal.core.builder.AjBuildManager.batchBuild(AjBuildManager.java:181)
> at org.aspectj.ajdt.ajc.AjdtCommand.doCommand(AjdtCommand.java:112)
> at org.aspectj.ajdt.ajc.AjdtCommand.runCommand(AjdtCommand.java:60)
> at org.aspectj.tools.ajc.Main.run(Main.java:355)
> at org.aspectj.tools.ajc.Main.runMain(Main.java:234)
> at
> org.codehaus.mojo.aspectj.AbstractAjcCompiler.execute(AbstractAjcCompiler.java:396)
> at
> org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490)
> at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694)
> at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:556)
> at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:535)
> at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387)
> at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:348)
> at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180)
> at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328)
> at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138)
> at org.apache.maven.cli.MavenCli.main(MavenCli.java:362)
> at
> org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
> at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
> at
> org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
> at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
> [INFO]
> ------------------------------------------------------------------------
> [INFO] For more information, run Maven with the -e switch
> [INFO]
> ------------------------------------------------------------------------
> [INFO] Total time: 3 seconds
> [INFO] Finished at: Thu Aug 20 19:33:29 CEST 2009
> [INFO] Final Memory: 16M/29M
> [INFO]
> ------------------------------------------------------------------------
> {code}
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email