2015-02-03 3 views
0

Я использую SonarQube 5.0 в Windows 7 с плагином C# 3.3, анализатор Bootstrapper для Visual Studio Projects 1.2 и плагин Stylecop 1.1, установленный для анализа моего решения C#.SonarQube игнорирует правила отключенного стиля

Я отключил несколько правил стиля стиля внутри SonarQube (в основном, связанных с заголовками файлов и уведомлениями об авторских правах), но даже после перезапуска сервера SonarQube и выполнения нового анализа возникают проблемы для отключенных правил.

У меня есть только один профиль качества, и правила для него отключены.

sonar.properties

# This file must contain only ISO 8859-1 characters. 
# See http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Properties.html#load(java.io.InputStream) 
# 
# Property values can: 
# - reference an environment variable, for example sonar.jdbc.url= ${env:SONAR_JDBC_URL} 
# - be encrypted. See http://redirect.sonarsource.com/doc/settings-encryption.html 


#-------------------------------------------------------------------------------------------------- 
# DATABASE 
# 
# IMPORTANT: the embedded H2 database is used by default. It is recommended for tests but not for 
# production use. Supported databases are MySQL, Oracle, PostgreSQL and Microsoft SQLServer. 

# User credentials. 
# Permissions to create tables, indices and triggers must be granted to JDBC user. 
# The schema must be created first. 
sonar.jdbc.username=[REDACTED] 
sonar.jdbc.password=[REDACTED] 

#----- Embedded Database (default) 
# It does not accept connections from remote hosts, so the 
# server and the analyzers must be executed on the same host. 
#sonar.jdbc.url=jdbc:h2:tcp://localhost:9092/sonar 

# H2 embedded database server listening port, defaults to 9092 
#sonar.embeddedDatabase.port=9092 


#----- MySQL 5.x 
sonar.jdbc.url=jdbc:mysql://[REDACTED]/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance 


#----- Oracle 10g/11g 
# - Only thin client is supported 
# - Only versions 11.2.* of Oracle JDBC driver are supported, even if connecting to lower Oracle versions. 
# - The JDBC driver must be copied into the directory extensions/jdbc-driver/oracle/ 
# - If you need to set the schema, please refer to http://jira.codehaus.org/browse/SONAR-5000 
#sonar.jdbc.url=jdbc:oracle:thin:@localhost/XE 


#----- PostgreSQL 8.x/9.x 
# If you don't use the schema named "public", please refer to http://jira.codehaus.org/browse/SONAR-5000 
#sonar.jdbc.url=jdbc:postgresql://localhost/sonar 


#----- Microsoft SQLServer 2005/2008 
# Only the distributed jTDS driver is supported. 
#sonar.jdbc.url=jdbc:jtds:sqlserver://localhost/sonar;SelectMethod=Cursor 


#----- Connection pool settings 
# The maximum number of active connections that can be allocated 
# at the same time, or negative for no limit. 
#sonar.jdbc.maxActive=50 

# The maximum number of connections that can remain idle in the 
# pool, without extra ones being released, or negative for no limit. 
#sonar.jdbc.maxIdle=5 

# The minimum number of connections that can remain idle in the pool, 
# without extra ones being created, or zero to create none. 
#sonar.jdbc.minIdle=2 

# The maximum number of milliseconds that the pool will wait (when there 
# are no available connections) for a connection to be returned before 
# throwing an exception, or <= 0 to wait indefinitely. 
#sonar.jdbc.maxWait=5000 

#sonar.jdbc.minEvictableIdleTimeMillis=600000 
#sonar.jdbc.timeBetweenEvictionRunsMillis=30000 



#-------------------------------------------------------------------------------------------------- 
# WEB SERVER 

# Web server is executed in a dedicated Java process. By default heap size is 768Mb. 
# Use the following property to customize JVM options. 
# Recommendations: 
# 
# The HotSpot Server VM is recommended. The property -server should be added if server mode 
# is not enabled by default on your environment: http://docs.oracle.com/javase/7/docs/technotes/guides/vm/server-class.html 
# 
# Set min and max memory (respectively -Xms and -Xmx) to the same value to prevent heap 
# from resizing at runtime. 
# 
#sonar.web.javaOpts=-Xmx768m -XX:MaxPermSize=160m -XX:+HeapDumpOnOutOfMemoryError 

# Same as previous property, but allows to not repeat all other settings like -Xmx 
#sonar.web.javaAdditionalOpts= 

# Binding IP address. For servers with more than one IP address, this property specifies which 
# address will be used for listening on the specified ports. 
# By default, ports will be used on all IP addresses associated with the server. 
# sonar.web.host=[REDACTED] 


