Admin posted on September 6, 2011 19:06

Just one for my useful tools collection:

http://www.httrack.com/ - Completly download a website's content for offline browsing.


Posted in: Vista  Tags:

I'm currently looking at integrating Sonar into our build environment which intially didn't go too well interms of installation so I thought I'd document what I did and what was required for future reference.  In this first part I will show you how to configure Sonar to run with a basic out of the box setup that uses the inbuilt Derby database, localhost web and Core/Squid C# plugins.

PREREQUISITES - VERY IMPORTANT!

  1. Download Java JDK, it's works with 1.5+ but I installed 1.7.  
    http://www.oracle.com/technetwork/java/javase/downloads/java-se-jdk-7-download-432154.html

INSTALL SONAR

  1. Download Sonar:
    http://sonar.codehaus.org/downloads/
  2. Extract to a directory i.e. c:\Sonar
  3. Run \bin\windows-x86-32\StartSonar.bat or \bin\windows-x86-64\StartSonar.bat depending on your OS
  4. Navigate to http://localhost:9000 to view the default console

    At this point Sonar is configured to use the default database.

CONFIGURE SONAR WITH VS2010

  1. Download the "C# Plugins Ecosystem" 
    - Version 1.0 http://docs.codehaus.org/download/attachments/201228384/CSharpPluginsEcosystem-1.0-RC2.zip
    (Lastest version can be found on the top right here: http://docs.codehaus.org/display/SONAR/C-Sharp+Plugins+Ecosystem)
  2. Extract to the plugins directory C:\Sonar\sonar-2.9\extensions\plugins

INSTALL JAVA RUNNER

Rather than using Mavern it's much easier to to use the Java Runner to kick off Sonar.

  1. Download the Java Runner: http://docs.codehaus.org/display/SONAR/Analyse+with+a+simple+Java+Runner#AnalysewithasimpleJavaRunner-Installation
  2. Extract to dir i.e. c:\Sonar\sonar-runner-1.1
  3. Modify C:\Sonar\sonar-runner-1.1\conf\sonar-runner.properties to enble the default site and Derby DB
    My modifed file looks like this:

     #----- Default directory layout  
     sources=src/main/java  
     tests=src/test/java  
     binaries=target/classes  
     sonar.sourceEncoding=UTF-8  
     #----- Default Sonar server  
     sonar.host.url=http://localhost:9000  
     #----- Global database settings  
     sonar.jdbc.username=sonar  
     sonar.jdbc.password=sonar  
    
  4. Make sure you have the following environment varaibles:
    JAVA_HOME = C:\Program Files\Java\jdk1.6.0_23
    SONAR_RUNNER_HOME = C:\Sonar\sonar-runner-1.1
  5. Add the sonar runner bin path to your PATH environment (for my install this is C:\Sonar\sonar-runner-1.1\bin)
  6. There are two ways to tell Sonar where your .sln file is located
    a) You can create a sonar-project.properties file in the same directory as your solution file, Sonar will find it OR
    b) Create a sonar-project.properties file but use the sonar.dotnet.visualstudio.solution.file property to specify the path (this is my prefered option)
  7. Create a file called "sonar-project.properties" as descrivbed in the above step (literally as it is don't replace project with your project name!) placing it 
    Here's my sample properties file located on the root of my application:

    AppName
    ---->BuildTools
    ---->Lib
    ---->src
    --------->AppName.sln
    build.proj
    sonar-project.properties
  8.    
     # Project identification  
     sonar.projectKey=DMG:AppName
     sonar.projectVersion=1.0-SNAPSHOT  
     sonar.projectName=AppName
       
     # Info required for Sonar  
     sources=.  
     sonar.language=cs  
       
     #Core C# Settings  
     sonar.dotnet.visualstudio.solution.file=\src\\AppName.sln  
       
     #Gendarme  
     sonar.gendarme.assemblies=\build\\DmgTech*.*  
     sonar.gendarme.mode=skip  
       
     # Gallio  
     sonar.gallio.mode=skip  
       
     # FXCop  
     sonar.fxcop.mode=skip  
       
     #StyleCop  
     sonar.stylecop.mode=skip  
       
    
  9. To run Sonar-Runner against your project
    - Shell out to DOS
    - Change directory to the location of your "sonar-project.properties" file
    - Execute "sonar-runner"
  10. View your reports at http://localhost:9000

Troubleshooting
  • If you receive something like: Fail to connect to database: undefined method `getActiveRecordDialectCode' for nil
    Check the JDK version you are running
  • If you receive a maintenance warning then try http://localhost:9000\setup
  • View the logs \logs\sonar.log
  • If you receive the following error make sure the path to Java is in the environment path (I had to put C:\Program Files\Java\jdk1.7.0\bin).  To test head to DOS and type java.
FATAL  | wrapper  | 2011/08/22 13:00:04 | Critical error: wait for JVM process failed
STATUS | wrapper  | 2011/08/22 13:02:14 | --> Wrapper Started as Service
STATUS | wrapper  | 2011/08/22 13:02:14 | Launching a JVM...
INFO   | jvm 1    | 2011/08/22 13:02:16 | Wrapper (Version 3.2.3) http://wrapper.tanukisoftware.org
INFO   | jvm 1    | 2011/08/22 13:02:16 |   Copyright 1999-2006 Tanuki Software, Inc.  All Rights Reserved.

-----------------------------------------------------------------------------------------------------------------------------------

wrapper  | --> Wrapper Started as Console
wrapper  | Java Service Wrapper Community Edition 3.3.0
wrapper  |   Copyright (C) 1999-2008 Tanuki Software, Inc.  All Rights
Reserved.
wrapper  |     http://wrapper.tanukisoftware.org
wrapper  |
wrapper  | Launching a JVM...
jvm 1    | WrapperManager: Initializing...
jvm 1    | 2009-12-07 16:33:29.166::INFO:  Logging to STDERR via
org.mortbay.log.StdErrLog
jvm 1    | 2009-12-07 16:33:29.211::INFO:  jetty-6.1.17
jvm 1    | 2009-12-07 16:33:29.350::WARN:  Failed startup of context
org.mortbay.jetty.webapp.WebAppContext@635f44d4{/,null}
jvm 1    | java.lang.NullPointerException

fix: I came across this error when I reinstalled Sonar over an existing installation, I had to remove and reinstall from fresh to get around this error

-----------------------------------------------------------------------------------------------------------------------------------

 

Exception in thread "main" org.sonar.batch.bootstrapper.BootstrapException: org.picocontainer.PicoLifecycleException: PicoLifecycleException: method 'public void org.sonar.batch.index.DefaultIndex.start()', instance 'org.sonar.batch.index.DefaultIndex@39da8a, java.lang.RuntimeException: wrapper at org.sonar.runner.Runner.delegateExecution(Runner.java:155) at org.sonar.runner.Runner.execute(Runner.java:58)at org.sonar.runner.Main.main(Main.java:52)
Caused by: org.picocontainer.PicoLifecycleException: PicoLifecycleException: method 'public void org.sonar.batch.index.DefaultIndex.start()', instance 'org.sonar.batch.index.DefaultIndex@39da8a, java.lang.RuntimeException: wrapper

 

FIX: sonar-runner can't find a sonar-project.properties file!

In the next part I'll dive into enabling the extra plugins such as Gallio and incorporate NCover reports. 

 


Dan posted on February 9, 2010 14:19

The other day I really needed to get to the "Mail" icon in the control panel on my vista desktop.  That's easy you might be thinking!

After spending 5 minutes hunting around switching from classic view then back to normal view and then back to classic etc etc I thought this is damn right stupid the email icon must be there somewhere so after a quick Google I found that you need to do the following in 64bit Vista:

- In control panel switch to classic view
- Click "View 32bit Control Panel Items"
- There it is the email icon, why did Microsoft make it so hard!!


Posted in: Vista  Tags:
Dan posted on July 6, 2009 15:25

If you're looking for the built in Vista snip tool for screen shots you'll find it nicely hidden away if not installed by default:

  1. Go to Control Panel
  2. -> Programs
  3. -> Turn Windows features on or off
  4. -> From the list select Windows Tablet Options Components

Hmmmm.....That was obvious!


Posted in: Vista  Tags:

Calendar

«  May 2012  »
MoTuWeThFrSaSu
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910
View posts in large calendar

Recent Comments

Banners

Theme Grabber
Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

© Copyright 2012 Dan Gibbons .Net Developer