如何向 CFLint 规则添加参数
How to add parameters to CFLint rule
我想使用 CFLint 1.2.3 为内置 CFLint 规则设置特定参数。不幸的是,目前没有明确的描述如何做到这一点。
所以我尝试在配置中以不同的方式设置它们,看看 project test files and the provided JSON schema:
如one of the test files中所定义:
{
"rule" : [
{
"name": "VariableNameChecker",
"className": "VariableNameChecker",
"message": [
{
"code": "VAR_TOO_SHORT",
"severity": "INFO",
"messageText": "Variable ${variable} SHORTER THAN ${MinLength}!"
}
],
"parameter": [
{
"name": "MinLength",
"value": "5"
}
]
}
],
"inheritParent" : true
}
在规则对象内:
{
"rule": [ ],
"excludes": [ ],
"includes": [
{
"code": "VAR_TOO_SHORT",
{
"parameter": {
"MinLength": "5"
}
}
}
],
"inheritParent": false
}
作为单独的全局 属性:
{
"rule": [ ],
"excludes": [ ],
"includes": [
{
"code": "VAR_TOO_SHORT",
}
],
"parameter": {
"MinLength": "5"
}
"inheritParent": false
}
我也尝试了不同的命名约定作为参数名称,如 VariableNameChecker.MinLength
,并且还写了 parameters
而不是 parameter
,尽管没有运气。
指定参数的正确语法是什么?
在 CFLint 1.3.0 之前覆盖插件参数的唯一方法是
(1) 将 cflint.definition.json 文件替换成你自己的
(2) 在Form ClassName DOT 参数中设置一个系统属性。例如:
java-DVariableNameChecker.MinLength=5 cflint-1.2.3-all.jar-文件
在 CFLint 1.3.0 中,以下内容将起作用:
{
"parameters" : {
"VariableNameChecker.MinLength": "5"
}
}
我想使用 CFLint 1.2.3 为内置 CFLint 规则设置特定参数。不幸的是,目前没有明确的描述如何做到这一点。
所以我尝试在配置中以不同的方式设置它们,看看 project test files and the provided JSON schema:
如one of the test files中所定义:
{
"rule" : [
{
"name": "VariableNameChecker",
"className": "VariableNameChecker",
"message": [
{
"code": "VAR_TOO_SHORT",
"severity": "INFO",
"messageText": "Variable ${variable} SHORTER THAN ${MinLength}!"
}
],
"parameter": [
{
"name": "MinLength",
"value": "5"
}
]
}
],
"inheritParent" : true
}
在规则对象内:
{
"rule": [ ],
"excludes": [ ],
"includes": [
{
"code": "VAR_TOO_SHORT",
{
"parameter": {
"MinLength": "5"
}
}
}
],
"inheritParent": false
}
作为单独的全局 属性:
{
"rule": [ ],
"excludes": [ ],
"includes": [
{
"code": "VAR_TOO_SHORT",
}
],
"parameter": {
"MinLength": "5"
}
"inheritParent": false
}
我也尝试了不同的命名约定作为参数名称,如 VariableNameChecker.MinLength
,并且还写了 parameters
而不是 parameter
,尽管没有运气。
指定参数的正确语法是什么?
在 CFLint 1.3.0 之前覆盖插件参数的唯一方法是
(1) 将 cflint.definition.json 文件替换成你自己的
(2) 在Form ClassName DOT 参数中设置一个系统属性。例如:
java-DVariableNameChecker.MinLength=5 cflint-1.2.3-all.jar-文件
在 CFLint 1.3.0 中,以下内容将起作用:
{
"parameters" : {
"VariableNameChecker.MinLength": "5"
}
}