Sonar Support with JSP & HTML

JSP/HTML land, usefull tests could be done via some regexp, ie check if style/css are used (to avoid dirty colors/fonts hard-coded for example).

If we want to build something pretty robust and extensible, I think we should integrate a java library which is able to transform a XHTML or badly formatted HTML document into a DOM :

http://htmlparser.sourceforge.net/
http://jtidy.sourceforge.net/
http://sourceforge.net/projects/nekohtml/

a complete list of available libraries is available here : http://java-source.net/open-source/html-parsers

With a DOM we could then imagine to implement a visitor pattern in order to let users create new rules.

Some very simple rules in order to start.
Rule 1: disallow scriptlets
Rule 2: disallow some taglibs (JSTL SQL comes to mind). Could be parametrized by Taglib URL to list all disallowed taglibs.
Rule 3: enforce JSP style (XML syntax)
Rule 4: disallow hard coded labels
Rule 5: disallow dynamic JSP includes (<jsp:include>)
Rule 6: disallow external file in page attribute of dynamic JSP include
Rule 7: disallow TLD location for URI in taglib declaration
For HTML
Rule 8: enforce <script> at the end of the body
Rule 9: disallow <style>
Rule 10: disallow non empty <script> content
Rule 11: enforce a limit on the number of called external files (js and css)

Tagged : / / /

Sonar Vs Squale

Based on feedback of Fabricefrom Squale, Please find a difference between Sonar and Squale

In a nutshell, we could say that Sonar is good at gathering code metrics and displaying them in various visualisations, mainly targeting technical people, while Squale is good at aggregating those metrics into high level factors to address top-level managers.

In facts, Squale and Sonar both: Similarties
– analyse code for different languages
– get metrics from code and store them into a database
– display them so that it is possible to drill down the code and analyse where complexity and risks are

In term of differences:
– Sonar relies on Maven while Squale has not this requirement
– Sonar does not offer advanced quality models to aggregate raw quality data into high level factors
– Squale does not display code in its web interface (we think this is not a major feature as you can only read code but bot modify it: the most important is to have the feedback in the IDE)
– it is a bit more complex to extend Squale, while Sonar has a good extension mechanism

Tagged : / / / / /

Compare between RSM and Sonar

