bundle:manifest

Full name:

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

Description:

Generate an OSGi manifest for this 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: process-classes.

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.
rebuildBundle boolean - When true, generate the manifest by rebuilding the full bundle in memory
User property is: rebuildBundle.
scrLocation File - Directory where the SCR files will be written
Default value is: ${project.build.outputDirectory}.
supportIncrementalBuild boolean - When true, manifest generation on incremental builds is supported in IDEs like Eclipse. Please note that the underlying BND library does not support incremental build, which means always the whole manifest and SCR metadata is generated.
User property is: supportIncrementalBuild.
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

rebuildBundle:

When true, generate the manifest by rebuilding the full bundle in memory
  • Type: boolean
  • Required: No
  • User Property: rebuildBundle

scrLocation:

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

supportIncrementalBuild:

When true, manifest generation on incremental builds is supported in IDEs like Eclipse. Please note that the underlying BND library does not support incremental build, which means always the whole manifest and SCR metadata is generated.
  • Type: boolean
  • Required: No
  • User Property: supportIncrementalBuild

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