Передайте параметр 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, он будет использовать файл оболочки, который всегда добавляет нужные мне параметры.
Не очень красиво, но пока работает..