Metrics Tools
Category Metric Comment RSM Sonar
Function Metrics LOC Lines of Code Per Function, All Functions Yes Yes
eLOC (Effective LOC) Per Function, All Functions Yes Yes
lLOC (Logical Statements LOC) Per Function, All Functions Yes No
FP Function Points Derived from LOC metrics Per Function, All Functions Yes No
Comments Lines Per Function, All Functions Yes Yes
Blank Lines Per Function, All Functions Yes Yes
Physical Lines Per Function, All Functions Yes Yes
Number of Input Parameters Per Function, Yes No
Number of Return Points Per Function, Yes No
Interface Complexity (Parameters + Returns) Per Function, Yes Yes
Cyclomatic Complexity Logical Branching Per Function, All Functions Yes No
Functional Complexity (Interface + Cyclomatic) Per Function, All Functions Yes No
Functional Quality Analysis Per Function, Yes Yes
Number of functions Total, Average, Maximum and Minimums All Functions Yes Yes
Logical Lines All Functions Yes No
Return Points All Functions Yes No
Function Parameters All Functions Yes No
Total Quality Profile All Functions Yes ?
Class Metrics Number of public, private, protected data attributes Per Class, All Classes Yes Yes
Number of public, private, protected methods Per Class, All Classes Yes Yes
Template Type Per Class, Yes No
Inheritance Per Class, Yes No
Depth of Inheritance Tree Per Class, Yes Yes
Number of derived child classes per base class Per Class, Yes Yes
LOC Lines of Code Per Class, All Classes Yes Yes
eLOC (Effective LOC) Per Class, All Classes Yes No
lLOC (Logical Statements LOC) Per Class, All Classes Yes No
Comments Lines Per Class, All Classes Yes Yes
Blank Lines Per Class, All Classes Yes Yes
Physical Lines Per Class, All Classes Yes Yes
Number of Input Parameters Per Class, All Classes Yes No
Number of Return Points Per Class, All Classes Yes No
Interface Complexity (Parameters + Returns) Per Class, All Classes Yes No
Cyclomatic Complexity Logical Branching Per Class, All Classes Yes No
Class Complexity (Interface + Cyclomatic) Per Class, All Classes Yes Yes
Class Quality Analysis RSM Quality Analysis Per Class, Yes No
Total number of classes All Classes Yes Yes
Inheritance Tree All Classes Yes No
Number of Base Classes All Classes Yes Yes
Number of Derived Classes All Classes Yes Yes
Derived/Base Class Ratio All Classes Yes No
Maximum and Average Inheritance Depth All Classes Yes No
Maximum and Average Number of Child Classes All Classes Yes No
Total Quality Profile All Classes Yes ?
Namespace or Package Metrics Number of classes Per Namespace, All Namespace/Packages Yes Yes
Number of functions Per Namespace, All Namespace/Packages Yes Yes
Average functions per class Per Namespace, Yes Yes
Number of public, private, protected data attributes Per Namespace, All Namespace/Packages Yes Yes
Number of public, private, protected methods Per Namespace, All Namespace/Packages Yes Yes
LOC Lines of Code Per Namespace, All Namespace/Packages Yes Yes
eLOC (Effective LOC) Per Namespace, All Namespace/Packages Yes No
lLOC (Logical Statements LOC) Per Namespace, All Namespace/Packages Yes No
Comments Lines Per Namespace, All Namespace/Packages Yes Yes
Blank Lines Per Namespace, All Namespace/Packages Yes Yes
Physical Lines Per Namespace, All Namespace/Packages Yes Yes
Number of Input Parameters Per Namespace, All Namespace/Packages Yes No
Number of Return Points Per Namespace, All Namespace/Packages Yes No
Interface Complexity (Parameters + Returns) Per Namespace, All Namespace/Packages Yes No
Cyclomatic Complexity Logical Branching Per Namespace, All Namespace/Packages Yes No
Package/Namespace Complexity (Interface + Cyclomatic) Per Namespace, All Namespace/Packages Yes No
Quality Analysis RSM Quality Analysis Per Namespace, Yes No
Total Quality Profile All Namespace/Packages Yes ?
File Metrics LOC Lines of Code Yes Yes
eLOC (Effective LOC) Yes No
lLOC (Logical Statements LOC) Yes No
FP Function Points Derived from LOC Yes No
Comments Lines Yes Yes
Blank Lines Yes Yes
Logical and Physical Lines Yes Yes
Comment and White space percentages Yes Yes
Average Character line length Yes No
Memory Allocation and De-allocation metric Yes No
Language Keyword use Yes No
Language Construct use Yes No
Extract Comments per file for understandability rating and spell checking Yes No
Extract Strings per file for spell checking Yes No
Create files in line numbered format for code reviews Yes No
Number of Quality Notices per file Yes No
Metrics differentials between two file version Yes No
Project Metrics Total LOC, eLOC, lLOC, Comment, Blanks, Lines Yes Yes
FP Function Points Derived from LOC metrics Yes No
Total Function Metrics Yes No
Total Class Metrics Yes Yes
Total Namespace Metrics Yes No
Inheritance Tree and Metrics Yes No
Language Keywords, constructs and metrics Yes No
Quality Profile Yes ?
Metric Estimation Factors for software estimates Yes No
Total Language Metrics Example Yes No
Total C, C++ and Header Files Yes No
Total Java Files Yes No
Total Number of Files Yes Yes
Baseline Metric Differential Yes Yes
Tagged : / / / / /

Integration of Sonar in IDE

rajeshkumar created the topic: Integration of Sonar in IDE

Integration of Sonar in IDE to enable instant feedback to developer

Proposals from both Evgeny and Andrew have been accepted for Google Summer Of Code 2010 ( code.google.com/soc/ ) :

* Integration of Sonar in IDE to enable instant feedback to developer (Evgeny) : in other words, providing Sonar plugins for IDEA and Eclipse.
* Sonar Widget Dashboard – Customizable U (Andrew) : in other words, making Sonar dashboards configurable.

