2012-05-30 6 views
2

Я использую zi и maven-release-plugin для создания файлов jar, которые я пытаюсь отправить в центральное репо maven. Одним из требований к включению в центральный репо является то, что в артефакте есть файл -javadoc.jar, содержащий сгенерированные javadocs. Если это невозможно, то require у вас есть пустой файл -javadoc.jar для прохождения автоматических тестов.Разверните дополнительные банки для репо с помощью maven-release-plugin

Я генерирую пустой файл jar с помощью exec-maven-plugin, и я помещаю его в нужное место, но его игнорирует maven-release-плагин. В результате он не подписывается моим ключом GPG и не развертывается в репо.

Возможно ли создать пустой файл javadoc jar с помощью плагина javadoc?

Если плагин javadoc не создает пустой файл jar, как мне получить плагин maven-release-плагин, чтобы распознать, подписать и развернуть файл jar, который генерируется моим сценарием оболочки?

Есть ли еще какой-то другой вариант, который я пропускаю?

ответ

1

Итак, я понял. Вместо того, чтобы создавать пустой файл jar через скрипт оболочки напрямую, вам нужно создать target/apidocs, используя плагин exec-maven-plugin как часть фазы компиляции.

<plugin> 
    <artifactId>exec-maven-plugin</artifactId> 
    <groupId>org.codehaus.mojo</groupId> 
    <executions> 
    <execution> 
     <id>Generate Empty Javadoc</id> 
     <phase>compile</phase> 
     <goals> 
     <goal>exec</goal> 
     </goals> 
     <configuration> 
     <executable>${basedir}/scripts/emtpy-apidocs.sh</executable> 
     <arguments> 
      <argument>${project.build.directory}/apidocs</argument> 
     </arguments> 
     </configuration> 
    </execution> 
    </executions> 
</plugin> 

Затем во время фазы упаковки вы используете плагин javadoc для создания банки. Получающаяся банка теперь будет поднята плагином выпуска.

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-javadoc-plugin</artifactId> 
    <version>2.8.1</version> 
    <executions> 
    <execution> 
     <id>attach-javadocs</id> 
     <goals> 
     <goal>jar</goal> 
     </goals> 
    </execution> 
    </executions> 
</plugin> 
1

Вы используете clojure, чтобы написать плагин maven или создать проект, написанный на Clojure?

Clojure-Maven является инструментом для написания Maven плагин с помощью Clojure:

Maven components to allow the use of clojure when writing maven plugins.

Если вы создаете проект в Clojure, то zi plugin, который был разработан для создания Clojure проектов, которые совместимы с центральным, может быть что вам нужно. Это написано тем же автором (Hugo Duncan).

+0

Вы правы насчет zi, я на самом деле использую его также, длинный день .. Вопрос обновлен. +1 для вас. – MrEvil

+0

hugo висит на #pallet на irc.freenode.net и очень отзывчив в исправлении/улучшении. –

2

Вам следует попытаться добавить источник банки с помощью build-helper-maven-plugin, который можно использовать при подключении артефактов к циклам.

Смежные вопросы