gpt4 book ai didi

sonarqube - 为什么我添加的“新问题”没有转移到 Sonar ? (自定义 Sonar 插件)

转载 作者:行者123 更新时间:2023-12-02 13:39:19 25 4
gpt4 key购买 nike

嘿嘿

我的声纳kotlin插件已启动并正在运行。我的RuleDefinitions放置在“规则”页面上,但是在分析某些Kotlin项目时,不会保存发现的问题。

我的传感器问题添加代码如下所示:

private fun projectIssues(detektion: Detektion, context: SensorContext) {
val fileSystem = context.fileSystem()
val baseDir = fileSystem.baseDir()
val predicates = fileSystem.predicates()
detektion.findings.forEach { _, findings ->
findings.forEach { issue ->
val inputFile = fileSystem.inputFile(predicates.`is`(baseDir.resolve(issue.location.file)))
if (inputFile != null) {
val newIssue = context.newIssue()
.forRule(findKey(issue.id))
.gap(2.0) // TODO what to write here?
.primaryLocation(issue, inputFile)
println(newIssue)
newIssue.save()
} else {
println("No file found for ${issue.location.file}")
}
}
}
}

private fun NewIssue.primaryLocation(issue: Finding, inputFile: InputFile): NewIssue {
val (line, _) = issue.startPosition
val newIssueLocation = newLocation()
.on(inputFile)
.at(inputFile.selectLine(line))
.message("TODO needs PR!")
return this.at(newIssueLocation)
}

甚至 println(newIssue)也表明它已创建。

我使用 sonar-plugin-api version 5.6org.sonar-gradle-plugin in version 2.5,声纳分布在 5.6.6版本中,并且我使用 embedded database

我的整个代码在此PR https://github.com/arturbosch/detekt/pull/81中。

谢谢您的帮助。

最佳答案

我已经通过激活RulesProfile中的规则解决了我的问题:

override fun createProfile(validation: ValidationMessages): RulesProfile {
val profile = RulesProfile.create(DETEKT_WAY, KOTLIN_KEY)
RULE_KEYS.forEach {
profile.activateRule(Rule.create(it.repository(), it.rule()), null)
}
return profile
}

关于sonarqube - 为什么我添加的“新问题”没有转移到 Sonar ? (自定义 Sonar 插件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44545542/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com