Избегайте прикрепления артефакта Maven, когда файла нет - PullRequest
0 голосов
/ 24 января 2020

Я использую плагин Build Helper Maven, чтобы прикрепить SQL изменения как артефакт развертывания, но плагин падает, когда отсутствует дополнительный артефакт.

Не удалось установить artifact org.test.app1: app1: sql: 1.2.1: app1 / src / main / database-source / 1.2.1 / dba. sql (нет такого файла или каталога) -> [Help 1]

Файл SQL присутствует в большинстве версий приложения, но не во всех из них, поскольку второстепенные версии приложения могут не включать SQL изменения. Структура каталогов для файлов SQL включает их версии отдельно, как показано ниже:

src/
  main/
    database-source/
      1.0.0/
        dba.sql
      1.2.0/
        dba.sql
      1.2.1/
        -- no "dba.sql" file here since there aren't SQL changes in this version
      1.3.0/
        dba.sql

Используемая мной конфигурация плагина Build Helper:

<plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>build-helper-maven-plugin</artifactId>
  <version>3.0.0</version>
  <executions>
    <execution>
      <id>attach-artifacts</id>
      <phase>package</phase>
      <goals>
        <goal>attach-artifact</goal>
      </goals>
      <configuration>
        <artifacts>
          <artifact>
            <file>src/main/database-source/${project.version}/dba.sql</file>
            <type>sql</type>
          </artifact>
        </artifacts>
      </configuration>
    </execution>
  </executions>
</plugin>

Я читал о <skipAttach> тег, но не понимаю, как его использовать.

Как я могу молча пропустить дополнительный артефакт, когда файл отсутствует (как в версии 1.2.1 выше)?

...