问题标签 [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.

0 投票
1 回答
156 浏览

android - 如何为自定义 detekt gradle 任务启用类型解析?

我有一个自定义 gradle 任务,detekt只能在作为参数传递的文件上运行。

但是使用类型解析的自定义检测规则不适用于此 gradle 任务。

我已经读过正确的传递classpath并且jvmTarget应该工作。我在上面的 gradle 任务中遗漏了什么吗?

0 投票
1 回答
100 浏览

kotlin - Detekt 返回类型注释始终为空

我正在尝试编写检查以防止返回带有特定注释的类型。

如,

到目前为止我的规则如下

我可以验证这returnType是正确的,但annotations类型始终为空。是否有另一种获取注释的方法,或者我在这里犯了一些新手错误?:)

我的测试如下,

0 投票
1 回答
158 浏览

android - .git/hooks/pre-commit:第 33 行:detekt:找不到命令

我正在尝试在我的 android 项目上使用 detekt,但是当我尝试使用 sourcetree 提交时出现此错误。

检查先决条件收集修改的文件运行 detekt .git/hooks/pre-commit:第 33 行:detekt:找不到命令

在 sourcetree 上打印错误

0 投票
0 回答
231 浏览

android - Android 和 Kotlin DeteKt:自定义规则未运行

试图在 Detekt 自定义规则上创建一些游乐场,但它不起作用。甚至不尝试查找规则集文件。

毕业生去

规则去

提供者是

最后但并非最不重要

依然没有。我试图在提供商处添加胡言乱语 - 没有,没有错误。我什至试图破坏 META-INF 的声明。没有什么。

当然,我尝试将提供程序添加到我的配置文件中,或者在 gradle 中添加一个项目行。错误,无法识别。

我错过了什么?

谢谢

0 投票
0 回答
86 浏览

android - 设置 Detekt 自定义规则时出错

我在一个多模块项目中设置了 Detekt。下面是我的根级别build.gradle

现在我正在考虑设置我遵循的自定义规则

这就是我build.gradlecustomdetekt模块的样子

现在,当我使用以下方法在主模块中连接自定义规则模块时:

我收到一个错误:

请帮忙

0 投票
0 回答
26 浏览

kotlin - 使用 Detekt 的 Kotlin Var 到 Val?

是否可以使用某种 linter 或插件在保存时自动将 IntelliJ IDE 更改为 val?

到 val iAmNeverReassigned = "hi"

0 投票
0 回答
44 浏览

kotlin - IntelliJ 重新格式化代码不会更正所有行长

我将 IntelliJ 编辑器配置为重新格式化超过 120 的行。它对某些行没有问题。例如

val myVar = function(param1, param2, ......... paramN)

无问题地自动转换到以下内容(运行重新格式化)

但是,长字符串似乎有问题。应该相当于改变

为什么编辑不帮我做这个?这是一个 Kotlin 项目。

0 投票
1 回答
52 浏览

kotlin - 检测。同一规则的不同阈值

我正在使用 Detekt,我需要配置 LargeClass 规则。我想为生产和测试类设置不同的阈值。可以这样配置吗?

0 投票
0 回答
94 浏览

kotlin - 覆盖 SonarQube 中的检测

我想为 Kotlin 覆盖 SonarQube 中的规则。

我要覆盖的 1 个特定规则是maxLineLength:从 120 到 250。

由于权限,我无法在 Sonar 中执行此操作。有人告诉我,我可以用我的覆盖将文件放在根目录中。

我在根目录中放置了一个名为detek.yml的文件,并进行了更改。我使用这个文件https://github.com/detekt/detekt/blob/main/detekt-core/src/main/resources/default-detekt-config.yml作为我的起点。

我保留该文件中的所有默认值,除了 120 到 250 的更改。

任何指向分步说明或操作方法的链接都会有所帮助。

其他问题是:我需要保留覆盖 yml 文件中的所有规则还是只保留我想要覆盖的规则?

谢谢

0 投票
0 回答
142 浏览

java-8 - 从 jdk1.8 更新到 jdk 11 时 jdk nashron 的编译错误

更新了更多细节:我的目标是设置以下代码的来源。source(sourceSets.map { it.javaDirectories }.flatten()) 上面的代码在 jdk 1.8 上运行良好,但是当我更改为 jdk 11 时,Task :quality-tools:compileKotlin FAILED The kotlin-dslplugin applied to project ':quality-tools' 启用实验性 Kotlin 编译器功能。我在 Kotlin 文件中的导入:

控制台错误:符号在模块“jdk.scripting.nashorn”中声明,它不导出包“jdk.nashorn.internal.objects”

我在同一个 Kotlin 文件中的代码:

控制台错误:符号在模块“jdk.scripting.nashorn”中声明,它不导出包“jdk.nashorn.internal.objects”构建扫描供您参考:

https://gradle.com/s/neicp3tzhs3yo



#去做

  • 如果在模块'jdk.scripting.nashorn'中声明了符号,那么我如何在 jdk 11 中导出包 jdk.nashorn.internal.objects' 或如上所述设置源的任何替代方法?</li>

当我进一步调查时,我发现了这个链接。https://docs.oracle.com/javase/9​​/docs/api/jdk.scripting.nashorn-summary.html

谢谢吉滕德拉