问题标签 [detekt]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 如何摆脱 Detekt 在使用 Spring Boot 时发出的 SpreadOperator 性能警告?
最近,我在我的应用程序中添加了Detekt分析仪。
运行 detekt (./gradlew detekt) 后,我的主应用程序类中出现了 SpreadOperator 警告。
代码警告:runApplication<MessCallsApplication>(*args)
您可以在此处阅读有关 SpreadOperator 警告的信息:[SpreadOperator Warning][2]
我的主要课程:
问题是,摆脱该 SpreadOperator 警告的最佳做法是什么?还是不可能?
gradle - 在 Gradle 中禁用自动检测运行
我已将Detekt添加到我的 Gradle 项目中。我的意图是detekt
仅按需调用,因为它会产生很多误报。但是,该detekt
任务默认处于活动状态(并且会中断构建)。我怎样才能避免这种依赖?
我尝试了什么:我添加了一个有条件gradle.taskGraph.beforeTask
设置的块enabled = false
:
我感觉这 7 行代码真的有点多,只是为了覆盖一个任务依赖。我将不胜感激一般的 Gradle 答案以及一些 Detekt 特定的方式。
maven - 如何使用 maven 插件生成和使用 detekt 基线?
我正在尝试在使用 Kotlin 和detekt-maven-plugin的多模块 Maven 项目中使用 detekt 。
按照此处找到的说明生成包含现有问题的基线,我尝试运行:
然而,这似乎不会产生提到的baseline.xml
文件。
gradle - SonarQube 在 detekt gradle 插件中是否有 gradle 设置以在远程主机上而不是在文件中生成报告
当我使用 sonarqube 插件时,我无法在远程主机上生成关于使用我的特定分支的报告,因为最新版本不支持它并且不推荐使用 branch.name
因此,当我使用 detekt 插件时,它会在本地文件中生成报告,而不是在远程主机上。如何提供 gradle 设置以在远程主机上生成 html 报告就像我们使用 sonarqube 插件时使用属性 sonar.host.url 生成一样
我的 build.gradle 看起来像
kotlin - 如何抑制 Detekt 的 WildcardImport 和 MatchingDeclarationName?
我需要抑制两个错误:WildcardImport 和 MatchingDeclarationName。问题是它需要应用于整个文件,有没有办法做到这一点?
kotlin - 从 Kotlin psi API 检索 Kotlin 属性类型
我正在尝试为detekt project创建新规则。为此,我必须知道 Kotlin 属性的确切类型。例如,val x: Int
有类型Int
。
不幸的是,对于类型的财产,private val a = 3
我收到以下信息:
property.typeReference
是null
property.typeParameters
是空的property.typeConstraints
是空的property.typeParameterList
是空的property.text
是private val a = 3
property.node.children().joinToString()
具有上一项的对象符号property.delegate
一片空白property.getType(bindingContext)
为 null(该属性bindingContext
是KtTreeVisitorVoid
used的一部分
问题:如何获取类型名称(或者,更好的是 object KClass
)以将实际属性类型与Boolean
类类型进行比较?(例如,我只需要获取属性布尔值是否为非)
代码:
kotlin - 如何附加任务以在gradle中插件的任务之后运行
我已经detekt
在 gradle-kotlin 中安装了插件
当我运行时,这会为我产生任务tasks
:
这会生成 checkstyle xml 文件。不幸的是,我被迫使用 teamcity,为了在 teamcity 中显示 detekt 的结果,它希望将所有 xml 文件汇总到一个 zip 文件中。
所以我的想法是,对于每个子项目,我想运行一个任务,将 detekt 输出复制到子项目名称下的 toArchive 文件夹中,然后在 detekt 对所有子项目运行之后,我想运行 zip 任务。
每个子项目都是他们自己的顶级文件夹,每个gradle 实践:
但我什至无法开始了解如何做到这一点。
我真的不在乎输出文件夹在哪里。我打算toArchive
在 gradle zip 任务文档中的顶层做文件夹。但我认为这并不重要。
我是 gradle 新手,我觉得它很混乱。
android - 需要阻止 Android 在失败的 gradle 任务上运行
我在 Android Studio 中有一个 android 项目,我想使用 detekt 作为静态代码分析器。我可以通过 gradle 任务运行 detekt,并且可以使用 Android 运行配置在运行应用程序之前将其排队,但如果任务返回错误代码,我似乎无法让它停止运行。
我在构建管道中从命令行运行了 detekt,但我希望开发人员也无法在他们的开发机器上运行。
android - Android Detekt 构建失败
我尝试使用 detekt 生成代码报告,并在终端中执行以下命令时
梯度检测
它显示构建失败并显示以下消息。
kotlin - 使用 Detekt 检查多个值的可空性的时尚安全方法
我正在使用 Danger Detekt(基于 ktlint 的静态代码质量测量系统)。我有一个从 8 个不同端点获取数据的函数。然后我需要检查这些值是否不为空,如果是,我返回使用这些值构建的复杂数据类型,但如果这些值中的任何一个为空,我必须返回空。假设它看起来像这样:
然后我可以用复杂的 if 语句检查它,但 Detekt 会抱怨复杂的条件。所以我把它改成这样:
但是 Detekt 现在抱怨返回语句太多,因为我必须将它添加到每次提取中。
对于此类问题,是否有任何方便的 Kotlin 功能?