Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Wiki Markup
{iframe:src=http://updateredirect.sonarsource.orgcom/plugins/flex.html|width=700|height=250310|frameborder=0}
YourDocumentation browserhas doesbeen notmoved support iframes.
{iframe}
Tip
titleLive example

If you want to see a live example of the capabilities of the Flex plugin, you can have a look at the analysis of the AS3 Core Lib project on Nemo.

Description / Features

The plugin enables analysis of ActionScript projects within SonarQubeTM.

It is compatible with the Issues Report plugin to run pre-commit local analysis.

Installation

  1. Install the plugin through the Update Center or download it into the SONARQUBE_HOME/extensions/plugins directory
  2. Restart the SonarQubeTM server

Usage

Run an Analysis with the SonarQubeTM Runner (Recommended Way)

To run an analysis of your Flex project, use the SonarQubeTM Runner.

A sample project is available on github that can be browsed or downloaded: /projects/languages/flex/flex-sonar-runner.

Run an Analysis with the other Analyzers

Maven and Ant can also be used to launch analysis on Flex projects.

Unit Tests an Code Coverage Reports

If you want to display unit test results on dashboards, execute your unit tests before running the SonarQubeTM analysis and set the:

  • sonar.dynamicAnalysis property to reuseReports
  • sonar.surefire.reportsPath property to the path to the directory containing the XML reports
  • sonar.cobertura.reportPath property to the path to the Cobertura XML report

Metrics

See Metrics documentation page.

Extending Coding Rules using XPath

New coding rules can be added using XPath. See the related documentation.

To navigate the AST, download the SSLR Flex Toolkit.

Troubleshooting

FlexPMD engine - that is embedded in the Flex plugin, suffers from some bugs which can break the SonarQubeTM analyses. Here are some of them you might encounter if FlexPMD rules are activated in the Flex quality profile that you are using:

  • "fb:purpose="styling" attribute in MXML files causes OutOfMemory errors (see SONARPLUGINS-2400). 
    • Removing it fixes the issue.
  • the following code snippet make FlexPMD engine crash:
    • in MXML files:

 

Code Block
        <!-- this crashes FlexPMD --> 
        <fx:Metadata> 
                <![CDATA[[HostComponent("spark.components.ToggleButton")]]]> 
        </fx:Metadata>      
        <!-- this crashes FlexPMD as well (note the space between the 2 opening brackets --> 
        <fx:Metadata> 
                <![CDATA[ [HostComponent("spark.components.ToggleButton")]]]> 
        </fx:Metadata>
        
        <!-- this does not crash --> 
        <!--fx:Metadata> 
                <![CDATA[ 
                [HostComponent("spark.components.ToggleButton")] 
                ]]> 
        </fx:Metadata--> 

 

    • in AS files:

 

Code Block
private function foo(partName:String):void 
{ 
  switch (partName) 
  { 
    /*comment*/ 
    case "test": 
      trace("foo"); 
      break; 
    case "foo": 
      trace("foo"); 
      break; 
    case "bar": 
      trace("foo"); 
      break; 
    } 
} 

 

Change Log

JIRA Issues
anonymoustrue
titleVersion 1.2
renderModestatic
columnstype;key;summary;priority
urlhttp://jira.codehaus.org/sr/jira.issueviews:searchrequest-xml/temp/SearchRequest.xml?fixfor=18594&pid=11911&sorter/field=priority&sorter/order=DESC&tempMax=1000

 

JIRA Issues
anonymoustrue
titleVersion 1.1
renderModestatic
columnstype;key;summary;priority
urlhttp://jira.codehaus.org/sr/jira.issueviews:searchrequest-xml/temp/SearchRequest.xml?fixfor=18370&pid=11911&sorter/field=priority&sorter/order=DESC&tempMax=1000

 

JIRA Issues
anonymoustrue
titleVersion 1.0.1
renderModestatic
columnstype;key;summary;priority
urlhttp://jira.codehaus.org/sr/jira.issueviews:searchrequest-xml/temp/SearchRequest.xml?fixfor=18428&pid=11911&sorter/field=priority&sorter/order=DESC&tempMax=1000

 

to [http://redirect.sonarsource.com/plugins/flex.html].
{iframe}