如何将 PMD 更新到新版本?
How can I update PMD to newer version?
我有一个Android库和一个Android应用程序项目,有什么用the library PMD。
我们使用的是旧版本,我被要求将这个 PMD 库更新到更新的版本 6.X.X
在项目中,我找到了一个 rules-pmd.xml
文件:
<?xml version="1.0"?> <ruleset
name="My rules"
xmlns="http://pmd.sourceforge.net/ruleset/2.0.0"
xsi:schemaLocation="http://pmd.sourceforge.net/ruleset/2.0.0
http://pmd.sourceforge.net/ruleset_5_3_1.xsd">
将此 xml 更改为
http://pmd.sourceforge.net/ruleset_6_12_0.xsd
没有帮助。然后在模块 build.gradle:
apply from: "$path/script-pmd.gradle"
找不到 PMD 的任何其他版本..
在哪里可以更改使用的PMD版本?
至于给定的问题,你必须问图书馆的作者。您也可以查看给定的 library web link 以获取更多相关信息。
Update :在给定的代码中,您将看到有关制定规则集的信息,如 here 所述,因此您必须检查其他地方。
例如, 我刚刚检查并在此处说明您会找到所需的信息:follow the link
The new version needs to be entered into _config.yml, e.g.:
pmd:
latestVersion: 6.0.0
latestVersionDate: 15th December 2017
您可以在首页https://pmd.github.io查看最新版本。目前PMD 6.12.0为最新版本
在您的规则集 pmd-rules.xml
中,您正在引用架构 XSD。但是这里你需要引用 https://pmd.sourceforge.io/ruleset_2_0_0.xsd since you are using the ruleset schema version 2 (btw. http://pmd.sourceforge.net/ruleset_5_3_1.xsd 根本不存在)。但是,这并不重要,因为当 PMD 加载规则集时,不会根据模式验证规则集。
更相关的似乎是文件 script-pmd.gradle
。你有这个文件吗?
我想,那里有 gradle pmd plugin is configured. This plugin has a property which controls the version of PMD: toolVersion
例如,您的配置可以调整为如下所示:
pmd {
ignoreFailures = false
sourceSets = [sourceSets.main]
reportsDir = file("$project.buildDir/reports/pmd")
ruleSets = [],
ruleSetFiles = files("pmd-rules.xml")
toolVersion = "6.12.0"
}
我有一个Android库和一个Android应用程序项目,有什么用the library PMD。
我们使用的是旧版本,我被要求将这个 PMD 库更新到更新的版本 6.X.X
在项目中,我找到了一个 rules-pmd.xml
文件:
<?xml version="1.0"?> <ruleset
name="My rules"
xmlns="http://pmd.sourceforge.net/ruleset/2.0.0"
xsi:schemaLocation="http://pmd.sourceforge.net/ruleset/2.0.0
http://pmd.sourceforge.net/ruleset_5_3_1.xsd">
将此 xml 更改为
http://pmd.sourceforge.net/ruleset_6_12_0.xsd
没有帮助。然后在模块 build.gradle:
apply from: "$path/script-pmd.gradle"
找不到 PMD 的任何其他版本..
在哪里可以更改使用的PMD版本?
至于给定的问题,你必须问图书馆的作者。您也可以查看给定的 library web link 以获取更多相关信息。
Update :在给定的代码中,您将看到有关制定规则集的信息,如 here 所述,因此您必须检查其他地方。
例如, 我刚刚检查并在此处说明您会找到所需的信息:follow the link
The new version needs to be entered into _config.yml, e.g.:
pmd:
latestVersion: 6.0.0
latestVersionDate: 15th December 2017
您可以在首页https://pmd.github.io查看最新版本。目前PMD 6.12.0为最新版本
在您的规则集 pmd-rules.xml
中,您正在引用架构 XSD。但是这里你需要引用 https://pmd.sourceforge.io/ruleset_2_0_0.xsd since you are using the ruleset schema version 2 (btw. http://pmd.sourceforge.net/ruleset_5_3_1.xsd 根本不存在)。但是,这并不重要,因为当 PMD 加载规则集时,不会根据模式验证规则集。
更相关的似乎是文件 script-pmd.gradle
。你有这个文件吗?
我想,那里有 gradle pmd plugin is configured. This plugin has a property which controls the version of PMD: toolVersion
例如,您的配置可以调整为如下所示:
pmd {
ignoreFailures = false
sourceSets = [sourceSets.main]
reportsDir = file("$project.buildDir/reports/pmd")
ruleSets = [],
ruleSetFiles = files("pmd-rules.xml")
toolVersion = "6.12.0"
}