# Web context. When set, it must start with forward slash (for example /sonarqube). 
# The default value is root context (empty value). 
#sonar.web.context= 

# TCP port for incoming HTTP connections. Disabled when value is -1. 
# sonar.web.port=9000 

# TCP port for incoming HTTPS connections. Disabled when value is -1 (default). 
#sonar.web.https.port=9000 

# HTTPS - the alias used to for the server certificate in the keystore. 
# If not specified the first key read in the keystore is used. 
#sonar.web.https.keyAlias= 

# HTTPS - the password used to access the server certificate from the 
# specified keystore file. The default value is "changeit". 
#sonar.web.https.keyPass=changeit 

# HTTPS - the pathname of the keystore file where is stored the server certificate. 
# By default, the pathname is the file ".keystore" in the user home. 
# If keystoreType doesn't need a file use empty value. 
#sonar.web.https.keystoreFile= 

# HTTPS - the password used to access the specified keystore file. The default 
# value is the value of sonar.web.https.keyPass. 
#sonar.web.https.keystorePass= 

# HTTPS - the type of keystore file to be used for the server certificate. 
# The default value is JKS (Java KeyStore). 
#sonar.web.https.keystoreType=JKS 

# HTTPS - the name of the keystore provider to be used for the server certificate. 
# If not specified, the list of registered providers is traversed in preference order 
# and the first provider that supports the keystore type is used (see sonar.web.https.keystoreType). 
#sonar.web.https.keystoreProvider= 

# HTTPS - the pathname of the truststore file which contains trusted certificate authorities. 
# By default, this would be the cacerts file in your JRE. 
# If truststoreFile doesn't need a file use empty value. 
#sonar.web.https.truststoreFile= 

# HTTPS - the password used to access the specified truststore file. 
#sonar.web.https.truststorePass= 

# HTTPS - the type of truststore file to be used. 
# The default value is JKS (Java KeyStore). 
#sonar.web.https.truststoreType=JKS 

# HTTPS - the name of the truststore provider to be used for the server certificate. 
# If not specified, the list of registered providers is traversed in preference order 
# and the first provider that supports the truststore type is used (see sonar.web.https.truststoreType). 
#sonar.web.https.truststoreProvider= 

# HTTPS - whether to enable client certificate authentication. 
# The default is false (client certificates disabled). 
# Other possible values are 'want' (certificates will be requested, but not required), 
# and 'true' (certificates are required). 
#sonar.web.https.clientAuth=false 

# The maximum number of connections that the server will accept and process at any given time. 
# When this number has been reached, the server will not accept any more connections until 
# the number of connections falls below this value. The operating system may still accept connections 
# based on the sonar.web.connections.acceptCount property. The default value is 50 for each 
# enabled connector. 
#sonar.web.http.maxThreads=50 
#sonar.web.https.maxThreads=50 

# The minimum number of threads always kept running. The default value is 5 for each 
# enabled connector. 
#sonar.web.http.minThreads=5 
#sonar.web.https.minThreads=5 

# The maximum queue length for incoming connection requests when all possible request processing 
# threads are in use. Any requests received when the queue is full will be refused. 
# The default value is 25 for each enabled connector. 
#sonar.web.http.acceptCount=25 
#sonar.web.https.acceptCount=25 

# Access logs are generated in the file logs/access.log. This file is rolled over when it's 5Mb. 
# An archive of 3 files is kept in the same directory. 
# Access logs are enabled by default. 
#sonar.web.accessLogs.enable=true 

# TCP port for incoming AJP connections. Disabled if value is -1. Disabled by default. 
#sonar.ajp.port=-1 


#-------------------------------------------------------------------------------------------------- 
# ELASTICSEARCH 
# Elasticsearch is used to facilitate fast and accurate information retrieval. 
# It is executed in a dedicated Java process. 

# JVM options of Elasticsearch process 
# Recommendations: 
# 
# Use HotSpot Server VM. The property -server should be added if server mode 
# is not enabled by default on your environment: http://docs.oracle.com/javase/7/docs/technotes/guides/vm/server-class.html 
# 
# Set min and max memory (respectively -Xms and -Xmx) to the same value to prevent heap 
# from resizing at runtime. 
# 
#sonar.search.javaOpts=-Xmx1G -Xms256m -Xss256k -Djava.net.preferIPv4Stack=true \ 
# -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 \ 
# -XX:+UseCMSInitiatingOccupancyOnly -XX:+HeapDumpOnOutOfMemoryError 