And here is a post from Evgeny on this subject : godin.net.ru/2010/04/27/my-proposal-for-…summer-of-code-2010/ .
If you want to actively participate to discussions on the way to implement those two ideas, you can subscribe to the dev mailing list.
Regards,
Rajesh Kumar
Twitt me @ twitter.com/RajeshKumarIn

Tagged :

Sonar Starter Issues in Linux.

scmuser created the topic: Sonar Starter Issues in Linux.
Sonar Starter Issues in Linux.

Hi,

After installing Sonar in Linux i am finding very strnage issues…Any help on this???

Machine Info: uname -a
Linux CMP_NAME 2.6.9-67.EL #1 Wed Nov 7 13:41:13 EST 2007 i686 i686 i386 GNU/Linux

Sonar version:sonar-2.2

Database: MySql

JAVA VERSION: jdk1.6.0_20

START SCRIPT Base I am trying: linux-x86-32

LOG FILE

STATUS | wrapper  | 2010/09/23 13:40:38 | --> Wrapper Started as Daemon
STATUS | wrapper  | 2010/09/23 13:40:38 | Java Service Wrapper Community Edition 3.3.0
STATUS | wrapper  | 2010/09/23 13:40:38 |   Copyright (C) 1999-2008 Tanuki Software, Inc.  All Rights Reserved.
STATUS | wrapper  | 2010/09/23 13:40:38 |     http://wrapper.tanukisoftware.org
STATUS | wrapper  | 2010/09/23 13:40:38 | 
STATUS | wrapper  | 2010/09/23 13:40:38 | Launching a JVM...
INFO   | jvm 1    | 2010/09/23 13:40:38 | Warning: -XX:MaxPermSize=128m not understood. Ignoring.
INFO   | jvm 1    | 2010/09/23 13:40:38 | Warning: -Xms256m not understood. Ignoring.
INFO   | jvm 1    | 2010/09/23 13:40:38 | Warning: -Xmx512m not understood. Ignoring.
ERROR  | wrapper  | 2010/09/23 13:40:38 | JVM exited while loading the application.
INFO   | jvm 1    | 2010/09/23 13:40:38 | Exception in thread "main" java.lang.VerifyError: verification failed at PC 148 in org.tanukisoftware.wrapper.WrapperManager:run(()V): recursive subroutine call
INFO   | jvm 1    | 2010/09/23 13:40:38 |    at _Jv_BytecodeVerifier.verify_fail(byte, int) (/usr/lib/libgcj.so.5.0.0)
INFO   | jvm 1    | 2010/09/23 13:40:38 |    at _Jv_BytecodeVerifier.verify_instructions_0() (/usr/lib/libgcj.so.5.0.0)
INFO   | jvm 1    | 2010/09/23 13:40:38 |    at _Jv_VerifyMethod(_Jv_InterpMethod) (/usr/lib/libgcj.so.5.0.0)
INFO   | jvm 1    | 2010/09/23 13:40:38 |    at _Jv_PrepareClass(java.lang.Class) (/usr/lib/libgcj.so.5.0.0)
INFO   | jvm 1    | 2010/09/23 13:40:38 |    at _Jv_WaitForState(java.lang.Class, int) (/usr/lib/libgcj.so.5.0.0)
INFO   | jvm 1    | 2010/09/23 13:40:38 |    at java.lang.VMClassLoader.linkClass0(java.lang.Class) (/usr/lib/libgcj.so.5.0.0)
INFO   | jvm 1    | 2010/09/23 13:40:38 |    at java.lang.VMClassLoader.resolveClass(java.lang.Class) (/usr/lib/libgcj.so.5.0.0)
INFO   | jvm 1    | 2010/09/23 13:40:38 |    at java.lang.Class.initializeClass() (/usr/lib/libgcj.so.5.0.0)
INFO   | jvm 1    | 2010/09/23 13:40:38 |    at java.lang.Class.forName(java.lang.String, boolean, java.lang.ClassLoader) (/usr/lib/libgcj.so.5.0.0)
INFO   | jvm 1    | 2010/09/23 13:40:38 |    at java.lang.Class.forName(java.lang.String) (/usr/lib/libgcj.so.5.0.0)
INFO   | jvm 1    | 2010/09/23 13:40:38 |    at org.tanukisoftware.wrapper.WrapperSimpleApp.class$(java.lang.String) (Unknown Source)
INFO   | jvm 1    | 2010/09/23 13:40:38 |    at org.tanukisoftware.wrapper.WrapperSimpleApp.WrapperSimpleApp(java.lang.String[]) (Unknown Source)
INFO   | jvm 1    | 2010/09/23 13:40:38 |    at org.tanukisoftware.wrapper.WrapperSimpleApp.main(java.lang.String[]) (Unknown Source)
STATUS | wrapper  | 2010/09/23 13:40:43 | Launching a JVM...
INFO   | jvm 2    | 2010/09/23 13:40:43 | Warning: -XX:MaxPermSize=128m not understood. Ignoring.
INFO   | jvm 2    | 2010/09/23 13:40:43 | Warning: -Xms256m not understood. Ignoring.
INFO   | jvm 2    | 2010/09/23 13:40:43 | Warning: -Xmx512m not understood. Ignoring.
ERROR  | wrapper  | 2010/09/23 13:40:43 | JVM exited while loading the application.
INFO   | jvm 2    | 2010/09/23 13:40:43 | Exception in thread "main" java.lang.VerifyError: verification failed at PC 148 in org.tanukisoftware.wrapper.WrapperManager:run(()V): recursive subroutine call
INFO   | jvm 2    | 2010/09/23 13:40:43 |    at _Jv_BytecodeVerifier.verify_fail(byte, int) (/usr/lib/libgcj.so.5.0.0)
INFO   | jvm 2    | 2010/09/23 13:40:43 |    at _Jv_BytecodeVerifier.verify_instructions_0() (/usr/lib/libgcj.so.5.0.0)
INFO   | jvm 2    | 2010/09/23 13:40:43 |    at _Jv_VerifyMethod(_Jv_InterpMethod) (/usr/lib/libgcj.so.5.0.0)
INFO   | jvm 2    | 2010/09/23 13:40:43 |    at _Jv_PrepareClass(java.lang.Class) (/usr/lib/libgcj.so.5.0.0)
INFO   | jvm 2    | 2010/09/23 13:40:43 |    at _Jv_WaitForState(java.lang.Class, int) (/usr/lib/libgcj.so.5.0.0)
INFO   | jvm 2    | 2010/09/23 13:40:43 |    at java.lang.VMClassLoader.linkClass0(java.lang.Class) (/usr/lib/libgcj.so.5.0.0)
INFO   | jvm 2    | 2010/09/23 13:40:43 |    at java.lang.VMClassLoader.resolveClass(java.lang.Class) (/usr/lib/libgcj.so.5.0.0)
INFO   | jvm 2    | 2010/09/23 13:40:43 |    at java.lang.Class.initializeClass() (/usr/lib/libgcj.so.5.0.0)
INFO   | jvm 2    | 2010/09/23 13:40:43 |    at java.lang.Class.forName(java.lang.String, boolean, java.lang.ClassLoader) (/usr/lib/libgcj.so.5.0.0)
INFO   | jvm 2    | 2010/09/23 13:40:43 |    at java.lang.Class.forName(java.lang.String) (/usr/lib/libgcj.so.5.0.0)
INFO   | jvm 2    | 2010/09/23 13:40:43 |    at org.tanukisoftware.wrapper.WrapperSimpleApp.class$(java.lang.String) (Unknown Source)
INFO   | jvm 2    | 2010/09/23 13:40:43 |    at org.tanukisoftware.wrapper.WrapperSimpleApp.WrapperSimpleApp(java.lang.String[]) (Unknown Source)
INFO   | jvm 2    | 2010/09/23 13:40:43 |    at org.tanukisoftware.wrapper.WrapperSimpleApp.main(java.lang.String[]) (Unknown Source)
STATUS | wrapper  | 2010/09/23 13:40:47 | Launching a JVM...
INFO   | jvm 3    | 2010/09/23 13:40:48 | Warning: -XX:MaxPermSize=128m not understood. Ignoring.
INFO   | jvm 3    | 2010/09/23 13:40:48 | Warning: -Xms256m not understood. Ignoring.
INFO   | jvm 3    | 2010/09/23 13:40:48 | Warning: -Xmx512m not understood. Ignoring.
INFO   | jvm 3    | 2010/09/23 13:40:48 | Exception in thread "main" 
ERROR  | wrapper  | 2010/09/23 13:40:48 | JVM exited while loading the application.
INFO   | jvm 3    | 2010/09/23 13:40:48 | java.lang.VerifyError: verification failed at PC 148 in org.tanukisoftware.wrapper.WrapperManager:run(()V): recursive subroutine call
INFO   | jvm 3    | 2010/09/23 13:40:48 |    at _Jv_BytecodeVerifier.verify_fail(byte, int) (/usr/lib/libgcj.so.5.0.0)
INFO   | jvm 3    | 2010/09/23 13:40:48 |    at _Jv_BytecodeVerifier.verify_instructions_0() (/usr/lib/libgcj.so.5.0.0)
INFO   | jvm 3    | 2010/09/23 13:40:48 |    at _Jv_VerifyMethod(_Jv_InterpMethod) (/usr/lib/libgcj.so.5.0.0)
INFO   | jvm 3    | 2010/09/23 13:40:48 |    at _Jv_PrepareClass(java.lang.Class) (/usr/lib/libgcj.so.5.0.0)
INFO   | jvm 3    | 2010/09/23 13:40:48 |    at _Jv_WaitForState(java.lang.Class, int) (/usr/lib/libgcj.so.5.0.0)
INFO   | jvm 3    | 2010/09/23 13:40:48 |    at java.lang.VMClassLoader.linkClass0(java.lang.Class) (/usr/lib/libgcj.so.5.0.0)
INFO   | jvm 3    | 2010/09/23 13:40:48 |    at java.lang.VMClassLoader.resolveClass(java.lang.Class) (/usr/lib/libgcj.so.5.0.0)
INFO   | jvm 3    | 2010/09/23 13:40:48 |    at java.lang.Class.initializeClass() (/usr/lib/libgcj.so.5.0.0)
INFO   | jvm 3    | 2010/09/23 13:40:48 |    at java.lang.Class.forName(java.lang.String, boolean, java.lang.ClassLoader) (/usr/lib/libgcj.so.5.0.0)
INFO   | jvm 3    | 2010/09/23 13:40:48 |    at java.lang.Class.forName(java.lang.String) (/usr/lib/libgcj.so.5.0.0)
INFO   | jvm 3    | 2010/09/23 13:40:48 |    at org.tanukisoftware.wrapper.WrapperSimpleApp.class$(java.lang.String) (Unknown Source)
INFO   | jvm 3    | 2010/09/23 13:40:48 |    at org.tanukisoftware.wrapper.WrapperSimpleApp.WrapperSimpleApp(java.lang.String[]) (Unknown Source)
INFO   | jvm 3    | 2010/09/23 13:40:48 |    at org.tanukisoftware.wrapper.WrapperSimpleApp.main(java.lang.String[]) (Unknown Source)
STATUS | wrapper  | 2010/09/23 13:40:52 | Launching a JVM...
INFO   | jvm 4    | 2010/09/23 13:40:52 | Warning: -XX:MaxPermSize=128m not understood. Ignoring.
INFO   | jvm 4    | 2010/09/23 13:40:52 | Warning: -Xms256m not understood. Ignoring.
INFO   | jvm 4    | 2010/09/23 13:40:52 | Warning: -Xmx512m not understood. Ignoring.
ERROR  | wrapper  | 2010/09/23 13:40:53 | JVM exited while loading the application.
INFO   | jvm 4    | 2010/09/23 13:40:53 | Exception in thread "main" java.lang.VerifyError: verification failed at PC 148 in org.tanukisoftware.wrapper.WrapperManager:run(()V): recursive subroutine call
INFO   | jvm 4    | 2010/09/23 13:40:53 |    at _Jv_BytecodeVerifier.verify_fail(byte, int) (/usr/lib/libgcj.so.5.0.0)
INFO   | jvm 4    | 2010/09/23 13:40:53 |    at _Jv_BytecodeVerifier.verify_instructions_0() (/usr/lib/libgcj.so.5.0.0)
INFO   | jvm 4    | 2010/09/23 13:40:53 |    at _Jv_VerifyMethod(_Jv_InterpMethod) (/usr/lib/libgcj.so.5.0.0)
INFO   | jvm 4    | 2010/09/23 13:40:53 |    at _Jv_PrepareClass(java.lang.Class) (/usr/lib/libgcj.so.5.0.0)
INFO   | jvm 4    | 2010/09/23 13:40:53 |    at _Jv_WaitForState(java.lang.Class, int) (/usr/lib/libgcj.so.5.0.0)
INFO   | jvm 4    | 2010/09/23 13:40:53 |    at java.lang.VMClassLoader.linkClass0(java.lang.Class) (/usr/lib/libgcj.so.5.0.0)
INFO   | jvm 4    | 2010/09/23 13:40:53 |    at java.lang.VMClassLoader.resolveClass(java.lang.Class) (/usr/lib/libgcj.so.5.0.0)
INFO   | jvm 4    | 2010/09/23 13:40:53 |    at java.lang.Class.initializeClass() (/usr/lib/libgcj.so.5.0.0)
INFO   | jvm 4    | 2010/09/23 13:40:53 |    at java.lang.Class.forName(java.lang.String, boolean, java.lang.ClassLoader) (/usr/lib/libgcj.so.5.0.0)
INFO   | jvm 4    | 2010/09/23 13:40:53 |    at java.lang.Class.forName(java.lang.String) (/usr/lib/libgcj.so.5.0.0)
INFO   | jvm 4    | 2010/09/23 13:40:53 |    at org.tanukisoftware.wrapper.WrapperSimpleApp.class$(java.lang.String) (Unknown Source)
INFO   | jvm 4    | 2010/09/23 13:40:53 |    at org.tanukisoftware.wrapper.WrapperSimpleApp.WrapperSimpleApp(java.lang.String[]) (Unknown Source)
INFO   | jvm 4    | 2010/09/23 13:40:53 |    at org.tanukisoftware.wrapper.WrapperSimpleApp.main(java.lang.String[]) (Unknown Source)
STATUS | wrapper  | 2010/09/23 13:40:57 | Launching a JVM...
INFO   | jvm 5    | 2010/09/23 13:40:57 | Warning: -XX:MaxPermSize=128m not understood. Ignoring.
INFO   | jvm 5    | 2010/09/23 13:40:57 | Warning: -Xms256m not understood. Ignoring.
INFO   | jvm 5    | 2010/09/23 13:40:57 | Warning: -Xmx512m not understood. Ignoring.
ERROR  | wrapper  | 2010/09/23 13:40:57 | JVM exited while loading the application.
INFO   | jvm 5    | 2010/09/23 13:40:57 | Exception in thread "main" java.lang.VerifyError: verification failed at PC 148 in org.tanukisoftware.wrapper.WrapperManager:run(()V): recursive subroutine call
INFO   | jvm 5    | 2010/09/23 13:40:57 |    at _Jv_BytecodeVerifier.verify_fail(byte, int) (/usr/lib/libgcj.so.5.0.0)
INFO   | jvm 5    | 2010/09/23 13:40:57 |    at _Jv_BytecodeVerifier.verify_instructions_0() (/usr/lib/libgcj.so.5.0.0)
INFO   | jvm 5    | 2010/09/23 13:40:57 |    at _Jv_VerifyMethod(_Jv_InterpMethod) (/usr/lib/libgcj.so.5.0.0)
INFO   | jvm 5    | 2010/09/23 13:40:57 |    at _Jv_PrepareClass(java.lang.Class) (/usr/lib/libgcj.so.5.0.0)
INFO   | jvm 5    | 2010/09/23 13:40:57 |    at _Jv_WaitForState(java.lang.Class, int) (/usr/lib/libgcj.so.5.0.0)
INFO   | jvm 5    | 2010/09/23 13:40:57 |    at java.lang.VMClassLoader.linkClass0(java.lang.Class) (/usr/lib/libgcj.so.5.0.0)
INFO   | jvm 5    | 2010/09/23 13:40:57 |    at java.lang.VMClassLoader.resolveClass(java.lang.Class) (/usr/lib/libgcj.so.5.0.0)
INFO   | jvm 5    | 2010/09/23 13:40:57 |    at java.lang.Class.initializeClass() (/usr/lib/libgcj.so.5.0.0)
INFO   | jvm 5    | 2010/09/23 13:40:57 |    at java.lang.Class.forName(java.lang.String, boolean, java.lang.ClassLoader) (/usr/lib/libgcj.so.5.0.0)
INFO   | jvm 5    | 2010/09/23 13:40:57 |    at java.lang.Class.forName(java.lang.String) (/usr/lib/libgcj.so.5.0.0)
INFO   | jvm 5    | 2010/09/23 13:40:57 |    at org.tanukisoftware.wrapper.WrapperSimpleApp.class$(java.lang.String) (Unknown Source)
INFO   | jvm 5    | 2010/09/23 13:40:57 |    at org.tanukisoftware.wrapper.WrapperSimpleApp.WrapperSimpleApp(java.lang.String[]) (Unknown Source)
INFO   | jvm 5    | 2010/09/23 13:40:57 |    at org.tanukisoftware.wrapper.WrapperSimpleApp.main(java.lang.String[]) (Unknown Source)
FATAL  | wrapper  | 2010/09/23 13:40:57 | There were 5 failed launches in a row, each lasting less than 300 seconds.  Giving up.
FATAL  | wrapper  | 2010/09/23 13:40:57 |   There may be a configuration problem: please check the logs.
STATUS | wrapper  | 2010/09/23 13:40:57 | <-- Wrapper Stopped
Tagged :

