如何将PMD更新到更新版本?

问题描述 投票:1回答:2

我有一个Android库和一个Android App项目,有什么用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版本?

android gradle build.gradle android-library pmd
2个回答
1
投票

至于给定的问题,你必须询问图书馆的作者。您还可以查看给定的library web link以获取更多相关信息。

更新:在给定的代码中你看到制作规则集,如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

_config


1
投票

你可以查看主页https://pmd.github.io哪个版本是最新的。目前PMD 6.12.0是最新版本。

在规则集pmd-rules.xml中,您正在引用架构XSD。但是在这里你需要引用https://pmd.sourceforge.io/ruleset_2_0_0.xsd,因为你正在使用规则集模式版本2(顺便说一下.http://pmd.sourceforge.net/ruleset_5_3_1.xsd根本不存在)。但是,这没关系,因为当PMD加载规则集时,规则集不会针对模式进行验证。

更相关似乎是文件script-pmd.gradle。你有这个档案吗?我想,那里配置了gradle pmd plugin。这个插件有一个控制PMD版本的属性:toolVersion

例如,您的配置可以调整为如下所示:

pmd {
  ignoreFailures = false
  sourceSets = [sourceSets.main]
  reportsDir = file("$project.buildDir/reports/pmd")
  ruleSets = [],
  ruleSetFiles = files("pmd-rules.xml")
  toolVersion = "6.12.0"
}
© www.soinside.com 2019 - 2024. All rights reserved.