2

Есть ли способ, чтобы создать агрегат Javadocs для многомодульного проекта реактора Maven в задании Дженкинса с использованием плагина Maven Release Plugin?Агрегат Javadocs и Maven Release Plugin на Jenkins

Моя проблема в том, что после того, как maven-release-plugin обновил все версии POM, следующая сборка будет ломаться, так как javadoc:aggregate сбой на реакторе POM, учитывая, что ссылочные версии артефактов модуля еще не существуют.

Мое обходное решение заключается в том, чтобы запустить сборку один раз с отключенным maven-javadoc-plugin с использованием профиля. Затем, после повторного включения maven-javadoc-plugin, следующая сборка пройдет.

Это скорее хак, и мне интересно, если я просто отсутствует что-нибудь простое ...

Вот моя maven-javadoc-plugin конфигурация из реактора РОМ:

<profile> 
     <id>javadoc</id> 
     <build> 
      <plugins> 
       <plugin> 
        <groupId>org.apache.maven.plugins</groupId> 
        <artifactId>maven-javadoc-plugin</artifactId> 
        <executions> 
         <execution> 
          <id>aggregate-javadoc</id> 
          <phase>post-integration-test</phase> 
          <goals> 
           <goal>aggregate</goal> 
          </goals> 
         </execution> 
        </executions> 
        <inherited>false</inherited> 
       </plugin> 
      </plugins> 
     </build> 
    </profile> 

ответ

0

Я просто облицовочный же и после небольшого разговора с ним выяснилось, что вместо этого цель aggregate-jar работает просто отлично (она генерирует базовый агрегированный javadoc и, кроме того, файл jar, но последний может быть отброшен).

Я думаю, что это причина различных фаз жизненного цикла по умолчанию, к которому привязано выполнению цели и дополнительное выполнение generate-sources фазы в случае aggregate фазы:

  • javadoc:aggregate: Запускает выполнение фазы жизненного цикла generate-sources перед выполнением.

  • javadoc:aggregate-jar: Персональный по умолчанию к фазе жизненного цикла: package.

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