Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The plugin uses the <Embed-Dependency> instruction to transform the project dependencies into <Include-Resource> and <Bundle-ClassPath> clauses, which are then appended to the current set of instructions and passed onto BND. If you want the embedded dependencies to be at the start or middle of <Include-Resource> or <Bundle-ClassPath> then you can use {maven-dependencies}, which will automatically expand to the relevant clauses.

The MATCH section accepts alternatives, separated by |, and can be negated by using ! at the beginning of the MATCH. Use * to represent zero or more unknown characters and ? to represent a single unknown character. There is no need to escape the . character inside MATCH. The first MATCH in a clause will filter against the artifactId.

some examples:

Code Block
xml
xml

<!-- embed all compile and runtime scope dependencies -->
<Embed-Dependency>*;scope=compile|runtime</Embed-Dependency>

<Embed-Dependency>junit;<!-- embed any dependencies with artifactId junit and scope test -->
<Embed-Dependency>junit;scope=test</Embed-Dependency>

<!-- inline all dependencies, except those with scope test -->
<Embed-Dependency>aopallianceDependency>*;scope=!test;inline=true</Embed-Dependency>

<!-- embed all compile and runtime scope dependencies, except those with artifactIds in the given list -->
<Embed-Dependency>*;scope=compile|runtime;inline=false;artifactId=!cli|lang|runtime|tidy|jsch</Embed-Dependency>

examples of using {maven-dependencies}:

...