Maven Bundle Plugin

##### Overview

- Introduction
- Goals
- Wiki
- FAQ
- Release Notes

##### Project Documentation

- Project Information
- Project Reports

## bundle:wrap

Full name:

org.apache.felix:maven-bundle-plugin:2.5.0:wrap

This plugin goal has been deprecated:

The wrap goal is no longer supported and may be removed in a future release

Description:

Create OSGi bundles from the direct dependencies of the Maven project.

Attributes:

- Requires a Maven project to be executed.
- Requires dependency resolution of artifacts in scope: `test`.
- The goal is thread-safe and supports parallel builds.
- Binds by default to the lifecycle phase: `package`.

### Required Parameters

Name | Type | Since | Description
--- | --- | --- | ---
buildDirectory | `String` | `-` | The directory for the generated JAR. User property is: `project.build.directory`.
outputDirectory | `File` | `-` | The directory for the generated bundles. User property is: `project.build.outputDirectory`.

### Optional Parameters

Name | Type | Since | Description
--- | --- | --- | ---
archive | `MavenArchiveConfiguration` | `-` | The archive configuration to use.
classifier | `String` | `-` | Classifier type of the bundle to be installed. For example, "jdk14". Defaults to none which means this is the project's main bundle.
depth | `int` | `-` | Process up to some depth
dumpClasspath | `File` | `-` | File where the BND class-path will be dumped User property is: `dumpClasspath`.
dumpInstructions | `File` | `-` | File where the BND instructions will be dumped User property is: `dumpInstructions`.
excludeDependencies | `String` | `-` | Comma separated list of artifactIds to exclude from the dependency classpath passed to BND (use "true" to exclude everything) User property is: `excludeDependencies`.
finalName | `String` | `-` | Final name of the bundle (without classifier or extension) User property is: `project.build.finalName`.
ignoreMissingArtifacts | `boolean` | `-` | Ignore missing artifacts that are not required by current project but are required by the transitive dependencies.
instructions | `Map` | `-` | The BND instructions for the bundle.
manifestLocation | `File` | `-` | Directory where the manifest will be written Default value is: `${project.build.outputDirectory}/META-INF`. User property is: `manifestLocation`.
niceManifest | `boolean` | `-` | Output a nicely formatted manifest that still respects the 72 character line limit.
packaging | `String` | `-` | Packaging type of the bundle to be installed. For example, "jar". Defaults to none which means use the same packaging as the project.
rebuildBundle | `boolean` | `-` | When true, generate the manifest by rebuilding the full bundle in memory User property is: `rebuildBundle`.
supportedProjectTypes | `List` | `-` | Project types which this plugin supports.
unpackBundle | `boolean` | `-` | When true, unpack the bundle contents to the outputDirectory User property is: `unpackBundle`.
wrapImportPackage | `String` | `-` | Import-Package to be used when wrapping dependencies. Default value is: `*`. User property is: `wrapImportPackage`.

### Parameter Details

archive:

The archive configuration to use.

- Type: `org.apache.maven.archiver.MavenArchiveConfiguration`
- Required: `No`

buildDirectory:

The directory for the generated JAR.

- Type: `java.lang.String`
- Required: `Yes`
- User Property: `project.build.directory`

classifier:

Classifier type of the bundle to be installed. For example, "jdk14". Defaults to none which means this is the project's main bundle.

- Type: `java.lang.String`
- Required: `No`

depth:

Process up to some depth

- Type: `int`
- Required: `No`

dumpClasspath:

File where the BND class-path will be dumped

- Type: `java.io.File`
- Required: `No`
- User Property: `dumpClasspath`

dumpInstructions:

File where the BND instructions will be dumped

- Type: `java.io.File`
- Required: `No`
- User Property: `dumpInstructions`

excludeDependencies:

Comma separated list of artifactIds to exclude from the dependency classpath passed to BND (use "true" to exclude everything)

- Type: `java.lang.String`
- Required: `No`
- User Property: `excludeDependencies`

finalName:

Final name of the bundle (without classifier or extension)

- Type: `java.lang.String`
- Required: `No`
- User Property: `project.build.finalName`

ignoreMissingArtifacts:

Ignore missing artifacts that are not required by current project but are required by the transitive dependencies.

- Type: `boolean`
- Required: `No`

instructions:

The BND instructions for the bundle.

- Type: `java.util.Map`
- Required: `No`

manifestLocation:

Directory where the manifest will be written

- Type: `java.io.File`
- Required: `No`
- User Property: `manifestLocation`
- Default: `${project.build.outputDirectory}/META-INF`

niceManifest:

Output a nicely formatted manifest that still respects the 72 character line limit.

- Type: `boolean`
- Required: `No`

outputDirectory:

The directory for the generated bundles.

- Type: `java.io.File`
- Required: `Yes`
- User Property: `project.build.outputDirectory`

packaging:

Packaging type of the bundle to be installed. For example, "jar". Defaults to none which means use the same packaging as the project.

- Type: `java.lang.String`
- Required: `No`

rebuildBundle:

When true, generate the manifest by rebuilding the full bundle in memory

- Type: `boolean`
- Required: `No`
- User Property: `rebuildBundle`

supportedProjectTypes:

Project types which this plugin supports.

- Type: `java.util.List`
- Required: `No`

unpackBundle:

When true, unpack the bundle contents to the outputDirectory

- Type: `boolean`
- Required: `No`
- User Property: `unpackBundle`

wrapImportPackage:

Import-Package to be used when wrapping dependencies.

- Type: `java.lang.String`
- Required: `No`
- User Property: `wrapImportPackage`
- Default: `*`