Как предоставить мой файл "rules.xml" в аргументе -DrulesUri для версий maven: update-properties без необходимости указывать его в файле pom.xml? - PullRequest
0 голосов
/ 05 января 2019

Я использую цель update-properties плагина Maven Versions для обновления свойств в pom.xml нескольких проектов. (https://www.mojohaus.org/versions-maven-plugin/update-properties-mojo.html). Я хочу последнюю версию зависимости для свойств.

Теперь есть несколько двоичных файлов с неправильными версиями. Я хочу, чтобы мой код игнорировал эти версии. Для этого я создал свой файл "rules.xml". Я хочу предоставить его в качестве аргумента -DrulesUri для цели update-properties.

Я уже пытался указать этот файл rules.xml в файле проекта pom.xml, как показано на ( Плагин версий Maven: ссылка на файл rule.xml из зависимости maven? ). Это работало, так как плагин мог успешно игнорировать указанные версии в rules.xml. Таким образом, с файлом rules.xml проблем нет. Но в моем случае это бесполезно, так как в нем участвует много проектов, и я не могу обновить pom.xml каждого проекта.

В документации к свойству rulesUri сказано "URI файла ruleSet, содержащего правила, управляющие тем, как сравнивать номера версий. URI может быть либо URI Wagon, либо URI classpath (например, classpath: /// package / sub / package /rules.xml) «. Эта большая документация мне не помогает. Я хотел бы получить пример того, как указать файл rules.xml в аргументе -DrulesUri. Я попытался указать файл rules.xml как локальный относительный путь / абсолютный путь. Но цель update-properties, похоже, не распознает правила, а просто действует аналогично выполнению без аргумента -DrulesUri. Я попытался прочитать https://maven.apache.org/wagon/, чтобы понять WRI URI. Но я не нашел простого способа загрузить свой файл rules.xml и затем использовать этот URI-код Wagon для указания в -DrulesUri.

Это мой файл rules.xml: -

<?xml version="1.0" encoding="UTF-8"?>
<ruleset xmlns="http://mojo.codehaus.org/versions-maven-plugin/rule/2.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" comparisonMethod="maven" xsi:schemaLocation="http://mojo.codehaus.org/versions-maven-plugin/rule/2.0.0 http://mojo.codehaus.org/versions-maven-plugin/xsd/rule-2.0.0.xsd">
    <ignoreVersions>
        <ignoreVersion type="regex">25243.*.*</ignoreVersion>
    </ignoreVersions>
    <rules>
    </rules>
</ruleset>

1 Ответ

0 голосов
/ 24 июня 2019

Согласно Исходный код - пример:

mvn -Dmaven.version.rules=file:///$HOME/.m2/rules.xml versions:display-dependency-updates
...