sonar / contesto di Maven: esecuzione Gallio riuscita. Cercando perché :?
Domanda
Ho una scatola di integrazione continua Server 2008, su cui voglio usare Gallio in modo da eseguire il mio MSTests e PartCover per il mio cruscotto Sonar.
Ho installato Gallio 3.3.1 x64 con PartCover, e così via.
Gallio funziona tramite Icarus sulle linee di prova (grazie a questa risposta )
Tuttavia, attraverso Sonar, ho questo sconcertante trace log (vedi sotto). Anche se i miei gruppi di test sono qualificati come progetto di test, il messaggio di errore per Gallio è
'Embedded error: Gallio execution failed.
No test assembly was found. Please check your project's Gallio plugin configuration.'
Qualche idea su come monitorare e risolvere questo problema?
Grazie,
Nota. non ho potuto per alcuni motivi postare questa domanda sul gruppo Gallio-utente, in modo provo ci
[INFO] Execute: org.codehaus.sonar:sonar-maven-plugin:2.11:sonar
[INFO] [sonar:sonar {execution: default-sonar}]
[INFO] Database dialect class org.sonar.jpa.dialect.Derby
[INFO] Initializing Hibernate
[INFO] The following 'sln' file has been found and will be used: D:\toto.sln
[INFO] The project 'toto.Test' has been qualified as a test project.
[INFO] The project 'titi.Test' has been qualified as a test project.
[INFO] ------------- Analyzing toto
[INFO] Selected quality profile : [name=Sonar C# Way,language=cs]
[INFO] Configure maven plugins...
[INFO] Compare to previous analysis (2011-11-30)
[INFO] Compare over 5 days (2011-11-25, analysis of 2011-11-29 10:52:11.443)
[INFO] Compare over 30 days (2011-10-31, analysis of 2011-11-29 10:52:11.443)
[INFO] Initializer CSharpProjectInitializer...
[INFO] Initializer CSharpProjectInitializer done: 6 ms
[INFO] Skipping the non generated assembly of project : toto
[INFO] No assembly to check with Gendarme
[INFO] Skipping the non generated assembly of project : toto
[INFO] No assembly to check with FxCop
[INFO] Sensor org.sonar.plugins.csharp.core.CSharpSourceImporter@1acc1c2...
[INFO] Sensor org.sonar.plugins.csharp.core.CSharpSourceImporter@1acc1c2 done: 116 ms
[INFO] Sensor com.sonar.plugins.csharp.squid.C@caf6e7...
[INFO] Sensor com.sonar.plugins.csharp.squid.C@caf6e7 done: 233 ms
[INFO] Sensor org.sonar.plugins.csharp.gallio.GallioSensor@1b4bc2a...
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Can not execute Sonar
Embedded error: Gallio execution failed.
No test assembly was found. Please check your project's Gallio plugin configuration.
[INFO] ------------------------------------------------------------------------
[INFO] Trace
org.apache.maven.lifecycle.LifecycleExecutionException: Can not execute Sonar
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:719)
at ...
Ecco il POM, se mai necessario:
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>totoGroup</groupId>
<artifactId>toto</artifactId>
<name>TOTO</name>
<version>0.0.1-SNAPSHOT</version>
<packaging>netpack</packaging>
<profiles>
<profile>
<id>sonar-dotnet</id>
<activation>
<!-- Optional activation by default -->
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<!-- Location of the the .Net installations (pick the one you need) -->
<dotnet.4.0.sdk.directory>C:/Windows/Microsoft.NET/Framework/v4.0.30319</dotnet.4.0.sdk.directory>
<fxcop.directory>C:/Program Files (x86)/Microsoft Fxcop 10.0</fxcop.directory>
<partcover.directory>C:\Program Files (x86)\PartCover\PartCover .NET 4.0</partcover.directory>
<sourcemonitor.directory>C:/Program Files (x86)/SourceMonitor</sourcemonitor.directory>
<stylecop.directory>C:\Program Files (x86)\StyleCop 4.6</stylecop.directory>
<sonar.host.url>http://10.101.99.198:20000</sonar.host.url>
</properties>
</profile>
</profiles>
<properties>
<sonar.dotnet.visualstudio.solution.file>toto.sln</sonar.dotnet.visualstudio.solution.file>
<sonar.dotnet.version>4.0</sonar.dotnet.version>
<sonar.language>cs</sonar.language>
<sonar.sourceEncoding>UTF-8</sonar.sourceEncoding>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.sonar-plugins.dotnet</groupId>
<artifactId>maven-dotnet-plugin</artifactId>
<version>1.1</version>
<extensions>true</extensions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>sonar-maven-plugin</artifactId>
<configuration>
<language>cs</language>
</configuration>
</plugin>
</plugins>
</build>
</project>
Soluzione
fonte (grazie per Fabrice Bellingard sul sunar_user mailing list), le sue stesse parole:
OK, si sta costruendo il progetto con la build "Release" la configurazione, così come si può vedere nella log Jenkins, l'compilato assemblee finiscono nella cartella "bin / release". Tuttavia, si corre il Analisi Sonar con i parametri di default, e quindi l'aspetto C # Plugin nella cartella "bin / Debug" per trovare le assemblee.
In modo da avere 2 soluzioni: • o si compila il progetto con la configurazione di generazione "Debug" • oppure specificare la seguente proprietà per l'analisi del sonar: "sonar.dotnet.buildConfigurations = uscita" (Vedi doc per la proprietà sul Wiki)