问题标签 [codenarc]

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 回答
2639 浏览

intellij-idea - 在 intellij 中实时运行 codenarc 检查

有没有办法在 intellij 中实时运行检查,而不仅仅是选择Analyze > Inspect Code. 特别是,我想做实时代码分析(类似于 Eclipse 对 checkstyle 所做的),所以当我保存文件时,它会告诉我是否存在违规行为。我下载了 codenarc 插件,但它似乎没有明确支持。

0 投票
1 回答
1616 浏览

groovy - 如何从 codenarc 中排除包?

我是 Gradle 和 Codenarc 的新手,但我没有找到显示如何从 codenarc 报告中排除包的示例。

例如,我有一个 groovy 应用程序,它使用包 myapp.main 和 myapp.legacy

我希望我的所有规则集都应用于 myapp.main,但没有应用于 myapp.legacy。我怎样才能做到这一点?

0 投票
1 回答
139 浏览

grails - Grails 中条件嵌套规则的深度

我正在对我的 Grails 应用程序进行一些静态代码分析 (SCA)。

我必须检查“条件嵌套的深度”,但我找不到任何 Grails 插件可以做到这一点。

在 CheckStyle(用于 Java 项目(代码))中有 NestedForDepth、NestedIfDepth 和 NestedTryDepth。但我无法在任何 Grails SCA 插件中找到这些。

我怎样才能做到这一点?

0 投票
0 回答
82 浏览

groovy - 常量的 CodeNarc 规则违规

我有一个常量DATE_PATTERN_FOR_DIRECTORIES我必须排除 CodeNarc 规则才能通过名称检查或如何命名它。当我声明 const 时,它必须使用大写字母。

0 投票
1 回答
392 浏览

grails - 如何在 grails codenarc 插件中包含自定义规则

我有一套自定义的codenarc规则,它们使用继承和抽象类来共享一些代码。问题是如何在不修改 codenarc 和自己构建 codenarc.jar 或如何在codenarc 插件中将类注入 codenarc 的情况下使用此规则。

据我所知,这是不可能使用的rule("file:path/to/MyCustomRule.groovy"),因为 MyCustomRule 继承自 AbstractCustomRule ,默认情况下未加载,也无法rule()在规则集配置中加载。也许我在这里遗漏了一些东西?

有相关问题GPCODENARC-32但两年没有更新。

0 投票
1 回答
445 浏览

grails - Grails codenarc脚本未安装

我正在使用 Grails2.3.8 和 codenarc 0.21,使用它执行它

要安装 codenarc 插件,我在 BuildConfig.groovy、grails.project.dependency.resolution、section plugins 中有以下内容:

我还将 mavenCentral() 移到了存储库部分中的 grailsCentral() 之前(在某处看到了关于此的建议)。

在一台机器上,我玩弄了一下,它正在工作。在我们的集成机器上的第一次构建中,我看到它在第一次运行时安装了 codenarc,然后显示一行: codenarc uninstalled

现在每次运行时都会出现错误:找不到脚本:Codenarc

我试过添加

构建,但没有运气。

我希望我可以在构建机器上闲逛并让它以某种方式工作,但这在未来是不可重复的。

我该怎么做才能使 codenarc 插件可靠安装?

0 投票
1 回答
426 浏览

gradle - 如何为多项目 Gradle 构建创建单个 CodeNarc 报告

我有一个 Gradle 多项目构建,其中每个子项目都创建自己的 CodeNarc 报告。

是否可以为我的构建中的所有项目创建单个 CodeNarc 分析报告,而不是为每个项目创建单独的报告?

0 投票
1 回答
4488 浏览

plugins - 在 Gradle 中配置 CodeNarc

我正在尝试使用Gradle内部的CodeNarc来解决问题。

根据 CodeNarc 文档,我的项目需要config/codenarc/codenarc.xml定义一个配置文件。但后来我看到很多似乎使用 Groovy DSL的示例配置文件(例如这个 StarterRuleSet )。

所以我问:

  1. 是否可以使用 Groovy DSL,如果可以,文件的名称必须是什么,它必须位于我的项目中的什么位置,以及如何将它连接到我的 Gradle 构建?和
  2. Groovy DSL 的文档在哪里?和
  3. 默认情况下,CodeNarc 会输出一个名为main.html;的报告。我怎么能把这个文件的名字改成,比如说,codenarc.html
0 投票
1 回答
886 浏览

maven - 如何使 CodeNarc 强制 maven 构建失败

我正在尝试将 CodeNarc 集成到基于 maven 的项目中,但我一直遇到问题。我想使用自定义规则集,当违反规则时,我希望我的 Maven 构建失败。

如何配置 codenarc 以便在运行以下命令时违反规则导致失败?

此外,在 POM 中配置 CodeNarc 的文档没有解释如何引用我的自定义规则集的位置。关于如何设置的任何建议?谢谢!

当我使用以下配置运行 mvn clean install 时(根据我的规则集,我有一个公然违规的 groovy 文件)

我的构建成功了。:(

我尝试引用我自己的规则集,但没有产生任何违规行为。我拿走了 POM 中的 rulesetfiles 属性,它开始产生违规​​行为。(但我不能自己选择)

任何人都知道如何让它真正读取自定义规则集文件?我尝试了 xml 和 groovy。

这是我的 POM 中的规则集和插件配置:

我在我的 POM 中引用了这个规则集,如下所示:

0 投票
1 回答
308 浏览

maven - 一些 CodeNarc 规则抛出 ClassNotFoundException

所以我在 Maven 中使用 CodeNarc 作为 ant 任务。

对于我的自定义规则集,我可以使用 IllegalRegexRule。但是,当我尝试添加其他内容时,有时会收到 ClassNotFoundException。

例如,一旦我将它添加到我的 ruleset.xml

我懂了

无法在项目 myProject 上执行目标 org.apache.maven.plugins:maven-antrun-plugin:1.7:run (codenarc):发生 Ant BuildException:java.lang.ClassNotFoundException:org.codenarc.rule.formatting.MissingBlankLineAfterPackage

知道为什么会发生这种情况吗?我正在使用 0.18 版的 codenarc,这是 CodeNarc 的 ant 依赖项:

编辑:这个问题仍然发生在版本 0.21