Giter VIP home page Giter VIP logo

grunt-sonar-runner's Introduction

grunt-sonar-runner

Sonar Analysis Runner from grunt

Build Status NPM version Dependency Status

Getting Started

This plugin requires Grunt ~0.4.5

If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:

npm install grunt-sonar-runner --save-dev

Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:

grunt.loadNpmTasks('grunt-sonar-runner');

The "sonarRunner" task

Overview

In your project's Gruntfile, add a section named sonarRunner to the data object passed into grunt.initConfig().

grunt.initConfig({
sonarRunner: {
        analysis: {
            options: {
                debug: true,
                separator: '\n',
                sonar: {
                    login: 'admin',
                    password: 'admin',
                    host: {
                        url: 'http://localhost:9000'
                    },
                    jdbc: {
                        url: 'jdbc:mysql://localhost:3306/sonar',
                        username: 'sonar',
                        password: 'sonar'
                    },

                    projectKey: 'sonar:grunt-sonar-runner:0.1.0',
                    projectName: 'Grunt Sonar Runner',
                    projectVersion: '0.10',
                    sources: ['test'].join(','),
                    language: 'js',
                    sourceEncoding: 'UTF-8'
                }
            }
        }
    }
});

Options

options.debug

Type: Boolean Default value: 'false'

A Boolean value to display debug information when preparing sonar analysis.

options.separator

Type: String Default value: os.EOL

A string value representing a new line character to separate individual sonar properties

options.dryRun

Type: Boolean Default value: 'false'

A flag to run it in dry mode. The configuration is checked but not execute

options.maxBuffer

Type: Number Default value: 'null'

maxBuffer specifies the largest amount of data allowed on stdout or stderr - if this value is exceeded then the child process is killed and an error returned from sonar-runner. See: child_process.exec()

options.projectHome

Type: String Default value: ''

A string value representing a root path from the project, if configured it will create a project configuration file based on options.sonar without override default runner configuration file. If the root path contains a file named sonar-project.properties, this file will be considered instead

options.sonar.host.url

Type: String Default value: 'http://localhost:9000'

Sonar Dashboard URL

options.sonar.jdbc.url

Type: String Default value: ''

JDBC connection url

options.sonar.jdbc.username

Type: String Default value: ''

JDBC connection username

options.sonar.jdbc.password

Type: String Default value: ''

JDBC connection password

options.sonar.sources

Type: String Default value: ''

comma separated list of directories to analyse. All js files in the provided directories will be included.

options.sonar.projectKey

Type: String Default value: ''

project key usually of form group:artifactId:version

options.sonar.projectName

Type: String Default value: ''

Project Summary

options.sonar.projectVersion

Type: String Default value: ''

Current project build version

options.sonar.language

Type: String Default value: null

Sets the project language. A list of language plugins can be found here. If this property is undefined, a multi language project will be assumed and the sources searched for valid/supported languages.

options.sonar.javascript.lcov.reportPath

Type: String Default value: -

Path to the LCOV Code Coverage File to be used in Sonar

options.sonar.exclusions

Type: String or [String]
Default value: null

A list of directories and files that should be excluded from Sonar analysis. A list of wildcards that can be use can be found here.

Usage Examples

The configuration code below shows all possible options that are currently supported by the plugin. Any additional sonar properties can be added right inside the sonar object literal.

grunt.initConfig({
  sonarRunner: {
              analysis: {
                  options: {
                      debug: true,
                      separator: '\n',
                      dryRun: false,
                      sonar: {
                          login: 'admin',
                          password: 'admin',                          
                          host: {
                              url: 'http://localhost:9000'
                          },
                          jdbc: {
                              url: 'jdbc:mysql://localhost:3306/sonar',
                              username: 'sonar',
                              password: 'sonar'
                          },

                          projectKey: 'sonar:grunt-sonar-runner:0.1.0',
                          projectName: 'Grunt Sonar Runner',
                          projectVersion: '0.10',
                          sources: ['test'].join(','),
                          language: 'js',
                          sourceEncoding: 'UTF-8'
                      }
                  }
              }
          }
});

To run

grunt sonarRunner:analysis

Release History

grunt-sonar-runner's People

Contributors

skhatri avatar reifi avatar polooo2 avatar chilicat avatar ilpianista avatar techiebrandon avatar cdietrich avatar lcotonea avatar joekukish avatar stas-vilchik avatar meister avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.