# Same as previous property, but allows to not repeat all other settings like -Xmx 
#sonar.search.javaAdditionalOpts= 

# Elasticsearch port. Default is 9001. Use 0 to get a free port. 
# This port must be private and must not be exposed to the Internet. 
#sonar.search.port=9001 


#-------------------------------------------------------------------------------------------------- 
# UPDATE CENTER 

# Update Center requires an internet connection to request http://update.sonarsource.org 
# It is enabled by default. 
#sonar.updatecenter.activate=true 

# HTTP proxy (default none) 
#http.proxyHost= 
#http.proxyPort= 

# NT domain name if NTLM proxy is used 
#http.auth.ntlm.domain= 

# SOCKS proxy (default none) 
#socksProxyHost= 
#socksProxyPort= 

# proxy authentication. The 2 following properties are used for HTTP and SOCKS proxies. 
#http.proxyUser= 
#http.proxyPassword= 


#-------------------------------------------------------------------------------------------------- 
# LOGGING 

# Level of information displayed in the logs: NONE (default), BASIC (functional information) 
# and FULL (functional and technical details) 
#sonar.log.profilingLevel=NONE 

# Path to log files. Can be absolute or relative to installation directory. 
# Default is <installation home>/logs 
#sonar.path.logs=logs 


#-------------------------------------------------------------------------------------------------- 
# OTHERS 

# Delay in seconds between processing of notification queue. Default is 60 seconds. 
#sonar.notifications.delay=60 

# Paths to persistent data files (embedded database and search index) and temporary files. 
# Can be absolute or relative to installation directory. 
# Defaults are respectively <installation home>/data and <installation home>/temp 
#sonar.path.data=data 
#sonar.path.temp=temp 


#-------------------------------------------------------------------------------------------------- 
# DEVELOPMENT - only for developers 
# The following properties MUST NOT be used in production environments. 

# Dev mode allows to reload web sources on changes and to restart server when new versions 
# of plugins are deployed. 
#sonar.web.dev=false 

# Path to webapp sources for hot-reloading of Ruby on Rails, JS and CSS (only core, 
# plugins not supported). 
#sonar.web.dev.sources=/path/to/server/sonar-web/src/main/webapp 

# Uncomment to enable the Elasticsearch HTTP connector, so that ES can be directly requested through 
# http://lmenezes.com/elasticsearch-kopf/?location=http://localhost:9010 
#sonar.search.httpPort=9010 

sonar-project.properties

# Required metadata 
sonar.projectKey=[REDACTED]:latest 
sonar.projectName=[REDACTED] Latest 
sonar.projectVersion=1.0 

# Path to the parent source code directory. 
# Path is relative to the sonar-project.properties file. Replace "\" by "/" on Windows. 
# Since SonarQube 4.2, this property is optional if sonar.modules is set. 
# If not set, SonarQube starts looking for source code from the directory containing 
# the sonar-project.properties file. 
sonar.sources=[REDACTED]/ 

# Encoding of the source code 
sonar.sourceEncoding=UTF-8 

StyleCop-settings.StyleCop

Файл был слишком длинным, чтобы разместить сообщение, поэтому я включил его в pastebin здесь: http://pastebin.com/Jb718AyW

Это из одного из каталогов .sonar для сборки, для которой я подтвердил, что SonarQube ошибочно обнаруживает отключенные правила.

+0

Все ваши правила выглядят как 'Enabled = True' в файле, который вы опубликовали. – Bioukh

+0

Похоже, что SonarQube включает только включенные правила в файле stylecop и полностью исключает правила отключения. Насколько я могу сказать, ни один из правил стиля в файле, который я предоставил, не является тем, что я отключил. Кроме того, второй чистый запуск SonarQube правильно устранил эти ошибки, что привело меня к тому, что SonarQube каким-то образом кэширует проблемы. Однако, поскольку я больше не могу это доказать (поскольку проблемы исчезли), я голосовал, чтобы закрыть этот вопрос. –

ответ

1

Я слышал об ошибке кэширования проблемы в SonarQube 5.0, где фактический анализ был хорош (так что сгенерированные файлы все используют современные данные), но старые проблемы все еще отображались в Интерфейс SonarQube.

Эти проблемы «призрака» не будут перемещаться вместе с новыми изменениями, внесенными в файл.

Эта проблема должна быть исправлена ​​в 5.1, пожалуйста, обновите свой сервер SonarQube.

+0

Завершите обновление, остановите свой сервер, удалите каталог «данные/es» и перезапустите. Ошибка находится в кэше Elastic Search. –

Смежные вопросы