Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 55 Next »

Live example

Icon

If you want to see a live example of the capabilities of the Web plugin, you can have a look at the analysis of the Shopizer project on Nemo.

Description / Features

The plugin enables analysis of Web projects within SonarQube. Currently JSP and JSF are supported. Some initial support is provided for Ruby templating (erb files). 

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 SonarQubeserver

Usage

Run an Analysis with the SonarQubeRunner (Recommended Way)

To run an analysis of your Web project, use the SonarQube Runner.

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

Run an Analysis with the other Analyzers

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

Advanced Properties

The following properties of the plugin are configurable:

Property

Default value

sonar.web.sourceDirectory

 

sonar.web.fileExtensions

xhtml,jspf,jsp

sonar.cpd.web.minimumTokens

70

Metrics

See Metrics documentation page.

Complexity
Complexity of the web page is measured by counting the decision tags (such as if and forEach) and boolean operators in expressions ("&&" and "||"), plus one for the body of the document. It is a measure of the minimum number possible paths to render the page.

The decision tags and the operators are configurable. For details see rules library

Duplication
Duplication is counted by comparing tokens. Duplication is reported if more than a minimum amount of tokens are replicated (in the same file or another file). The default minimum tokens is set to 70.

Comments
Comments are counted by adding the lines for server side and client side comments.

Rules

There are about 20 checks in the library. Please read the documentation of the checks on the page Web Rules Library.

The ruleset is inspired on the following standards and guidelines:

A complete explanation of the available checks is given here .

Plugin Architecture

The plugin uses a simple tokenizer to parse the web pages. The tokenizer is based on the sonar-channel library. The output of the tokenizer is analyzed by a set of analyzers and checks. Expressions written in the Unified Expression Language (EL) are validated with JBoss EL.

Roadmap Ideas

  • More support for WCAG, webrichtlijnen
  • Enhanced validation of unified expressions (using JSFUnit?)
  • Dependency analysis

Change Log

Loading

Release 1.2 (13 issues)

 

Loading

Release 1.1 (6 issues)

 

Loading

Release 1.0.2 (1 issues)

 

Loading

Release 1.0.1 (1 issues)

 

Loading

Release 1.0 (21 issues)

Showing 20 out of 21 issues Refresh

 

Loading

Release 0.1 (5 issues)

  • No labels