Передайте параметр List-Parameter в Maven с помощью интерфейса командной строки (gpg:sign-and-deploy-file)

В настоящее время я застрял при развертывании одного файла в моем реестре Maven. Я использую эту цель для развертывания в файлы с помощью командной строки: https://maven.apache.org/plugins/maven-gpg-plugin/sign-and-deploy-file-mojo.html

Мне нужно передать 2 gpgArguments:

<gpgArguments>
    <arg>--pinentry-mode</arg>
    <arg>loopback</arg>
</gpgArguments>

В противном случае процесс подписания завершится неудачно, потому что я использую действия Github, и я получаю сообщение об ошибке, если они не установлены (gpg: ошибка подписи: неподходящий ioctl для устройства).
В MOJO плагина есть параметр "gpgArguments" который помечен как "Список".

Можно ли передать список параметров с помощью интерфейса командной строки? Я пробовал много чего, а также немного погуглил, и, похоже, ничего не помогло.

Моя текущая команда выглядит так, но она не интерпретирует gpgArguments:

mvn gpg:sign-and-deploy-file -DpomFile=java/pom.xml -Dfile=./executable/exe -Durl=https://oss.sonatype.org/content/repositories/snapshots -Dclassifier=linux -DrepositoryId=ossrh -Dpackaging=exe -DgpgArguments=--pinentry-mode,loopback

Если это невозможно, каковы мои альтернативы? Благодарность:)

1 ответ

Решение

Оказывается, у gpgArguments нет User Property, через которое вы можете пройти через CLI.

После долгих проб и ошибок я обнаружил хак, который на данный момент является единственным решением, которое я нашел... Хотя это не очень элегантно.

Я создал файл оболочки под названием "gpghack.sh", который содержит gpg --pinentry-mode loopback "$@".
Затем я добавил этот параметр к моей цели подписать и развернуть файл:-Dgpg.executable="./gpghack.shТеперь, когда GPG вызывается Maven, он будет использовать файл оболочки, который всегда добавляет нужные мне параметры.

Не очень красиво, но пока работает..

Другие вопросы по тегам