bundle:bundle

Full name:

org.apache.felix:maven-bundle-plugin:4.2.1:bundle

Description:

Create an OSGi bundle from 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.

Optional Parameters

Name Type Since Description
archive MavenArchiveConfiguration - The archive configuration to use.
buildDirectory String - The directory for the generated JAR.
Default value is: ${project.build.directory}.
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.
createDependencyReducedPom boolean - If true, remove any inlined or embedded dependencies from the resulting pom.
dependencyReducedPomLocation File - Where to put the dependency reduced pom. Note: setting a value for this parameter with a directory other than ${basedir} will change the value of ${basedir} for all executions that come after the shade execution. This is often not what you want. This is considered an open issue with this plugin.
Default value is: ${basedir}/dependency-reduced-pom.xml.
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.
exportScr boolean - When true, dump the generated SCR files
finalName String - Final name of the bundle (without classifier or extension)
Default value is: ${project.build.finalName}.
instructions Map - The BND instructions for the bundle. Maven will expand property macros in these values. If you want to use a BND macro, you must double the dollar sign for the plugin to pass it to BND correctly. For example:
<_consumer-policy>$${range;[===,+)}</_consumer-policy>
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.
Default value is: false.
User property is: niceManifest.
noWarningProjectTypes List - Project types which are not supported, but silently ignored.
outputDirectory File - The directory for the generated bundles.
Default value is: ${project.build.outputDirectory}.
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.
scrLocation File - Directory where the SCR files will be written
Default value is: ${project.build.outputDirectory}.
supportedProjectTypes List - Project types which this plugin supports.
unpackBundle boolean - When true, unpack the bundle contents to the outputDirectory
User property is: unpackBundle.

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: No
  • Default: ${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

createDependencyReducedPom:

If true, remove any inlined or embedded dependencies from the resulting pom.
  • Type: boolean
  • Required: No

dependencyReducedPomLocation:

Where to put the dependency reduced pom. Note: setting a value for this parameter with a directory other than ${basedir} will change the value of ${basedir} for all executions that come after the shade execution. This is often not what you want. This is considered an open issue with this plugin.
  • Type: java.io.File
  • Required: No
  • Default: ${basedir}/dependency-reduced-pom.xml

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

exportScr:

When true, dump the generated SCR files
  • Type: boolean
  • Required: No

finalName:

Final name of the bundle (without classifier or extension)
  • Type: java.lang.String
  • Required: No
  • Default: ${project.build.finalName}

instructions:

The BND instructions for the bundle. Maven will expand property macros in these values. If you want to use a BND macro, you must double the dollar sign for the plugin to pass it to BND correctly. For example:
<_consumer-policy>$${range;[===,+)}</_consumer-policy>
  • 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
  • User Property: niceManifest
  • Default: false

noWarningProjectTypes:

Project types which are not supported, but silently ignored.
  • Type: java.util.List
  • Required: No

outputDirectory:

The directory for the generated bundles.
  • Type: java.io.File
  • Required: No
  • Default: ${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

scrLocation:

Directory where the SCR files will be written
  • Type: java.io.File
  • Required: No
  • Default: ${project.build.outputDirectory}

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