Как явно сохранить банки с поддержкой cobertura в моем репозитории Maven? - PullRequest
1 голос
/ 02 марта 2012

Таким образом, у нас есть постоянная интеграция в Jenkins наших сборок maven. У нас есть несколько сборок модулей, которые упакованы вместе в сборку сборки. Сборка сборки является зависимостью от нашей сборки интеграционных тестов, которая устанавливает полный пакет, запускает его, запускает тесты и завершает работу. У нас есть ночные отчеты о кобертуре, работающие на модульных тестах, но теперь нам нужны ночные отчеты о кобертуре из интеграционных тестов. Я доволен нашей возможностью настраивать индивидуальные сборки для отчетов о кобертуре, используя cobertura-maven-plugin .

Проблема в том, что я не хочу делать это все время, так как мне дифференцировать эту банку в репозитории maven? Есть ли способ использовать descriptorRef (например, jar-with-dependencies), чтобы получить его в том же хранилище maven, но с немного другими координатами? Тогда следующий вопрос, конечно, заключается в том, как получить сборку сборки с другими координатами? Конечно, это, вероятно, тот же или похожий ответ.

Ответы [ 2 ]

0 голосов
/ 06 марта 2012

Я не очень хороший парень, но я думаю, что вы можете развернуть этот artfifact специально (я использую ivy и у меня есть специальная конфигурация развертывания для инструментальных jar-файлов):

Посмотрите на классификаторы:

Развертывание артефакта с классификатором

Классификаторы - это дополнительный текст для описания артефакта.

artifact-name-1.0-bin.jar artifact-name-1.0-dev.jar
artifact-name-1.0-prod.jar

Из приведенных выше имен артефактов классификаторы могут быть расположены между версия и расширение имени артефакта.

bin используется для описания того, что артефакт является двоичным.
dev используется для описания того, что артефакт предназначен для разработки.
prod используется для описания того, что артефакт предназначен для производства.

Чтобы добавить классификатор в артефакт для вашего развертывания, установите текст к параметру классификатора.

mvn deploy:deploy-file -Durl=file:///C:/m2-repo \
                       -DrepositoryId=some.id \
                       -Dfile=path-to-your-artifact-jar \
                       -DpomFile=path-to-your-pom.xml \
                       -Dclassifier=bin

https://maven.apache.org/plugins/maven-deploy-plugin/examples/deploying-with-classifiers.html

0 голосов
/ 02 марта 2012

Я не правильно понял, но если вы хотите снова и снова использовать вашу агрегированную банку, вы можете использовать плагин установки?

Давайте сделаем четкие шаги,

  • Соберите свойfile
  • Установите его в свой локальный репозиторий
  • Используйте этот файл

Чтобы сделать это, вы должны использовать плагин установки с целью установки файла после фазы вы агрегируете свой файл.

 <plugin>
   <groupId>org.apache.maven.plugins</groupId>
   <artifactId>maven-install-plugin</artifactId>
   <version>2.3.1</version>
   <executions>
      <execution>
         <phase>anyphase</phase>
         <goals><goal>install-file</goal></goals>
         <configuration>
            <groupId>mygroup</groupId>
            <artifactId>myartifact</artifactId>
            <version>${project.version}</version>
            <packaging>pom</packaging>
         </configuration>
      </execution>
   </executions>
</plugin>

Затем просто ссылайте свой кувшин куда угодно, с необходимыми координатами.

...