Database query for Sonar setup

rajeshkumar created the topic: database query for Sonar setup

CREATE USER 'sonar123'@'%' IDENTIFIED BY '***';
(Create a User in Mysql DB)
GRANT USAGE ON * . * TO 'sonar123'@'%' IDENTIFIED BY '***' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;
(Grant Access to user” Sonar123”)
CREATE DATABASE IF NOT EXISTS `sonar123` ;
GRANT ALL PRIVILEGES ON `sonar123` . * TO 'sonar123'@'%';

Regards,
Rajesh Kumar
Twitt me @ twitter.com/RajeshKumarIn

Tagged :

max_allowed_packet issues in Sonar

scmuser created the topic: max_allowed_packet issues in Sonar

Hi,
When I execute sonar file to generate the code quality matrix.

I get following error…any help

You can change this value on the server by setting the max_allowed_packet' variable.

scmuser replied the topic: Re:max_allowed_packet issues in Sonar

I go Following Solution for this…

You are using XAMPP:
Change the value of max_allowed_packet = 1M to 16M in lampp/etc/my.cnf

You are using mysql standalone or WAMP

Change the value of max_allowed_packet = 1M to 16M in lampp/etc/my.ini

Tagged :

Sonar.lock.db what it this file ??

hareesh.aims created the topic: sonar.lock.db what it this file ??

