2013-04-29 59 views
0

嗨,我有一個RPG的自定義聲納插件,我正在嘗試運行一個聲納項目。 這裏是我的插件類:分析聲納項目時出錯

@Properties({ 
@Property(key = "rpg", defaultValue = "rpg", name = "File suffixes", 
    description = "Comma-separated list of suffixes for files to analyze. To not filter, leave the list empty.") 
}) 

public class RPGPlugin extends SonarPlugin { 
... 

在項目中,我要運行的分析,我有以下sonarproject.properties文件:

#These are the required metadata for any sonar project 
sonar.projectName= prj1 
sonar.projectKey = prj1 
sonar.projectVersion = 0.1 
# The value of the property must be the key of the language. 
sonar.language=rpg 
#Path to source directory 
sources = src 

這種方法工作正常,直到聲納3.2,但此後未能。現在通過聲納亞軍完成的分析顯示以下錯誤:

Exception in thread "main" org.sonar.batch.bootstrapper.BootstrapException: org.sonar.api.utils.SonarException: 
You must install a plugin that supports the language 'rpg' 

此錯誤在3.2以上的所有版本上都是一致的。 不過,如果我更改屬性文件java語言的值,項目分析和以前

sonar.language=java 

雖然這是工作中,特性文件​​有錯誤的程序價值,甚至運行後作業操作這種語言名字是明確指出:

public boolean shouldExecuteOnProject(Project project) { 
    return "rpg".equalsIgnoreCase(project.getLanguageKey()); 

有,我需要爲了讓我的項目執行RPG項目爲我的RPG插件做任何其他的事情嗎?

回答

1

問題來自RPG語言沒有定義的規則庫(甚至是空的),所以Sonar認爲這種語言不被支持。

更一般地說,在添加對新語言的支持時,最好的選擇是查看我們爲Sonar開發的一些開源語言插件。例如,你可以去看看the Javascript plugin