Details
Issue Links
- is depended upon by
-
SONARPLUGINS-496
Looks like FlexMetrics does not count properly static methods
-
-
SONARPLUGINS-490
Add the ability to override Duplications parameters
-
Hi Xavier,
First of all - thank you for patch.
I've tried to apply this patch against trunk, but unsuccessful - integration test failed with following error:
[exec] [INFO] [flex-pmd:report {execution: report}] [exec] [INFO] FlexPmdMojo starts [exec] [INFO] failOnError false [exec] [INFO] ruleSet /home/godin/projects/sonar-plugins/flex/target/it/maven-projects/as3commons/as3-commons-concurrency/target/sonar/pmd.xml [exec] [INFO] sourceDirectory /home/godin/projects/sonar-plugins/flex/target/it/maven-projects/as3commons/as3-commons-concurrency/src/main/actionscript [exec] [INFO] ruleSetURL null [exec] java.lang.ClassNotFoundException: com.adobe.ac.pmd.rules.naming.UncorrectClassCase [exec] at java.net.URLClassLoader$1.run(URLClassLoader.java:202) [exec] at java.security.AccessController.doPrivileged(Native Method) [exec] at java.net.URLClassLoader.findClass(URLClassLoader.java:190) [exec] at java.lang.ClassLoader.loadClass(ClassLoader.java:307) [exec] at org.codehaus.classworlds.RealmClassLoader.loadClassDirect(RealmClassLoader.java:195) [exec] at org.codehaus.classworlds.DefaultClassRealm.loadClass(DefaultClassRealm.java:255) [exec] at org.codehaus.classworlds.DefaultClassRealm.loadClass(DefaultClassRealm.java:274) [exec] at org.codehaus.classworlds.RealmClassLoader.loadClass(RealmClassLoader.java:214) [exec] at java.lang.ClassLoader.loadClass(ClassLoader.java:248) [exec] at net.sourceforge.pmd.RuleSetFactory.parseSingleRuleNode(RuleSetFactory.java:308) [exec] at net.sourceforge.pmd.RuleSetFactory.parseRuleNode(RuleSetFactory.java:253) [exec] at net.sourceforge.pmd.RuleSetFactory.parseRuleSetNode(RuleSetFactory.java:209) [exec] at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:157) [exec] at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:146) [exec] at com.adobe.ac.pmd.engines.AbstractFlexPmdEngine.loadRuleset(AbstractFlexPmdEngine.java:190) [exec] at com.adobe.ac.pmd.engines.AbstractFlexPmdEngine.<init>(AbstractFlexPmdEngine.java:102) [exec] at com.adobe.ac.pmd.engines.FlexPmdXmlEngine.<init>(FlexPmdXmlEngine.java:58) [exec] at com.adobe.ac.pmd.maven.AbstractFlexPmdMojo.executeReport(AbstractFlexPmdMojo.java:198) [exec] at org.apache.maven.reporting.AbstractMavenReport.generate(AbstractMavenReport.java:117) [exec] at org.apache.maven.reporting.AbstractMavenReport.execute(AbstractMavenReport.java:92) [exec] at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490) [exec] at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694) [exec] at org.apache.maven.lifecycle.DefaultLifecycleExecutor.forkProjectLifecycle(DefaultLifecycleExecutor.java:1211) [exec] at org.apache.maven.lifecycle.DefaultLifecycleExecutor.forkLifecycle(DefaultLifecycleExecutor.java:1038) [exec] at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:643) [exec] at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java:569) [exec] at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:539) [exec] at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387) [exec] at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:348) [exec] at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180) [exec] at org.sonar.maven2.Maven2PluginExecutor.execute(Maven2PluginExecutor.java:65) [exec] at org.sonar.maven2.Maven2PluginExecutor.execute(Maven2PluginExecutor.java:47) [exec] at org.sonar.batch.SensorsExecutor.executeMavenPlugin(SensorsExecutor.java:69) [exec] at org.sonar.batch.SensorsExecutor.execute(SensorsExecutor.java:55) [exec] at org.sonar.batch.ProjectBatch.execute(ProjectBatch.java:53) [exec] at org.sonar.batch.Batch.analyzeProject(Batch.java:112) [exec] at org.sonar.batch.Batch.analyzeProject(Batch.java:109) [exec] at org.sonar.batch.Batch.analyzeProjects(Batch.java:81) [exec] at org.sonar.batch.Batch.execute(Batch.java:57) [exec] at org.sonar.maven2.BatchMojo.executeBatch(BatchMojo.java:142) [exec] at org.sonar.maven2.BatchMojo.execute(BatchMojo.java:133) [exec] at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490) [exec] at org.codehaus.mojo.sonar.Bootstraper.executeMojo(Bootstraper.java:82) [exec] at org.codehaus.mojo.sonar.Bootstraper.start(Bootstraper.java:65) [exec] at org.codehaus.mojo.sonar.SonarMojo.execute(SonarMojo.java:117) [exec] at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490) [exec] at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694) [exec] at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java:569) [exec] at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:539) [exec] at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387) [exec] at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:284) [exec] at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180) [exec] at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328) [exec] at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138) [exec] at org.apache.maven.cli.MavenCli.main(MavenCli.java:362) [exec] at org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60) [exec] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [exec] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [exec] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [exec] at java.lang.reflect.Method.invoke(Method.java:597) [exec] at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315) [exec] at org.codehaus.classworlds.Launcher.launch(Launcher.java:255) [exec] at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430) [exec] at org.codehaus.classworlds.Launcher.main(Launcher.java:375) [exec] [INFO] ------------------------------------------------------------------------ [exec] [ERROR] BUILD ERROR [exec] [INFO] ------------------------------------------------------------------------ [exec] [INFO] Can not execute Sonar [exec] [exec] Embedded error: Unable to execute maven plugin [exec] Couldn't find that class com.adobe.ac.pmd.rules.naming.UncorrectClassCase [exec] [INFO] ------------------------------------------------------------------------ [exec] [INFO] Trace [exec] org.apache.maven.lifecycle.LifecycleExecutionException: Can not execute Sonar [exec] at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:719) [exec] at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java:569) [exec] at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:539) [exec] at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387) [exec] at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:284) [exec] at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180) [exec] at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328) [exec] at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138) [exec] at org.apache.maven.cli.MavenCli.main(MavenCli.java:362) [exec] at org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60) [exec] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [exec] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [exec] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [exec] at java.lang.reflect.Method.invoke(Method.java:597) [exec] at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315) [exec] at org.codehaus.classworlds.Launcher.launch(Launcher.java:255) [exec] at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430) [exec] at org.codehaus.classworlds.Launcher.main(Launcher.java:375) [exec] Caused by: org.apache.maven.plugin.MojoExecutionException: Can not execute Sonar [exec] at org.codehaus.mojo.sonar.Bootstraper.executeMojo(Bootstraper.java:87) [exec] at org.codehaus.mojo.sonar.Bootstraper.start(Bootstraper.java:65) [exec] at org.codehaus.mojo.sonar.SonarMojo.execute(SonarMojo.java:117) [exec] at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490) [exec] at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694) [exec] ... 17 more [exec] Caused by: org.sonar.api.utils.SonarException: Unable to execute maven plugin [exec] at org.sonar.maven2.Maven2PluginExecutor.execute(Maven2PluginExecutor.java:68) [exec] at org.sonar.maven2.Maven2PluginExecutor.execute(Maven2PluginExecutor.java:47) [exec] at org.sonar.batch.SensorsExecutor.executeMavenPlugin(SensorsExecutor.java:69) [exec] at org.sonar.batch.SensorsExecutor.execute(SensorsExecutor.java:55) [exec] at org.sonar.batch.ProjectBatch.execute(ProjectBatch.java:53) [exec] at org.sonar.batch.Batch.analyzeProject(Batch.java:112) [exec] at org.sonar.batch.Batch.analyzeProject(Batch.java:109) [exec] at org.sonar.batch.Batch.analyzeProjects(Batch.java:81) [exec] at org.sonar.batch.Batch.execute(Batch.java:57) [exec] at org.sonar.maven2.BatchMojo.executeBatch(BatchMojo.java:142) [exec] at org.sonar.maven2.BatchMojo.execute(BatchMojo.java:133) [exec] at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490) [exec] at org.codehaus.mojo.sonar.Bootstraper.executeMojo(Bootstraper.java:82) [exec] ... 21 more [exec] Caused by: org.apache.maven.lifecycle.LifecycleExecutionException: An error has occurred in Flex PMD Report report generation. [exec] at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:719) [exec] at org.apache.maven.lifecycle.DefaultLifecycleExecutor.forkProjectLifecycle(DefaultLifecycleExecutor.java:1211) [exec] at org.apache.maven.lifecycle.DefaultLifecycleExecutor.forkLifecycle(DefaultLifecycleExecutor.java:1038) [exec] at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:643) [exec] at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java:569) [exec] at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:539) [exec] at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387) [exec] at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:348) [exec] at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180) [exec] at org.sonar.maven2.Maven2PluginExecutor.execute(Maven2PluginExecutor.java:65) [exec] ... 33 more [exec] Caused by: org.apache.maven.plugin.MojoExecutionException: An error has occurred in Flex PMD Report report generation. [exec] at org.apache.maven.reporting.AbstractMavenReport.execute(AbstractMavenReport.java:98) [exec] at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490) [exec] at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694) [exec] ... 42 more [exec] Caused by: org.apache.maven.reporting.MavenReportException: A system exception has been thrown [exec] at com.adobe.ac.pmd.maven.AbstractFlexPmdMojo.executeReport(AbstractFlexPmdMojo.java:212) [exec] at org.apache.maven.reporting.AbstractMavenReport.generate(AbstractMavenReport.java:117) [exec] at org.apache.maven.reporting.AbstractMavenReport.execute(AbstractMavenReport.java:92) [exec] ... 44 more [exec] Caused by: java.lang.RuntimeException: Couldn't find that class com.adobe.ac.pmd.rules.naming.UncorrectClassCase [exec] at net.sourceforge.pmd.RuleSetFactory.parseRuleSetNode(RuleSetFactory.java:217) [exec] at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:157) [exec] at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:146) [exec] at com.adobe.ac.pmd.engines.AbstractFlexPmdEngine.loadRuleset(AbstractFlexPmdEngine.java:190) [exec] at com.adobe.ac.pmd.engines.AbstractFlexPmdEngine.<init>(AbstractFlexPmdEngine.java:102) [exec] at com.adobe.ac.pmd.engines.FlexPmdXmlEngine.<init>(FlexPmdXmlEngine.java:58) [exec] at com.adobe.ac.pmd.maven.AbstractFlexPmdMojo.executeReport(AbstractFlexPmdMojo.java:198) [exec] ... 46 more [exec] [INFO] ------------------------------------------------------------------------ [exec] [INFO] Total time: 2 minutes 41 seconds [exec] [INFO] Finished at: Fri Sep 03 13:09:53 MSD 2010 [exec] [INFO] Final Memory: 21M/110M [exec] [INFO] ------------------------------------------------------------------------You can run the same integration test using following command: