Как я могу обновить PMD до более новой версии? - PullRequest
1 голос
/ 11 марта 2019

У меня есть библиотека Android и проект приложения Android, для чего используется библиотека PMD .

Мы используем более старую версию, и меня просят обновить эту библиотеку PMD до более новойверсия 6.XX

В проекте я нашел файл 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?

Ответы [ 2 ]

1 голос
/ 12 марта 2019

Вы можете проверить на главной домашней странице 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 .Этот плагин имеет свойство, управляющее версией PMD: toolVersion

Например, ваша конфигурация может быть настроена так:

pmd {
  ignoreFailures = false
  sourceSets = [sourceSets.main]
  reportsDir = file("$project.buildDir/reports/pmd")
  ruleSets = [],
  ruleSetFiles = files("pmd-rules.xml")
  toolVersion = "6.12.0"
}
1 голос
/ 11 марта 2019

Что касается данного вопроса, вы должны задать авторам библиотек.Также вы можете взглянуть на данную библиотечную веб-ссылку для получения дополнительной информации об этом.

Обновление : в данном коде вы видите о создании набора правил, как указано здесь , поэтому вы должны проверить это где-то еще.

Например, Я только что проверил и указал здесь вы найдете необходимую информацию: перейдите по ссылке

The new version needs to be entered into _config.yml, e.g.:

pmd:
latestVersion: 6.0.0
latestVersionDate: 15th December 2017

_config

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...