Hi Rajesh , I installed Sonarqube in AWS, later i Unzipped to Opt directory , I tried to delete the sonarqube folder using this command rm -rf sonarqube-6.4.
My question is , after deleting the Sonaqube folder i see a file called “sonar.lock.db” and I see the contents as in this link github.com/saravanan-na/sonar/blob/maste…1/data/sonar.lock.db . Can you explain me what is for ?????

rajeshkumar replied the topic: sonar.lock.db what it this file ??

It seems like that before deleting the directory, you have not stopped the SonarQube servers and that a reason H2 alogn existing java process is holding the lock. You need to reboot the server or follow the instructions here

stackoverflow.com/questions/8158969/h2-d…d-by-another-process

Regards,
Rajesh Kumar
Twitt me @ twitter.com/RajeshKumarIn

Tagged :

Sonar team released Sonar Maven Plugin 1.0-beta-2

sonar-maven-plugin

The Sonar team is pleased to announce the release of Sonar Maven Plugin, version 1.0-beta-2.

It makes configuration easier when using a repository manager like Archiva or Nexus. Indeed no additional settings are required anymore ! Let’s remind that the version 1.0-beta-1 needs to declare a mirror in maven settings or to add a new repository to the manager.
This improvement requires Sonar 2.2+. It is automatically disabled when using sonar 2.1 or less. Upgrading to this version should be automatic if the shortcut “mvn sonar:sonar” or the hudson plugin are used.

 

Tagged : / / / / / / / / / / / / / /