Настройка developerConnection для подключаемого модуля Maven из командной строки - PullRequest
0 голосов
/ 05 декабря 2018

Я сейчас пытаюсь настроить плагин Maven Release для нашего сервера сборки.

Для этого я пытаюсь установить <scm><developerConnection> через командную строку.Я прочитал, что

project.scm.developerConnection

является свойством командной строки (https://maven.apache.org/guides/mini/guide-releasing.html). Я пытался установить его, но, похоже, это не дает никакого эффекта. Когда я запускаю сборку, он использует созданный URL (родительскийpom url + artifactId), который не работает.

Я посмотрел исходный код плагина, но не нашел упомянутое выше свойство командной строки.

Кто-нибудь может пролить свет на это?

Ответы [ 2 ]

0 голосов
/ 18 января 2019

Похоже, что вы не можете передать это свойство напрямую из командной строки.См .:

https://issues.apache.org/jira/browse/MRELEASE-707

Но вы должны заставить его работать, указав его через пользовательское свойство в вашем pom.xml:

<properties>
    <my.developer.connection />
</properties>

<scm>
    <developerConnection>${my.developer.connection}</developerConnection>
    <tag>HEAD</tag>
</scm>

И запустив maven с помощью,например:

-Dmy.developer.connection=scm:git:ssh://user@host/repo.git

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

0 голосов
/ 05 декабря 2018

Когда вы запускаете mvn release:prepare, Maven разветвляется.Аргументы, предоставленные в командной строке, передаются начальному вызову Maven (тот, который был запущен вами / сервером сборки), а не разветвлению.

Чтобы передать аргументы плагину релиза, укажите аргументы , как показано:

mvn release:prepare -Darguments="-Dproject.scm.developerConnection=..." ...

В зависимости от того, что я пытаюсь сделать, иногда у меняуказывать в двух местах, чтобы как исходные, так и разветвленные процессы получали аргументы:

mvn release:prepare -DsomeArg=val -Darguments="-DsomeArg=val" ...

В первом примере в FAQ по плагину релиза показан пример, где последний полезен.

---- Обновление ----

Я нашел свойство в коде maven-scm-plugin .

SCM ValidateMojo.scmDeveloperConnection

Может быть project.scm.developerConnection только для чтения?Попробуйте вместо этого установить scmDeveloperConnection, так как оно указано в качестве имени свойства.

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