Sonar and Flex plugin - Dollars ($) are not accepted in java class names

267 views Asked by At

In reference to this bug from Sonar: http://jira.codehaus.org/browse/SONAR-1865

and this one (which cross references the one above): http://jira.codehaus.org/browse/SONAR-1637

I am still seeing this issue.

I am using Sonar server version 2.12.
I am using Hudson, version 2.2.0.
I have installed the Sonar plugin in Hudson, version 1.7.2.

and, most importantly, I have the Flex plugin installed in the Sonar server. Flex plugin version is 0.4.

When I run mvn sonar:sonar -Pflex on a flex project, i get this error in the stack trace:

Caused by: java.lang.IllegalArgumentException: Java inner classes are not supported : EntityEnums$ReportParameterName
    at org.sonar.plugins.flex.FlexFile.<init>(FlexFile.java:79)
    at org.sonar.plugins.flex.FlexFile.fromIOFile(FlexFile.java:165)
    at org.sonar.plugins.flex.FlexSourceImporter.createResource(FlexSourceImporter.java:37)
    at org.sonar.api.batch.AbstractSourceImporter.parseDirs(AbstractSourceImporter.java:75)
    at org.sonar.api.batch.AbstractSourceImporter.analyse(AbstractSourceImporter.java:69)
    at org.sonar.api.batch.AbstractSourceImporter.analyse(AbstractSourceImporter.java:60)
    at org.sonar.batch.phases.SensorsExecutor.execute(SensorsExecutor.java:64)

Here is what my class looks like, that it is complaining about:

This is an Actionscript class, file name: EntityEnums$ReportParameterName.as. It was auto-generated from java to Actionscript using GraniteDS.

package com.digabit.core.db.entity.util {
    [Bindable]
    public class EntityEnums$ReportParameterName {

        public static const tnid:String = "tnid";
        public static const uname:String = "uname";
        public static const lc:String = "lc";
        public static const tnkey:String = "tnkey";
        public static const oid:String = "oid";

        public function EntityEnums$ReportParameterName()
        {
            super();
        }
   }
}

So, according the bug reports, this has been fixed in an earlier version of Sonar that I have; but I'm still seeing it in version 2.12. And why would the error show "java inner classes..." when this is a flex/actionscript class? Is anyone still seeing this bug behavior?

1

There are 1 answers

1
Godin On BEST ANSWER

Issue has been created on Sonar Flex Plugin side ( http://jira.codehaus.org/browse/SONARPLUGINS-1623 ) and most probably would be fixed in next release.