Issues around Cobertura and AspectJ come up periodically on the list. Are you building multiple modules? It kind of looks like: - aspectj built some code - cobertura instrumented that code - some other module was getting built that had a dependency on the first module, it had that first module on the aspect path and ajc tries to read the aspects from it. It couldn't understand the aspects because their .class files had been partially rewritten by cobertura.
I guess it more needs a pipeline like this, if you are going to be using aspectpath: - build all the code - instrument all the code If cobertura runs after AspectJ I can see no reason why you can't get some coverage for your aspects, but obviously you may have to interpret things in the report yourself as the aspect elements (like advice) will manifest as unusually named methods in the class file for the aspect, and cobertura won't be able to reverse map the name and tell which piece of advice it was created to represent. Andy On 18 July 2011 07:09, Steve Ash <stevem...@gmail.com> wrote: > Hello, > > I recently plugged in Sonar into my build process. This is probably a > Sonar problem, but am curious if anyone in the aspectJ community has > experienced this as well. I am using Sonar's cobertura configuration (I > have only taken defaults in Sonar), and strangely at some point in the > process it seems to be invoking iajc against .class files that were already > instrumented by cobertura? I'm not sure why its doing that -- I would've > assumed Cobertura would've run _after_ iajc. In any case iajc blows up > with: > > l-2011 07:54:21 [ERROR] Failed to execute goal > org.codehaus.mojo:aspectj-maven-plugin:1.3.1:test-compile (default) on > project argo-hibernate: Compiler errors: 18-Jul-2011 07:54:21 [ERROR] > abort ABORT -- (RuntimeException) Problem processing attributes in > /var/bamboo/xml-data/build-dir/JAVACORE-JAVACORETRUNK-JOB1/argo-hibernate/target/generated-classes/cobertura/com/argodata/core/aspect/CreatedTime.class > 18-Jul-2011 > 07:54:21 [ERROR] Problem processing attributes in > /var/bamboo/xml-data/build-dir/JAVACORE-JAVACORETRUNK-JOB1/argo-hibernate/target/generated-classes/cobertura/com/argodata/core/aspect/CreatedTime.class18-Jul-2011 > 07:54:21[ERROR] java.lang.RuntimeException: Problem processing attributes in > /var/bamboo/xml-data/build-dir/JAVACORE-JAVACORETRUNK-JOB1/argo-hibernate/target/generated-classes/cobertura/com/argodata/core/aspect/CreatedTime.class > 18-Jul-2011 > 07:54:21 [ERROR] at > org.aspectj.weaver.bcel.BcelObjectType.ensureAspectJAttributesUnpacked(BcelObjectType.java:383)18-Jul-2011 > 07:54:21[ERROR] at > org.aspectj.weaver.bcel.BcelObjectType.<init>(BcelObjectType.java:160)18-Jul-2011 > 07:54:21[ERROR] at > org.aspectj.weaver.bcel.BcelWorld.buildBcelDelegate(BcelWorld.java:394)18-Jul-2011 > 07:54:21[ERROR] at > org.aspectj.weaver.bcel.BcelWorld.addSourceObjectType(BcelWorld.java:474)18-Jul-2011 > 07:54:21[ERROR] at > org.aspectj.weaver.bcel.BcelWorld.addSourceObjectType(BcelWorld.java:440)18-Jul-2011 > 07:54:21[ERROR] at > org.aspectj.weaver.bcel.BcelWeaver.isAspect(BcelWeaver.java:320)18-Jul-2011 > 07:54:21[ERROR] at > org.aspectj.weaver.bcel.BcelWeaver.addAspectsFromDirectory(BcelWeaver.java:299)18-Jul-2011 > 07:54:21[ERROR] at > org.aspectj.weaver.bcel.BcelWeaver.addLibraryJarFile(BcelWeaver.java:236)18-Jul-2011 > 07:54:21[ERROR] at > org.aspectj.ajdt.internal.core.builder.AjBuildManager.initBcelWorld(AjBuildManager.java:864)18-Jul-2011 > 07:54:21[ERROR] at > org.aspectj.ajdt.internal.core.builder.AjBuildManager.performBuild(AjBuildManager.java:245)18-Jul-2011 > 07:54:21[ERROR] at > org.aspectj.ajdt.internal.core.builder.AjBuildManager.batchBuild(AjBuildManager.java:181)18-Jul-2011 > 07:54:21[ERROR] at > org.aspectj.ajdt.ajc.AjdtCommand.doCommand(AjdtCommand.java:112)18-Jul-2011 > 07:54:21[ERROR] at > org.aspectj.ajdt.ajc.AjdtCommand.runCommand(AjdtCommand.java:60)18-Jul-2011 > 07:54:21[ERROR] at org.aspectj.tools.ajc.Main.run(Main.java:371)18-Jul-2011 > 07:54:21[ERROR] at > org.aspectj.tools.ajc.Main.runMain(Main.java:248)18-Jul-2011 07:54:21[ERROR] > at > org.codehaus.mojo.aspectj.AbstractAjcCompiler.execute(AbstractAjcCompiler.java:370)18-Jul-2011 > 07:54:21[ERROR] at > org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)18-Jul-2011 > 07:54:21[ERROR] at > org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)18-Jul-2011 > 07:54:21[ERROR] at > org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)18-Jul-2011 > 07:54:21[ERROR] at > org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)18-Jul-2011 > 07:54:21[ERROR] at > org.apache.maven.lifecycle.internal.MojoExecutor.executeForkedExecutions(MojoExecutor.java:365)18-Jul-2011 > 07:54:21[ERROR] at > org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:199)18-Jul-2011 > 07:54:21[ERROR] at > org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)18-Jul-2011 > 07:54:21[ERROR] at > org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)18-Jul-2011 > 07:54:21[ERROR] at > org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)18-Jul-2011 > 07:54:21[ERROR] at > org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)18-Jul-2011 > 07:54:21[ERROR] at > org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)18-Jul-2011 > 07:54:21[ERROR] at > org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)18-Jul-2011 > 07:54:21[ERROR] at > org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:85)18-Jul-2011 > 07:54:21[ERROR] at > org.sonar.maven3.Maven3PluginExecutor.concreteExecute(Maven3PluginExecutor.java:48)18-Jul-2011 > 07:54:21[ERROR] at > org.sonar.batch.AbstractMavenPluginExecutor.execute(AbstractMavenPluginExecutor.java:46)18-Jul-2011 > 07:54:21[ERROR] at > org.sonar.batch.AbstractMavenPluginExecutor.execute(AbstractMavenPluginExecutor.java:37)18-Jul-2011 > 07:54:21[ERROR] at > org.sonar.batch.phases.InitializersExecutor.executeMavenPlugin(InitializersExecutor.java:67)18-Jul-2011 > 07:54:21[ERROR] at > org.sonar.batch.phases.InitializersExecutor.execute(InitializersExecutor.java:54)18-Jul-2011 > 07:54:21[ERROR] at > org.sonar.batch.phases.Phases.execute(Phases.java:77)18-Jul-2011 > 07:54:21[ERROR] at > org.sonar.batch.ProjectBatch.execute(ProjectBatch.java:59)18-Jul-2011 > 07:54:21[ERROR] at > org.sonar.batch.Batch.analyzeModule(Batch.java:164)18-Jul-2011 > 07:54:21[ERROR] at > org.sonar.batch.Batch.analyzeModule(Batch.java:155)18-Jul-2011 > 07:54:21[ERROR] at > org.sonar.batch.Batch.analyzeModules(Batch.java:82)18-Jul-2011 > 07:54:21[ERROR] at org.sonar.batch.Batch.execute(Batch.java:62)18-Jul-2011 > 07:54:21[ERROR] at > org.sonar.maven3.SonarMojo.executeBatch(SonarMojo.java:148)18-Jul-2011 > 07:54:21[ERROR] at > org.sonar.maven3.SonarMojo.execute(SonarMojo.java:137)18-Jul-2011 > 07:54:21[ERROR] at > org.codehaus.mojo.sonar.Bootstraper.executeMojo(Bootstraper.java:113)18-Jul-2011 > 07:54:21[ERROR] at > org.codehaus.mojo.sonar.Bootstraper.start(Bootstraper.java:65)18-Jul-2011 > 07:54:21[ERROR] at > org.codehaus.mojo.sonar.SonarMojo.execute(SonarMojo.java:90)18-Jul-2011 > 07:54:21[ERROR] at > org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)18-Jul-2011 > 07:54:21[ERROR] at > org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)18-Jul-2011 > 07:54:21[ERROR] at > org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)18-Jul-2011 > 07:54:21[ERROR] at > org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)18-Jul-2011 > 07:54:21[ERROR] at > org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)18-Jul-2011 > 07:54:21[ERROR] at > org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)18-Jul-2011 > 07:54:21[ERROR] at > org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)18-Jul-2011 > 07:54:21[ERROR] at > org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)18-Jul-2011 > 07:54:21[ERROR] at > org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:319)18-Jul-2011 > 07:54:21[ERROR] at > org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)18-Jul-2011 > 07:54:21[ERROR] at > org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)18-Jul-2011 > 07:54:21[ERROR] at > org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)18-Jul-2011 > 07:54:21[ERROR] at > org.apache.maven.cli.MavenCli.main(MavenCli.java:141)18-Jul-2011 > 07:54:21[ERROR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native > Method)18-Jul-2011 07:54:21[ERROR] at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)18-Jul-2011 > 07:54:21[ERROR] at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)18-Jul-2011 > 07:54:21[ERROR] at > java.lang.reflect.Method.invoke(Method.java:597)18-Jul-2011 07:54:21[ERROR] at > org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)18-Jul-2011 > 07:54:21[ERROR] at > org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)18-Jul-2011 > 07:54:21[ERROR] at > org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)18-Jul-2011 > 07:54:21[ERROR] at > org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)18-Jul-2011 > 07:54:21[ERROR] Caused by: org.aspectj.weaver.BCException: malformed > org.aspectj.weaver.Declare attribute > (length:105)org.aspectj.weaver.BCException: Bad type signature > parentTypes18-Jul-2011 07:54:21[ERROR] when batch building BuildConfig[null] > #Files=7 AopXmls=#018-Jul-2011 07:54:21[ERROR] 18-Jul-2011 > 07:54:21 [ERROR] when batch building BuildConfig[null] #Files=7 > AopXmls=#018-Jul-2011 07:54:21[ERROR] 18-Jul-2011 > 07:54:21 [ERROR] at > org.aspectj.weaver.AjAttribute.read(AjAttribute.java:137) 18-Jul-2011 > 07:54:21 [ERROR] at > org.aspectj.weaver.bcel.Utility.readAjAttributes(Utility.java:101)18-Jul-2011 > 07:54:21[ERROR] at > org.aspectj.weaver.bcel.BcelObjectType.ensureAspectJAttributesUnpacked(BcelObjectType.java:379)18-Jul-2011 > 07:54:21[ERROR] ... 65 more18-Jul-2011 07:54:21[ERROR] -> [Help 1] > Note that CreatedTime.class is an aspect -- not a normal java file. So > while it would be great to get coverage inside my aspects -- I'm not > terribly concerned with that. I am going to go down the path of trying to > get cobertura to exclude the aspects. In the meantime, I'm just curious if > anyone has run across this as well. > > Thanks, > Steve > > _______________________________________________ > aspectj-users mailing list > aspectj-users@eclipse.org > https://dev.eclipse.org/mailman/listinfo/aspectj-users > >
_______________________________________________ aspectj-users mailing list aspectj-users@eclipse.org https://dev.eclipse.org/mailman/listinfo/aspectj-users