Как настроить проект Maven для создания файлов сигнатур - PullRequest
0 голосов
/ 10 марта 2020

Я поддерживаю небольшой Java компонент, опубликованный в Maven Central. Чтобы успешно опубликовать sh артефакт, для всех артефактов требуются файлы сигнатур pgp / gpg. Следуя указаниям здесь: https://central.sonatype.org/pages/apache-maven.html#gpg -signed-components , я могу добавить этот плагин к своему пом. xml вот так без проблем.

 <build>
   <plugins>
     <plugin>
       <groupId>org.apache.maven.plugins</groupId>
       <artifactId>maven-gpg-plugin</artifactId>
       ...

и я прикрепляю его к этап проверки или установки. Теперь, когда я запускаю: "mvn install" или "mvn deploy", файлы .as c генерируются автоматически по желанию. Примечание: вам также нужно установить и настроить ваш pgp / gpg механизм для правильной работы.

Это нормально для меня, как сопровождающего артефакта, но если кто-то еще хочет клонировать мой исходный код, измените его , а затем запустите mvn install, чтобы они могли сделать локально модифицированную версию компонента доступной для других своих проектов, им также необходимо правильно настроить все эти механизмы pgp / gpg, что может быть проблемой. И им, вероятно, наплевать на наличие файлов подписи.

Мой вопрос: есть ли рекомендуемая настройка pom, чтобы сопровождающий компонента мог генерировать файлы подписи .as c, когда это необходимо для развертывания (например, в Maven Central), но нормальное использование команд Maven не требует генерации подписи?

Я полагаю, я мог бы использовать профиль в моем pom для обработки этого. Я нашел решение, которое довольно просто. Вместо того, чтобы добавить maven-gpg-plugin в мой pom, я понял, что могу просто сделать это:

mvn clean install org. apache .maven.plugins: maven-gpg-plugin: sign deploy

Это очищает все, создает и устанавливает все артефакты локально, подписывает все сгенерированные артефакты, а затем развертывает все сгенерированные артефакты, включая файлы сигнатур, на цели развертывания.

Это точно делает что я хочу в 1 строке без модификации пом, что довольно круто. Но есть ли другие «лучшие» способы? В любом случае, я подумал, что размещение этого способа может быть полезным для других.

...