У меня есть проект Maven, который я пытаюсь настроить для использования плагина релиза maven. Часть процесса выпуска состоит в том, чтобы использовать Maven GPG Plugin для подписи артефактов, который требует, среди прочего, ключевой фразы ключевого слова GPG для успеха. Поскольку эти сборки необходимо запускать в неинтерактивной среде (CI-Server), эти параметры передаются как аргументы maven в виде
-Dgpg.passphrase=XXX
Для создания моментальных снимков все работает нормально; Maven GPG Plugin видит переданную в кодовой фразе, артефакты строятся, подписываются и развертываются, как ожидалось, однако, когда я пытаюсь использовать плагин release, мне подсказывают пароль для подписи подписи gpg. Я прочитал несколько обсуждений по аналогичным вопросам, которые связаны с выпуском плагина, который разворачивает другой вызов maven, который не получает переданные в params. Наиболее популярным решением является использование параметра "arguments" следующим образом:
-Darguments="-Dgpg.passphrase=XXX"
Предположительно это передается в разветвленный экземпляр, но, к сожалению, для меня это не избавляет от подсказки.
Поскольку подписание артефактов не является необычным предварительным условием для развертывания артефактов выпуска в публичных репозиториях maven, и, по-видимому, большинство организаций, производящих эти артефакты, используют какую-то форму CI. Я не могу себе представить, что я единственный человек, столкнувшийся с этой проблемой. Кто-нибудь нашел обходное решение?
ПРИМЕЧАНИЕ ОБ ПРИНЯТОМ ОТВЕТ:
Принятое решение не будет работать с Maven 3.0 - 3.0.3 и 3.0.3, так что это происходит по умолчанию с установкой java на OSX Mountain Lion. Подробнее см. здесь. Вам нужно будет перейти на 3.0.4.