Объявите ресурс, включенный maven-bundle-plugin, как необязательный - PullRequest
0 голосов
/ 31 января 2019

У меня есть многомодульная сборка, создающая несколько артефактов с типом пакета "bundle".

Некоторые из них создают некоторую информацию в каталоге META-INF во время компиляции, некоторые нет.

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

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

  • Существует много, и
  • , возможно, другие создадут каталог META-INF в будущем, и это потребует от будущих разработчиков знать, что они должны добавить этот каталог в качестве ресурса сейчас.

Возможно ли как-то сделать эту инструкцию "include-resource" необязательной, то есть она игнорирует этот ресурс, если он отсутствует?

<plugin>
    <groupId>org.apache.felix</groupId>
    <artifactId>maven-bundle-plugin</artifactId>
    <version>3.5.0</version>
    <configuration>
        <instructions>
            <Include-Resource>META-INF=${project.build.outputDirectory}/META-INF</Include-Resource>
        </instructions>
    </configuration>
</plugin>

1 Ответ

0 голосов
/ 01 февраля 2019

Достаточно добавить префикс шаблона ресурса к -, например:

<Include-Resource>-META-INF=${project.build.outputDirectory}/META-INF</Include-Resource>

Документация здесь .

...