Развертывание пакета блока с плагином выпуска знатока

Мы используем Гудзон и плагин выпуска знатока, чтобы сделать сборки конечных версий. Теперь у меня есть проект, который содержит блок, который соединяет все необходимые компоненты и затем упаковывает их в .tar.gz пакет с желаемой структурой каталогов.

Теперь я пытаюсь заставить плагин выпуска развертывать этот пакет на нашем репозитории Знатока во время release:perform цели, но только стандартный материал (источники, javadoc, АНГЛИЧАНИН) развертывается.

Я уже связал цель блока с фазой пакета знатока, и .tar.gz получает сборку во время выпуска, но не загруженный на репозиторий. Какие-либо подсказки, что я делаю неправильно здесь?

Вот сменная блоком конфигурация:


    maven-assembly-plugin
    2.2-beta-4
    
      
        src/main/assembly/distribution.xml
      
      ${pom.artifactId}-${pom.version}
      false
      warn
    
    
        
            dist-assembly
            package
            
                assembly
            
        
    

Команда, которую я выполняю для создания выпуска,

mvn release:prepare release:perform release:clean

23
задан Bastian Spanneberg 11 February 2010 в 15:48
поделиться

2 ответа

Тем временем я нашел 2 способа сделать то, что я хотел.

maven-build-helper-plugin позволяет добавлять дополнительные записи в список артефактов, которые должны быть развернуты:

    <plugin>
         <groupId>org.codehaus.mojo</groupId>
         <artifactId>build-helper-maven-plugin</artifactId>
         <version>1.3</version>
         <executions>
           <execution>
             <id>attach-distribution</id>
             <phase>package</phase>
             <goals>
               <goal>attach-artifact</goal>
             </goals>
             <configuration>
               <artifacts>
                 <artifact>
                   <file>target/${pom.artifactId}-${pom.version}.tar.gz</file>
                   <type>tar.gz</type>
                 </artifact>
               </artifacts>
             </configuration>
           </execution>
         </executions>
       </plugin>

Другой настолько прост, насколько возможно, и кто-то из списка рассылки maven-user указал на это. Просто используйте сборку: одна цель вместо сборки: сборка. Таким образом, созданный артефакт загружается в репозиторий на этапе развертывания.

    <execution>
        <id>dist-assembly</id>
        <phase>package</phase>
        <goals>
            <goal>single</goal> <!-- that's all :) -->
        </goals>
    </execution>
34
ответ дан 29 November 2019 в 02:22
поделиться

Развертывание файлов не является частью плагина выпуска, а является частью плагина развертывания (релиз сам по себе не развертывает ничего, но вы можете настроить плагин развертывания для вызова во время выпуска. ).

Обычно плагин развертывания развертывает все артефакты в удаленном репозитории, но сборки не являются артефактами; Maven никоим образом не может использовать архивы .tar.gz в своем репозитории, поэтому нет смысла развертывать их в первую очередь.

Если вы настаиваете на копировании бесполезных файлов в репозиторий, вы должны использовать deploy: deploy-file ( см. Документацию ), чтобы развернуть файл вручную и настроить плагин с выполнение, чтобы вызвать его на этапе выпуска. Но я все же не советую.

То, что вы, вероятно, ищете, - это способ автоматически загрузить куда-нибудь сборку. Я не знаю плагина, который бы это делал.

1
ответ дан 29 November 2019 в 02:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: