Почему maven-release-plugin загружает информацию о сборке? И можно ли ее удалить?

#maven #maven-release-plugin

#maven #maven-release-plugin

Вопрос:

При использовании maven-release-plugin для выпуска артефакта в репозиторий копируется весь pom. Сюда входят разделы сборка и отчетность.

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

Возможно ли создать релиз, лишенный этой информации?

Комментарии:

1. Вы имеете в виду артефакты, отличные от Java?

2. Я имею в виду не-pom. Для артефактов pom это имеет смысл, поскольку они используются для настройки других артефактов. Для артефактов Java это не имеет смысла, поскольку они не используются повторно.

Ответ №1:

Используйте flatten-maven-plugin

https://www.mojohaus.org/flatten-maven-plugin/

Я скопировал соответствующую конфигурацию плагина с веб-сайта выше.

  <plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>flatten-maven-plugin</artifactId>
    <!--<version>1.1.0</version>-->
    <configuration>
    </configuration>
    <executions>
      <!-- enable flattening -->
      <execution>
        <id>flatten</id>
        <phase>process-resources</phase>
        <goals>
          <goal>flatten</goal>
        </goals>
      </execution>
      <!-- ensure proper cleanup -->
      <execution>
        <id>flatten.clean</id>
        <phase>clean</phase>
        <goals>
          <goal>clean</goal>
        </goals>
      </execution>
    </executions>
  </plugin>
  

Я очищаю POM от всей ненужной информации.

Комментарии:

1. Superbe! Это именно то, что я искал!